Yii2

来自tomtalk
Tom讨论 | 贡献2016年7月14日 (四) 07:02的版本 Yii2 config

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

在模板里嵌套多个模板

<?php echo Yii::$app->view->render('pay_detail_2', ['order' => $order, 'goods_name' => $goods_name]); ?>

Yii2 config

return [
    'id' => 'app-frontend',
    'basePath' => dirname(__DIR__),
    'bootstrap' => ['log'],
    'controllerNamespace' => 'frontend\controllers',
    'defaultRoute' => 'home',
    'timeZone' => 'Asia/Shanghai',
    'components' => [
        'user' => [
            'identityClass' => 'common\models\User',
            'enableAutoLogin' => true,
        ],
        'log' => [
            'traceLevel' => YII_DEBUG ? 3 : 0,
            'targets' => [
                [
                    'class' => 'yii\log\FileTarget',
                    'levels' => ['error', 'warning'],
                ],
            ],
        ],
        'errorHandler' => [
            'errorAction' => 'site/error',
        ],
        'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'rules' => [
            ],
        ],
    ],
    'params' => $params,
];

Yii2 apache rewrite

frontend/config/main.php

'urlManager' => [
    'enablePrettyUrl' => true,
    'showScriptName' => false,
]

create .htaccess file in web directory

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . index.php

入门

Yii是创始人薛强的心血结晶,于2008年1月1日开始开发。

Yii实现了两种模型:表单模型(CFormModel类)和Active Record模型(CActiveRecord类)。他们都继承自同一个基类CModel。

<?php $this->breadcrumbs=array(

   'Message'=>array('message/index'), 
   'HelloWorld',

);?>

<?php echo CHtml::link("Goodbye",array('message/goodbye')); ?>


入口脚本

   多数情况下,一个 Yii 应用的入口脚本包含像下面这样简单的脚本:
   // 在生产环境中请删除此行
   defined('YII_DEBUG') or define('YII_DEBUG',true); 
   // 包含Yii引导文件
   require_once('path/to/yii/framework/yii.php'); 
   // 创建一个应用实例并执行
   $configFile='path/to/config/file.php';    
   Yii::createWebApplication($configFile)->run();


Yii(读作 易)。

安装 Yii

运行应用

第一次问候

使用 Forms

玩转 Databases

用 Gii 生成代码

更上一层楼

应用结构

结构总览 入口脚本 应用 应用组件 控制器(Controller) 视图(View) 模型(Model) 过滤器 小部件(Widget) 模块(Module) 前端资源(Asset) 扩展(extensions)

请求处理

引导(Bootstrapping) 路由(Routing) 请求(Request) 响应(Response) Sessions(会话)和 Cookies URL 解析和生成 错误处理 日志

关键概念

组件(Component) 属性(Property) 事件(Event) 行为(Behavior) 配置(Configurations) 类自动加载(Autoloading) 别名(Alias) 服务定位器(Service Locator) 依赖注入容器(DI Container)

配合数据库工作

数据访问对象(DAO) - 数据库连接、基本查询、事务和模式操作

$connection = Yii::app()->db;
$command = $connection->createCommand();
$command->text = 'select * from users_family';
$command->execute();
$rows = $command->queryAll();

查询生成器(Query Builder) - 使用简单抽象层查询数据库

活动记录(Active Record) - 活动记录对象关系映射(ORM),检索和操作记录、定义关联关系

数据库迁移(Migration) - 在团体开发中对你的数据库使用版本控制

Sphinx

Redis

MongoDB

ElasticSearch

接收用户数据

创建表单 输入验证 文件上传 多模型同时输入

显示数据

格式化输出数据 分页(Pagination) 排序(Sorting) 数据提供器 数据小部件 主题

安全

认证(Authentication) 授权(Authorization) 处理密码 客户端认证 安全领域的最佳实践

缓存

概述 数据缓存 片段缓存 分页缓存 HTTP 缓存

RESTful Web 服务

快速入门 资源 路由 格式化响应 授权验证 速率限制 版本化 错误处理 测试

开发工具

调试工具栏和调试器 使用 Gii 生成代码 生成 API 文档

测试

概述 单元测试 功能测试 验收测试 测试夹具

高级专题

高级应用模版 从头构建自定义模版 控制台命令 核心验证器 国际化 收发邮件 性能优化 共享主机环境 模板引擎 集成第三方代码

小部件

表格视图(GridView):链接到 demo 页 列表视图(ListView):链接到 demo 页 详情视图(DetailView):链接到 demo 页 活动表单(ActiveForm):链接到 demo 页 Pjax:链接到 demo 页 菜单(Menu):链接到 demo 页 LinkPager:链接到 demo 页 LinkSorter:链接到 demo 页 Bootstrap 小部件 Jquery UI 小部件

助手类

助手一览 ArrayHelper Html Url security