index.php 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <?php
  2. error_reporting(E_ALL & ~E_NOTICE & ~E_COMPILE_WARNING ); //除去 E_NOTICE E_COMPILE_WARNING 之外的所有错误信息
  3. //ini_set('session.cookie_domain', '.fancyecommerce.com'); //初始化域名,
  4. $http = ($_SERVER['SERVER_PORT'] == 443) ? 'https' : 'http';
  5. $homeUrl = $http.'://'.$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['SCRIPT_NAME']), '\\/');
  6. /**
  7. * fecshop 使用合并配置(config)数组进行加速,true 代表打开。
  8. * 打开配置加速开关前,您需要执行 http://domain/index-merge-config.php 进行生成单文件配置数组。
  9. * 注意:打开后,当您修改了配置,都需要访问一次上面的链接,重新生成单文件配置数组,否则修改的配置不会生效
  10. * 建议:本地开发环境关闭,开发环境如果访问量不大,关闭也行,如果访问量大,建议打开
  11. *
  12. */
  13. $use_merge_config_file = false;
  14. defined('YII_DEBUG') or define('YII_DEBUG', true);
  15. defined('YII_ENV') or define('YII_ENV', 'dev');
  16. defined('FEC_APP') or define('FEC_APP', 'apphtml5');
  17. require(__DIR__ . '/../../vendor/autoload.php');
  18. require(__DIR__ . '/../../vendor/fancyecommerce/fecshop/yii/Yii.php');
  19. require(__DIR__ . '/../../common/config/bootstrap.php');
  20. require(__DIR__ . '/../config/bootstrap.php');
  21. if($use_merge_config_file){
  22. $config = require('../merge_config.php');
  23. }else{
  24. $config = yii\helpers\ArrayHelper::merge(
  25. require(__DIR__ . '/../../common/config/main.php'),
  26. require(__DIR__ . '/../../common/config/main-local.php'),
  27. require(__DIR__ . '/../config/main.php'),
  28. require(__DIR__ . '/../config/main-local.php'),
  29. # fecshop 公用配置
  30. require(__DIR__ . '/../../vendor/fancyecommerce/fecshop/config/fecshop.php'),
  31. # fecshop 入口配置
  32. require(__DIR__ . '/../../vendor/fancyecommerce/fecshop/app/apphtml5/config/apphtml5.php'),
  33. # thrid part confing
  34. # 第三方 公用配置
  35. require(__DIR__ . '/../../common/config/fecshop_third.php'),
  36. # 第三方 入口配置
  37. require(__DIR__ . '/../config/fecshop_third.php'),
  38. # 本地 公用配置
  39. require(__DIR__ . '/../../common/config/fecshop_local.php'),
  40. # 本地 入口配置
  41. require(__DIR__ . '/../config/fecshop_local.php')
  42. );
  43. }
  44. $config['homeUrl'] = $homeUrl;
  45. /**
  46. * yii class Map Custom
  47. */
  48. $yiiClassMap = yii\helpers\ArrayHelper::merge(
  49. require(__DIR__ . '/../config/YiiClassMap.php'),
  50. require(__DIR__ . '/../../common/config/YiiClassMap.php')
  51. );
  52. if(is_array($yiiClassMap) && !empty($yiiClassMap)){
  53. foreach($yiiClassMap as $namespace => $filePath){
  54. Yii::$classMap[$namespace] = $filePath;
  55. }
  56. }
  57. /**
  58. * Yii 重写block controller model等
  59. * 也就是说:除了compoent 和services,其他的用RewriteMap的方式来实现重写
  60. * 重写的类可以集成被重写的类
  61. */
  62. $yiiRewriteMap = yii\helpers\ArrayHelper::merge(
  63. require(__DIR__ . '/../config/YiiRewriteMap.php'),
  64. require(__DIR__ . '/../../common/config/YiiRewriteMap.php')
  65. );
  66. if(is_array($yiiRewriteMap) && !empty($yiiRewriteMap)){
  67. Yii::$rewriteMap = $yiiRewriteMap;
  68. }
  69. /**
  70. * 添加fecshop的服务 ,Yii::$service , 将services的配置添加到这个对象。
  71. * 使用方法:Yii::$service->cms->article;
  72. * 上面的例子就是获取cms服务的子服务article。
  73. */
  74. new fecshop\services\Application($config['services']);
  75. unset($config['services']);
  76. $application = new yii\web\Application($config);
  77. $application->run();