让Gii在Yii 2.0上工作

时间:2014-04-16 07:37:37

标签: php crud yii2 gii

我下载了高级模板,将其解压缩并更改了后端和前端的根文档,但我似乎无法弄清楚如何让Gii工作来执行crud操作。 / p>

在composer.JSON中有require和require-dev字段我在其中包含了gii,并且每个都分别没有运气。

我也尝试通过作曲家获取模板,安装时我看到gii已安装,但仍无法使其工作。

这是我获得Yii模板的地方:https://github.com/yiisoft/yii2-app-advanced

5 个答案:

答案 0 :(得分:19)

这是如何让Gii从远程服务器工作以获得高级设置模板。

在前端配置文件中。例如:

/frontend/config/main-local.php

添加以下代码:

if (!YII_ENV_TEST) {
    // configuration adjustments for 'dev' environment
    $config['bootstrap'][] = 'debug';
    $config['modules']['debug'] = 'yii\debug\Module';

    $config['bootstrap'][] = 'gii';
    $config['modules']['gii']=[
      'class' =>  'yii\gii\Module',
      'allowedIPs' => ['*'],
    ];
}

有趣的部分是经过修改的Gii array

答案 1 :(得分:7)

步骤1:将以下行添加到composer.json

的required-dev
"yiisoft/yii2-gii": "*"

第2步:更新你的作曲家。 第3步:将以下行添加到您的前端/ config / main.php文件中。不要包含这些..........

  'modules' => [
    ............
    'gii' => [
      'class' => 'yii\gii\Module', //adding gii module
      'allowedIPs' => ['127.0.0.1', '::1']  //allowing ip's 
    ],
    ...........
  ]

第4步: 如果您已启用清洁网址,请转到

project_name/frontend/web/gii

如果没有,请转到

project_name/frontend/web/index.php?r=gii

您可以点击链接yii2_gii

答案 2 :(得分:4)

与描述in the Docs类似,你必须调整 /frontend/config/main-local.php 中允许的IP:

    if (!YII_ENV_TEST) {
      ...
      $config['bootstrap'][] = 'gii';
      $config['modules']['gii'] = [
        'class' => 'yii\gii\Module',
        'allowedIPs' => ['127.0.0.1', '::1', '192.168.*.*']
      ];
    }

如果你为漂亮的网址修改了 /frontend/config/main.php

    return [
    ...
    'components' => [
      ...
      'urlManager' => [
            'class' => 'yii\web\UrlManager',
            'enablePrettyUrl' => true,
            'showScriptName' => false
      ],
      ...
    ];

您可以使用网址

调用gii
    yourVM.local/gii

(将 yourVM.local 指向Hosts文件中的前端模块。)

答案 3 :(得分:2)

另外,如果gii仍然不起作用,请尝试此操作:

这应该由yii团队详细记录!

init使用/frontend/config/main-local.php命令后,我发现:

if (!YII_ENV_TEST) {
    // configuration adjustments for 'dev' environment
    $config['bootstrap'][] = 'debug';
    $config['modules']['debug'] = 'yii\debug\Module';

    $config['bootstrap'][] = 'gii';
    $config['modules']['gii'] = 'yii\gii\Module';
}

我的应用处于dev模式,并且在声明之上,停止我的gii工作,所以...评论该行

答案 4 :(得分:1)

我必须在'组件中注释掉urlManager元素(禁用漂亮的Urls)。在相关的配置文件中(默认情况下实际注释掉)。

backend/config/main.php

在禁用漂亮的Url之前,我可以加载Gii页面,但是在加载任何生成器页面(控制器,模型等)时,我被重定向到主页。