跳转至

Yii

约 390 个字 34 行代码 预计阅读时间 2 分钟

简介

  • 高性能(惰性加载)、基于组件
  • 适合做大型应用、门户、社区、OMS、电商等
  • 和其他框架相比
  • 和其他 PHP 框架类似,它实现了 MVC 设计模式,并基于该模式组织代码
  • 代码简洁优雅,高性能始终是 Yii 的首要目标之一
  • 全栈框架,对关系型和NoSQL数据库都提供了查询生成器和 ActiveRecord;多层缓存支持……
  • Yii 2.0 需要 PHP 5.4.0 及以上的版本

部署

基础部署(basic 包)

解压后访问首页入口文件:./web/index.php

一开始打开会出错,因为没有写 Cookie,需要做以下配置:

1
2
3
4
5
// ./config/web.php
//...
    'request' => [
      'cookieValidationKey' -> 'a', // 随便设置一个值
//...

高级部署(advanced 包)

  1. 解压后运行 ./init(*nix)或 ./init.bat(Windows),选择是开发环境(0)还是生产环境(1),接下来在“是否在开发环境下初始化应用”中填 yes
  2. 之后运行 ./yii(*nix)或 ./yii.bat(Windows),确认版本。
  3. 配置数据库(按照实际情况配置):
    1
    2
    3
    4
    5
    6
    7
    8
    9
    // ./common/config/main-local.php
    //...
        'db' => [
          //...
          'dsn' => 'mysql:host=localhost;dbname=yii2advanced', 
          'username' => 'root',
          'password' => '',
          'charset' => 'utf8'
      '
    
    根据上面的信息新建数据库(如 yii2advanced)。 执行 ./yii migrate(*nix)或 ./yii.bat migrate(WIndows),输入 yes,生成数据。
  4. 访问前台首页入口文件:./frontend/web/index.php;访问后台首页入口文件:./backend/web/index.php。它们完全重复,两套系统共用数据库的账号密码,在前台注册账户可以登录前台和后台。

目录结构

(以 Basic 为例)

1
2
3
4
5
6
7
./
├─Controllers/                控制器
│  └─SiteController.php       控制器
├─Views/                      视图
│  ├─layout/       
│  ├─site/                    站点
│  │  └─*.php                 站点下的视图

控制器

// ./Controllers/SiteController.php
//...
class SiteController extends Controller{
  //...
  public function actionIndex() {  //主页的加载
    return $this -> render('index');  //在./Views/site/index.php中有对应视图
  }
   //...
   //可以参照上面的方式写控制器方法
   public function actionHello() {  //方法以action开头,后面是URL相关的字符串
    echo '...';  //当访问 ./web/index.php?r=site/hello时会调用这个方法
  }
}
//...

Gii

开启

1
2
3
4
5
6
// ./config/web.php
//...
if (YII_ENV_DEV) {
    //...
    $config['modules']['gii'] = ['class' => 'yii\gii\Module'];  //如果是开发者模式,已经打开并配置好
        //...

访问

./web/index.php?r=gii

来源

【极客学院】PHP全套教学视频_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili