Browse Category: yii2

yii2 结构与生命周期

Yii 应用静态结构

  • 入口脚本 web/index.php :终端用户能直接访问的 PHP 脚本, 负责启动一个请求处理周期。
  • 应用:能全局范围内访问的对象, 管理协调组件来完成请求.
  • 应用组件:在应用中注册的对象, 提供不同的功能来完成请求。
  • 模块:包含完整 MVC 结构的独立包, 一个应用可以由多个模块组建。
  • 过滤器:控制器在处理请求之前或之后 需要触发执行的代码。
  • 小部件:可嵌入到视图中的对象, 可包含控制器逻辑,可被不同视图重复调用。

请求生命周期

  1. 用户向入口脚本 web/index.php 发起请求。
  2. 入口脚本加载应用配置 并创建一个应用实例去处理请求。
  3. 应用通过请求组件 解析请求的路由。
  4. 应用创建一个控制器实例去处理请求。
  5. 控制器创建一个操作实例并针对操作执行过滤器。
  6. 如果任何一个过滤器返回失败,则操作退出。
  7. 如果所有过滤器都通过,操作将被执行。
  8. 操作会加载一个数据模型,或许是来自数据库。
  9. 操作会渲染一个视图,把数据模型提供给它。
  10. 渲染结果返回给响应组件。
  11. 响应组件发送渲染结果给用户浏览器。

应用目录结构

yii2 环境搭建

1. Composer 安装 Yii2

安装 Composer asset 插件

这条命令安装 Composer asset plugin, 用于通过 Composer 管理 bower 和 npm 包,此命令全局生效。

使用笔记代码

https://github.com/ironxu/yiint

里面包含了示例代码和相关配置,帮助更快上手

使用composer 安装代码

Yii 将安装在名为 yiint 的目录中。

2. 配置 Nginx

添加yii2 项目 nginx配置

yiint.conf [yiint/config/yiint.conf]

将yii2 的配置引入nginx 主配置文件

nginx.conf

修改hosts 绑定虚拟域名

3. 添加MySQL 配置文件

db.php [yiint/config/db.php]

修改mysql 的连接配置参数,然后创建 yii2basic 数据库。

创建数据库和用户SQL如下

4. 启动Nginx, php-fpm, mysql

最后访问http://yiint.local.com/ ,即可进入yii 欢迎页面。

参考资料

yii2 助手类

助手类

Yii 提供用来简化常见编码(如字条串, 数组操作,HTML代码生成)的类。
命令空间是 yii\helpers,并且全是静态类。

使用示例

yii/commands/HelpersController.php

自定义助手类

Yii 将每一个助手类分隔成两个类:一个基类和一个具体的类(例如BaseArrayHelper 和ArrayHelper),这样方便自定义助手类。当使用助手类时,应该仅使用具体的类。

ArrayHelper

yii\helpers\ArrayHelper extends BaseArrayHelper

数组或对象的相关操作

函数 功能
getValue() 获取数组或对象的键值
remove() 移除数组或对象键值
filter() 根据过滤规则获取数据

Html

Yii 通过 HTML 帮助类来提供生成超文本标记的方法。这个帮助类包含有一系列的用于处理通用的 HTML 标签和其属性以及内容的静态方法。

生成标签

Url

生成完整链接

Console

Json

Markdown

  • 1
  • 2