YII2笔记之一
安装advanced:执行init 执行yii.bat 创建数据库 修改common/config/main-local.php中的db配置 执行migrate
basic:web目录是可以被外部直接访问的,vendor是第三方内容,running需要可写,models和数据库的表对应,controllers、models、views最重要。url访问的是某个controller下的某个方法,方法命名是action+方法名。方法中指定使用的页面
basic和advanced的目录区别:frontend和backend是两个独立的应用,每个可以看成是一个basic;common中是它们公用的部分
GII
生成model:
需要数据库中有对应的表;I18N多语言;使用表前缀,设置了表前缀时,表名称会自动去掉前缀部分;批量操作
生成CRUD:根据model(完整路径),生成对应的controller和view文件,包括controller中的增删改查
生成controller和生成form(通过Model生成form),不常用
生成Modules,放在配置文件web.php中
frontend/web/index.php?r=gii,backend也有gii。想放在common中,命名空间写为common/models,而不是app/models
run之前require文件,将需要的文件Include进来;或者使用Yii:setAlias将目录导入项目
GII禁止访问(403),将backend\config\main-local.php中,
$config['modules']['gii'] = 'yii\gii\Module';
修改为
$config['modules']['gii'] = [
'class' => 'yii\gii\Module',
'allowedIPs' => ['127.0.0.1', '192.168.0.*']
];
crud生成后访问出错: Unknown Class – yii\base\UnknownClassException
Unable to find 'frontend\controllers\PostController' in file: /var/www/advanced/frontend/controllers/PostController.php. Namespace missing? 将PostController.php中namespace app\controllers;改为namespace frontend\controllers;
http://www.yiifans.com/forum.php?mod=viewthread&tid=11647&extra=page%3D1