相关疑难解决方法(0)

Yii2环境文件夹的重点

我正在努力工作环境文件夹的重点.

最初我有一个想法,你可以将网络服务器指向文件夹中的不同devprod文件environment夹,但在读了一下之后我意识到情况并非如此.

在Yii 1中你只需要多个即可解决这个问题index.php:

  • index.php
  • index-local.php

那么问题是这个新的环境结构实际上给我带来的好处是什么?

php yii yii2

10
推荐指数
1
解决办法
7123
查看次数

我在哪里将全局变量放在Yii2中类似于YII_DEBUG和YII_ENV

我正在建立一个名为"市场"的"子域名"网站.所以网址将是marketplace.sample.com.我正在使用Yii2高级应用程序,我将以下代码添加到位于前端/ web的index.php中.

defined('MARKETPLACE') or define('MARKETPLACE', preg_match('/^marketplace/', $_SERVER['HTTP_HOST']) === 1 ? true : false);
Run Code Online (Sandbox Code Playgroud)

这适用于我的环境,但是,我刚刚意识到index.php文件位于Yii2中的.gitignore文件中,因为该文件是由init脚本创建的,因此对它的更改将通过运行init来覆盖.

无论如何,问题是:我在哪里放置这些代码,以便它可以与开发团队的其他人一起提交和共享,并在推送代码时将其投入生产?

我试图把这个代码放在common/config/params.php中但是当我尝试访问变量来确定使用哪个路由时我不能,因为Yii应用程序在前端/ config/main时没有被初始化. php文件运行,我收到一个错误,我试图访问非对象的属性.

/frontend/config/main.php

'defaultRoute' => MARKETPLACE ? 'marketplace' : 'site',
Run Code Online (Sandbox Code Playgroud)

/frontend/config/main.php(改为使用param)

'defaultRoute' => Yii::$app->params['marketplace'] ? 'marketplace' : 'site'
Run Code Online (Sandbox Code Playgroud)

第二个给出了我试图访问非对象属性的错误.

php yii2 yii2-advanced-app

4
推荐指数
1
解决办法
5462
查看次数

标签 统计

php ×2

yii2 ×2

yii ×1

yii2-advanced-app ×1