草庐IT

php - 让 Gii 在 Yii 2.0 上工作

我下载了高级模板,将其解压缩并更改了后端和前端的根文档,但我似乎无法弄清楚如何让Gii工作以执行crud操作。composer.JSON中有require和require-dev字段,我在这两个字段中都包含了gii,而且每个字段都单独包含了,但没有运气。我也尝试通过composer获取模板,在安装时我看到gii已安装,但仍然无法使其工作。这是我获得Yii模板的地方:https://github.com/yiisoft/yii2-app-advanced 最佳答案 这是如何让Gii从远程服务器为高级设置模板工作。在前端配置文件中。例如

php - Yii2如何针对不同目的维护不同的日志文件

我在一个项目中使用Yii2。我有一个用于使用第三方服务的类(class)。这个类有两个方法sendRequest和processResponse。我想在实际发送之前为sendRequest中的有效载荷维护单独的日志,并在进行任何处理之前为processResponse中收到的原始响应数据维护另一个日志。此外,我希望在两个日志上进行日志轮换,因为文件可能会无限增长,并且希望两个文件都与默认的app.log分开。这可能吗?我如何使用Yii2API实现它? 最佳答案 我最终通过在我的@app/config/main.php中添加2个额外的

php - Yii2/PHP/IIS7 - URL 重写和文件权限(漂亮的 URL 问题)

我有一个包含以下文本的web.config文件,尽管与我的问题无关...通常,当我在Windows机器上开发时,包含我的PHP源代码的文件夹拥有所有经过身份验证的用户的权限,并且我的Yii2网站中的漂亮URL可以正常工作。现在,我的下一个项目要求我在非管理员用户也将使用的Windows机器上部署,我测试了将Yii2网站部署到一个文件夹,使IUSR用户能够列出、读取和执行文件。该网站有效,但漂亮的url无效。如果我将文件夹内容复制到另一个具有常规身份验证用户和SYSTEM权限的位置,它会按预期工作。我想我缺少一些权限,这些权限将使漂亮的URL能够与IIS7URL重写模块一起正常工作,但不

php - Yii2:具有高级配置的通用 Assets

我想将Yii2的高级配置与单独的前端、后端、通用和控制台应用程序一起使用。我有许多常用Assets,包括将在前端和后端应用程序中使用的样式表、js文件和字体。只有将这些Assets放在共同的Assets文件夹中才有意义。然后,我的困惑开始了。似乎我需要一个单独的AppAsset.php文件来管理整个应用程序的前端和后端部分的Assets,因为两者之间有些事情会有所不同。(我不太确定是将前端、后端等称为总体应用程序中的独立应用程序,还是将它们称为大型总体应用程序的子应用程序。)无论如何,看来我需要两个AppAsset经理。我将自己处理所有文件转换(例如scss→css)和文件压缩,因此我

php - yii2框架消息语言

如您所知,在Yii2中,核心消息以26种语言提供。我想更改yii核心消息语言以使用我的语言显示验证消息。我将这一行添加到我的配置文件中:'language'=>'fa_IR',并且还添加了这一行:'i18n'=>[...'yii'=>['class'=>'yii\i18n\PhpMessageSource','basePath'=>"@vendor/yiisoft/yii2/messages",'sourceLanguage'=>'en_US','fileMap'=>['yii'=>'yii.php',]]]],但核心信息以英文显示。我只想使用Yii2提供的框架消息。例如在这个路径ve

php - 点Yii2环境文件夹

我正在尝试了解环境文件夹的意义所在。最初我的想法是您可以将网络服务器指向environment文件夹中的不同dev和prod文件夹,但在阅读之后我有点意识到事实并非如此。在Yii1中,你可以通过多个index.php来解决这个问题,即:index.phpindex-local.php所以问题是,与旧方法相比,这种新的环境结构实际上给我带来了什么好处? 最佳答案 我发现环境非常有用,它允许我为多个客户端项目(基于YiiAppAdvanced)保留一个通用代码库,并为每个特定客户端设置不同的环境,使他们的自定义代码保持私有(privat

php - 在 Yii gridview 分页中保留复选框值

我有一个gridview,它包含一个复选框列并且还使用了分页。当我选中第一页中的一些复选框并导航到第二页并在第二页中选中另一个复选框时,我在第一页中选中的选项不会保留在那里。是否可以在分页期间保留复选框值?Gridview的代码是$widget=$this->widget('zii.widgets.grid.CGridView',array('dataProvider'=>$model->search(),'cssFile'=>Yii::app()->baseUrl.'/media/js/admin/css/admingridview.css',//'filter'=>$model,'

php - 在 yii2/codeception 数据文件中引用 fixture 记录

有没有办法在Yii2/CodeceptionActiveFixture的fixture数据文件中指定另一个fixture的相关行?考虑这个用户/个人资料关系的例子:用户.php:return['user1'=>['email'=>'user1@example.net',]];配置文件.php:usecommon\models\User;return['profile1'=>['user_id'=>User::findOne(['email'=>'user1@example.net'])->id;'name'=>'MyName',]];文档指出“您可以为行指定别名,以便稍后在测试中,您可

php - 在 Heroku 上设置 Yii2 Advanced

我需要一些帮助来在Heroku上设置Yii2高级应用程序。我已经使用Composer在本地安装了Yii,完全遵循他们的指南:http://www.yiiframework.com/doc-2.0/guide-tutorial-advanced-app.html我的网站在本地运行,包括前端和后端:http://localhost/yii2app/frontend/web/http://localhost/yii2app/backend/web/当我推送它并在Heroku上运行它时,我收到错误消息,提示找不到某些文件。奇怪的是,我的Heroku应用程序有一个bash终端,我可以验证该文件确

php - 如何从 Yii2 中的模型获取当前模块对象

我有模块ticket。模块类具有属性UserClassName(字符串)。在这个模块中,我有一个名为Dialog的模型。在此模型中,我想访问模块属性UserClassName。如何从我的模型Dialog中获取模块对象?附言从Controller我接下来可以做:$this->module。 最佳答案 您可以使用className()获取类名。$yourModule=yourPath\YourModule::className();或者为了获取模块ID,您可以使用:Yii::$app->controller->module->id;