Mercy_stone 2016-07-18 18:04:47 7945次浏览 4条评论 1 1 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生成文件的内容。

觉得很赞
您需要登录后才可以评论。登录 | 立即注册