Yii2
目录
在模板里嵌套多个模板
<?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