超级小白安装YII2的advanced之后该干点啥 [ 2.0 版本 ]
自己也是初学Yii2,并且在看完basic版文档后,有机会直接接触到一个advanced
项目,结合项目慢慢开始了解advanced版。在自己学习过程中发现advanced的教
程或者说比较完整的学习参考不太好找,有一个想把自己学习的经验过程告诉现在
可能是小白未来可能是大牛的你们(当然我也是小白)
我上一个文档写到配置apache之后可以使用自己定义的域名访问当前自己的项目。
一个新的advanced项目,还是需要从入口脚本出发,例如可以先在后端的web目录
下新建index.php,内容:
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');
require(__DIR__ . '/../../vendor/autoload.php');
require(__DIR__ . '/../../vendor/yiisoft/yii2/Yii.php');
require(__DIR__ . '/../../common/config/bootstrap.php');
require(__DIR__ . '/../config/bootstrap.php');
$config = yii\helpers\ArrayHelper::merge(
require(__DIR__ . '/../../common/config/main.php'),
require(__DIR__ . '/../../common/config/main-local.php'),
require(__DIR__ . '/../config/main.php'),
require(__DIR__ . '/../config/main-local.php')
);
$application = new yii\web\Application($config);
$application->run();
到这一步,再打开网页的时候可能就会出现一些异常,你要检查下这些文件是否存
在,或者配置是否正确。
当入口文件配置好之后,就可以打开自带的site/index,正常理解后端是需要登
录的,需要一个用户名和密码,这时候就需要配置数据库。
需要在根目录的common->config>mian-local.php中将dsn的dbname配置成对应
的数据库名。username级password。
在不考虑css的情况下,这一步完成后可以登录,登录跳转在SiteController中完
成
public function actionLogin()
{
$this->layout='guest';
if (!Yii::$app->user->isGuest) {
return $this->goHome();
}
$model = new LoginForm();
if ($model->load(Yii::$app->request->post()) && $model->login()) {
return $this->goBack();
} else {
return $this->render('login', [
'model' => $model,
]);
}
}
这里有一个goHome()的方法, 它会执行一个跳转到homeUrl的页面,
homeUrl的设置在backend下config->main.php中,在return中加homeUrl配置
return[
'homeUrl'=>'/advanced/backend/web/index.php',
];
配置到入口文件。
这个时候他跳转到的就是默认的site/index的页面。可以进行登出操作。
然后停下来,想想自己要做一个什么样的后台管理页面,什么功能,什么类型。
想好之后,先把相应的数据库创建好。比如成绩或者机票或者物品管理等
接着你就可以使用gii来生成模型类,控制器,以及相应views视图文件
今天先写到这里,有时间我会补充使用gii的方法,以及具体gii生成文件的内容。
Mercy_stone
最后登录:2021-01-12
在线时长:10小时1分
- 粉丝5
- 金钱110
- 威望30
- 积分510
共 4 条评论
写的不错,再接再励!
其实入口文件更好的解决方法是在cmd下进入advanced目录,init,按提示输入0和y就会自动生成mian.php和index.php文件,当然配置文件可能需要根据自己的需求进行更改。
那如果线上呢 还需要在线上运行init.bat吗
我是大白擦擦擦
我是超级白