main.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. use GameClient;
  3. class ProgramMain {
  4. private static ?GameClient $client = null;
  5. private static function getClient(): GameClient {
  6. if (self::$client === null) {
  7. self::$client = new GameClient();
  8. echo "客户端初始化完成\n";
  9. }
  10. return self::$client;
  11. }
  12. public static function handleCommand(array $args): void {
  13. $client = self::getClient();
  14. if (count($args) < 2) {
  15. echo "使用方法: php client.php [命令] [参数...]\n";
  16. echo "可用命令:\n";
  17. echo " login [账号] [密码] - 登录游戏\n";
  18. echo " start - 启动客户端\n";
  19. return;
  20. }
  21. $command = $args[1];
  22. switch ($command) {
  23. case 'login':
  24. if (count($args) < 4) {
  25. echo "错误:login命令需要账号和密码参数\n";
  26. echo "示例: php client.php login myaccount mypassword\n";
  27. return;
  28. }
  29. $account = $args[2];
  30. $password = $args[3];
  31. $client->login($account, $password);
  32. break;
  33. case 'start':
  34. $client->start();
  35. break;
  36. default:
  37. echo "未知命令: $command\n";
  38. }
  39. }
  40. }
  41. // 命令行执行
  42. if (php_sapi_name() === 'cli') {
  43. ProgramMain::handleCommand($argv);
  44. }