ThinkPHP5.1入门学习(二) 基础

命名规范

目录和文件
  1. 目录使用小写+下划线;
  2. 类库、函数文件统一以.php为后缀;
  3. 类的文件名均以命名空间定义,并且命名空间的路径和类库文件所在路径一致;
  4. 类文件采用驼峰法命名(首字母大写),其它文件采用小写+下划线命名;
  5. 类名和类文件名保持一致,统一采用驼峰法命名(首字母大写);
函数和类、属性命名
  1. 类的命名采用驼峰法(首字母大写),例如UserUserType, 默认不加后缀,
    例如UserController应该命名为 User;
  2. 方法的命名使用驼峰法(首字母小写),例如getUserName;
  3. 函数的命名使用小写字母和下划线(小写字母开头)的方式, 例如 get_client_ip;
  4. 属性的命名使用驼峰法(首字母小写), 例如 tableNameinstance;
  5. 特例:以双下划线__打头的函数或方法作为魔术方法,例如__call__autoload;
数据表和字段
  1. 数据表和字段采用小写加下划线方式命名,并注意字段名不要以下划线开头,例如think_user表和
    user_name字段,不建议使用驼峰和中文作为数据表及字段命名。

例子:

在路径 application/index/Index.php , 模块是 index, 控制器(类)是Index,控制器文件是Index.php

打开Index.php , 在

解释:

类的文件名均以命名空间定义,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)

  1. 路由寻找URL对应的控制器
  2. 控制器将指定的方法(从Model层获取数据)进行操作
  3. 渲染给模板

ThinkPHP5.1入门学习(二) 基础_第1张图片

ThinkPHP5.1的路由

打开route/route.php,可以看到

Route::get('think', function () {
    return 'hello,ThinkPHP5!';
});

Route::get('hello/:name', 'index/hello');

解释:

  1. Route::注册路由静态方法
  2. get 请求方法
  3. ‘hello’ 请求URL
  4. ‘index/hello’ 响应默认控制器中hello方法( application/index/controller/Index.php/: function hello)
  5. 目录 : application/index/controller/ 为默认控制器的根目录,当我们在路由中书写时,如果只使用默认控制器, 只用写入控制器文件名/方法
  6. 并不推荐使用省略的方法使用路由语句,应该使用 : ‘index/index/hello’ //模块(index)/控制器/(controller)/index.php/:function hello

打开浏览器,访问http://fleastrtest.com/hello

你可能感兴趣的:(php)