is_file(dirname(__DIR__) . '/upgrade_huifu_onboard.sql'), 'HuifuOnboardService' => is_file(dirname(__DIR__) . '/library/onboard/HuifuOnboardService.php'), 'Onboard controller' => is_file(dirname(__DIR__) . '/controller/Onboard.php'), 'CommissionApplyHook' => is_file(dirname(__DIR__) . '/listener/CommissionApplyHook.php'), 'RegionalAgentApplyHook' => is_file(dirname(__DIR__) . '/listener/RegionalAgentApplyHook.php'), 'OnboardPoll command' => is_file(dirname(__DIR__) . '/command/OnboardPoll.php'), ]; $failed = 0; foreach ($checks as $name => $ok) { echo ($ok ? '[OK] ' : '[FAIL] ') . $name . PHP_EOL; if (!$ok) { $failed++; } } $classes = [ 'addons\\shopro_huifu\\library\\onboard\\HuifuOnboardValidator', 'addons\\shopro_huifu\\library\\onboard\\HuifuOnboardGate', 'addons\\shopro_huifu\\model\\Onboard', ]; foreach ($classes as $class) { if (class_exists($class)) { echo '[OK] class ' . $class . PHP_EOL; } else { echo '[WARN] class not autoloaded yet: ' . $class . PHP_EOL; } } try { $normalized = \addons\shopro_huifu\library\onboard\HuifuOnboardValidator::normalize([ 'name' => '张三', 'cert_no' => '110101199001011234', 'cert_validity_type' => '1', 'cert_begin_date' => '2020-01-01', 'mobile_no' => '13800138000', 'card_no' => '6222021234567890', 'card_name' => '张三', 'branch_code' => '105305264815', 'prov_id' => '310000', 'area_id' => '310100', 'id_card_front_url' => '/a.jpg', 'id_card_back_url' => '/b.jpg', ]); echo '[OK] validator normalize cert_begin_date=' . $normalized['cert_begin_date'] . PHP_EOL; } catch (\Throwable $e) { echo '[FAIL] validator: ' . $e->getMessage() . PHP_EOL; $failed++; } exit($failed > 0 ? 1 : 0);