命名规范
目录和文件
- 目录使用小写+下划线;
- 类库、函数文件统一以.php为后缀;
- 类的文件名均以命名空间定义,并且命名空间的路径和类库文件所在路径一致;
- 类文件采用驼峰法命名(首字母大写),其它文件采用小写
+
下划线命名; - 类名和类文件名保持一致,统一采用驼峰法命名(首字母大写);
函数和类、属性命名
- 类的命名采用驼峰法(首字母大写),例如
User
、UserType
, 默认不加后缀,
例如UserController
应该命名为User
; - 方法的命名使用驼峰法(首字母小写),例如
getUserName
; - 函数的命名使用小写字母和下划线(小写字母开头)的方式, 例如
get_client_ip
; - 属性的命名使用驼峰法(首字母小写), 例如
tableName
、instance
; - 特例:以双下划线
__
打头的函数或方法作为魔术方法,例如__call
和__autoload
;
数据表和字段
- 数据表和字段采用小写加下划线方式命名,并注意字段名不要以下划线开头,例如
think_user
表和
user_name
字段,不建议使用驼峰和中文作为数据表及字段命名。
例子:
在路径 application/index/Index.php , 模块是 index, 控制器(类)是Index,控制器文件是Index.php
打开Index.php , 在<?php 下面的第一句话是namespace app\index ; 这就是命名空间。
解释:
类的文件名均以命名空间定义,Index类被定义为命名空间 app\index 下的类
命名空间的路径和类库文件所在路径一致
命名空间的路径是 app\index
类的路径是 application\index
这里的app和application是一样的,原因是在框架中设置了映射,系统知道app就是application。
配置文件
配置文件和目录
├─config(应用配置目录)
│ ├─app.php 应用配置
│ ├─cache.php 缓存配置
│ ├─cookie.php Cookie配置
│ ├─database.php 数据库配置
│ ├─log.php 日志配置
│ ├─session.php Session配置
│ ├─template.php 模板引擎配置
│ ├─trace.php Trace配置
│ └─ … 更多配置文件
│
├─route(路由目录)
│ ├─route.php 路由定义文件
│ └─ … 更多路由定义文件
│
├─application (应用目录)
│ └─module (模块目录)
│ └─config(模块配置目录)
│ ├─app.php 应用配置
│ ├─cache.php 缓存配置
│ ├─cookie.php Cookie配置
│ ├─database.php 数据库配置
│ ├─log.php 日志配置
│ ├─session.php Session配置
│ ├─template.php 模板引擎配置
│ ├─trace.php Trace配置
│ └─ … 更多配置文件
│
thinkPHP5.1没有 config.php 配置文件 , 默认配置都在 app.php 配置文件 , 并且配置参数区分大小
路由
原理
当我们在浏览器输入一条链接时(MVC)
- 路由寻找URL对应的控制器
- 控制器将指定的方法(从Model层获取数据)进行操作
- 渲染给模板
ThinkPHP5.1的路由
打开route/route.php,可以看到
Route::get('think', function () {
return 'hello,ThinkPHP5!';
});
Route::get('hello/:name', 'index/hello');
解释:
- Route::注册路由静态方法
- get 请求方法
- ‘hello’ 请求URL
- ‘index/hello’ 响应默认控制器中hello方法( application/index/controller/Index.php/: function hello)
- 目录 : application/index/controller/ 为默认控制器的根目录,当我们在路由中书写时,如果只使用默认控制器, 只用写入控制器文件名/方法
- 并不推荐使用省略的方法使用路由语句,应该使用 : ‘index/index/hello’ //模块(index)/控制器/(controller)/index.php/:function hello
打开浏览器,访问http://fleastrtest.com/hello