yii 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. #!/usr/bin/env php
  2. <?php
  3. /**
  4. * Yii console bootstrap file.
  5. *
  6. * @link http://www.yiiframework.com/
  7. * @copyright Copyright (c) 2008 Yii Software LLC
  8. * @license http://www.yiiframework.com/license/
  9. */
  10. error_reporting(E_ALL & ~E_NOTICE & ~E_COMPILE_WARNING ); //除去 E_NOTICE E_COMPILE_WARNING 之外的所有错误信息
  11. defined('YII_DEBUG') or define('YII_DEBUG', true);
  12. // 由于脚本是后台跑,不会暴露出来错误,因此prod也可以使用dev的方式。
  13. defined('YII_ENV') or define('YII_ENV', 'dev');
  14. defined('FEC_APP') or define('FEC_APP', 'console');
  15. require(__DIR__ . '/vendor/autoload.php');
  16. #require(__DIR__ . '/vendor/yiisoft/yii2/Yii.php');
  17. require(__DIR__ . '/vendor/fancyecommerce/fecshop/yii/Yii.php');
  18. require(__DIR__ . '/common/config/bootstrap.php');
  19. require(__DIR__ . '/console/config/bootstrap.php');
  20. $config = yii\helpers\ArrayHelper::merge(
  21. require(__DIR__ . '/common/config/main.php'),
  22. require(__DIR__ . '/common/config/main-local.php'),
  23. require(__DIR__ . '/console/config/main.php'),
  24. require(__DIR__ . '/console/config/main-local.php'),
  25. # fecshop 公用配置
  26. require(__DIR__ . '/vendor/fancyecommerce/fecshop/config/fecshop.php'),
  27. # fecshop 入口配置
  28. require(__DIR__ . '/vendor/fancyecommerce/fecshop/app/console/config/console.php'),
  29. # 第三方 公用配置
  30. require(__DIR__ . '/common/config/fecshop_third.php'),
  31. # 第三方 入口配置
  32. require(__DIR__ . '/console/config/fecshop_third.php'),
  33. # 本地 公用配置
  34. require(__DIR__ . '/common/config/fecshop_local.php'),
  35. # 本地 入口配置
  36. require(__DIR__ . '/console/config/fecshop_local.php')
  37. );
  38. /**
  39. * yii class Map Custom
  40. */
  41. $yiiClassMap = yii\helpers\ArrayHelper::merge(
  42. require(__DIR__ . '/console/config/YiiClassMap.php'),
  43. require(__DIR__ . '/common/config/YiiClassMap.php')
  44. );
  45. if(is_array($yiiClassMap) && !empty($yiiClassMap)){
  46. foreach($yiiClassMap as $namespace => $filePath){
  47. Yii::$classMap[$namespace] = $filePath;
  48. }
  49. }
  50. /**
  51. * Yii 重写block controller model等
  52. * 也就是说:除了compoent 和services,其他的用RewriteMap的方式来实现重写
  53. * 重写的类可以集成被重写的类
  54. */
  55. $yiiRewriteMap = yii\helpers\ArrayHelper::merge(
  56. require(__DIR__ . '/console/config/YiiRewriteMap.php'),
  57. require(__DIR__ . '/common/config/YiiRewriteMap.php')
  58. );
  59. if(is_array($yiiRewriteMap) && !empty($yiiRewriteMap)){
  60. Yii::$rewriteMap = $yiiRewriteMap;
  61. }
  62. /**
  63. * 添加fecshop的服务 ,Yii::$service , 将services的配置添加到这个对象。
  64. * 使用方法:Yii::$service->cms->article;
  65. * 上面的例子就是获取cms服务的子服务article。
  66. */
  67. new fecshop\services\Application($config['services']);
  68. unset($config['services']);
  69. $application = new yii\console\Application($config);
  70. $exitCode = $application->run();
  71. exit($exitCode);