YII框架使用
编码规范
- 文件不许写 PHP 结束语
- 命名空间与目录对应,文件名采用类名.php 格式,目录大小写与命名空间相同,类名大小写与文件名相同(psr-4规范)
- 视图目录名与 控制器名一致
- 类的命名必须遵循大写开头的大驼峰命名法(列如
UserController
)。 - 类中的常量所有字母必须大写,多个单词间用下划线分隔;
- 方法名必须遵循小写开头的小驼峰命名法(列如
actionlogin
); - 普通目录全小写格式,多个单词之间用中杠分隔(列如
memcahe-de
) - use Yii; 后下面使用Yii的函数就可以不要 \Yii:: app这种形式,直接Yii:: app就好
框架的特点
- YII是一个久经劳考验的全栈框架。注重安全和稳定,通常用于构建中大型项目;
- YII是完全面向对象,所有的功能都是以类的形式提供的,YII2需要
PHP 5.4
以上的版本; - YII采用MVC的设计模式,控制器支持action级别的代码重用,视图层多模版引擎支持,模型层提供了强大的ORM;
- YII使用组件来构建运用(
user,log,errorHandler
等) - YII提供了强大的界面组件和自动代码生成
- YII提供了事件处理机制和灵活的行为扩展
YII2 框架类
框架类如:'class' => ‘’yii\db\Connection',
//如果你想点击进入这个类的来源可以修改成以下 这样 class 或 className() 能获取到这个类的名称,点击 Connection 就能进入
1 'class' => yii\db\Connection::class,
2 'class' => yii\db\Connection::className(),
config配置文件
return $config
他return
出去的是一个数组$config
,是不定义常量的,像连接数据库也是不定义常量的
backend (后端目录)
解决一开始安装web/目录下没有入口index.php [ 2.0 版本 ]
对于一些刚使用Yii2的同学可能刚下载
advanced
版 在/frontend/web/
与/backend/web/
下找不到index.php
解决: 在advanced目录下有个 init.bat 文件 双击运行,会出现一个dos窗口 输入 0(开发模式) 或 1(产品模式) 按回车 再输入 yes 回车 这样就能生成入口文件了.
访问 web 这个目录 这个才是要发布出去的内容
frontend(前端目录)
如果不是通过
Composer
下载安装的 进入主页会报个错误 进入配置文件(config/web.php
)修改 config/web.php 文件,给 cookieValidationKey 配置项 添加一个密钥(若你通过 Composer 安装,则此步骤会自动完成): // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation (翻译)!!! 在下面插入一段密钥(若为空) - 以供 cookie validation 的需要 'cookieValidationKey' => '在此处输入你的密钥',
应用结构
应用中最重要的目录和文件(假设应用根目录是 basic):
basic/ 应用根目录
composer.json Composer 配置文件, 描述包信息
config/ 包含应用配置及其它配置
console.php 控制台应用配置信息
web.php Web 应用配置信息
commands/ 包含控制台命令类
controllers/ 包含控制器类
models/ 包含模型类
runtime/ 包含 Yii 在运行时生成的文件,例如日志和缓存文件
vendor/ 包含已经安装的 Composer 包,包括 Yii 框架自身
views/ 包含视图文件
web/ Web 应用根目录,包含 Web 入口文件
assets/ 包含 Yii 发布的资源文件(javascript 和 css)
index.php 应用入口文件
yii Yii 控制台命令执行脚本
项目基本概念
- 项目
project
<