摘要:一. 下载和安装tp5.1 安装tp5.1需要php版本大于5.6,且推荐使用composer进行安装,先安装composer,选择对应php版本.然后安装composer中国全量镜像,帮助下载tp5.1,在composer中文网中的安装包列表中搜索thinkphp, 通过cmd命令行,进入项目目录, 输入composer create-project
一. 下载和安装tp5.1
安装tp5.1需要php版本大于5.6,且推荐使用composer进行安装,先安装composer,选择对应php版本.然后安装composer中国全量镜像,帮助下载tp5.1,在composer中文网中的安装包列表中搜索thinkphp, 通过cmd命令行,进入项目目录, 输入composer create-project topthink/think 加上要新建的项目文件夹名,等待下载并进行安装.
composer是一个管理依赖关系的工具,相当于一个PHP的应用商店.
-----------------------------------------------------------------------------
二. tp5.1开发规范
1. 目录和文件:
* 必须使用小写字母,多个单词之间使用下划线
* 类文件首字母必须大写,其他文件名必须小写
* 类名与文件名必须保持一致,如Index类,文件名必须是Index.php
2. 函数,类与属性和方法
* 函数必须使用小写字母+下划线方式命名: get_info()
* 类名必须使用大驼峰命名法,首字母大写:UserInfo()
* 属性和方法使用小驼峰命名,首字母小写:$userName getInfo()
3. 常量与配置
* 常量必须全部使用大写字母+下划线命名: APP_PATH
* 配置参数必须使用小写字母加下划线: app_name
* 环境变量和常量声明一样,全部使用大写字母+下划线
4. 数据表与字段名:必须使用小写字母+下划线:php_edu user_id
-----------------------------------------------------------------------------
三.目录结构
刚下载完的thinkphp5.1的目录有6个最重要的目录
1. application: 应用目录,大部分代码都写在这个目录中
2. config: 框架配置目录,每个文件对应一个一级配置 如app.php
3.public: 对外可访问的web目录,里面有入口文件
4.route: 路由目录,存放用户自定义的路由
5.runtime: 运行目录,存放临时缓存文件或编译脚本
6.thinkphp: 框架核心脚本,(尽量不要修改,否则升级全部就覆盖了)
-------------------------------------------------------------------
7.extend: 扩展类库目录,存放不便归类的类模型和扩展框架功能
8.vendor: 由composer加载并管理的第三方类库目录如:验证码,图片处理等等.
----------------------------------------------------------------------------
应用目录(application)介绍
1. common: 公共模块目录,存放被其他模块共享的代码,外部禁止访问.
2.module: 模块目录,可以有多个,例如index模块(前台),admin模块(后台)
3.MVC模型就是在application中体现 model view controller ,model共享一个数据库的话就放在和module模块目录同级
4.config就是应用配置目录(可选) common.php 应用公共函数库(可选)
-------------------------------------------------------------------------------
四.框架配置
1.惯例配置: think/convertion.php 强烈建议不要修改,就是框架的默认配置
2.应用配置: application同级的config文件夹 ,生效范围为整个应用项目:application
3.模块配置[可选]:位置在 application/模块/config/...仅对当前模块生效,同名模块配置会覆盖应用配置项,常用app.php, database.php,
4.动态配置[可选]:在请求的控制器中的方法里,仅对当前url请求生效,不会保存到配置文件中.
5.优先级为 管理配置 < 应用配置 < 模块配置 < 动态配置
6.如何获取配置项
* 使用Config类: 需要先导入配置类(门面导入)
* 获取全部配置: Config::get()
use think\Facade\Config; ... dump(Config::get()); //全部静态使用方法
* 仅获取一个一级配置: Config::get('一级文件名.') 注意这个点.或者Config::pull('一级文件名') 不用点
dump(Config::get('app.')); //参数后面要添加点
dump(Config::pull('app')); //后面不要添加点 * 设置配置项: Config('一级文件名.配置项','配置项值')
Config::set('app.admin_email','iron_man@php.cn'); * 判断是否存在指定配置项 Config::has('一级文件名.配置项')
dump(Config::has('app.default_lang')); //默认就在app.php配置文本中查找* 助手函数(性能会下降) 不需要导入类
* config() 获取全部配置项 config('一级配置项文件名.') 获取一级 config('?一级配置项文件名.配置名') 查看是否存在
dump(config()); //获取到了全部的配置项
dump(config('database.')); //获取database.php的一级配置项
dump(config('?default_lang')); //查询是否存在
dump(config('?app.default_lang')); //查询是否存在
dump(config('app.default_lang')); //输出配置项五.路由与URL
1.支持的URL访问模式
* PATH_INFO 模式: http://localhost/index.php/模块/控制器/方法/变量/值/.... 或者http://localhost/index.php/模块/控制器/方法?变量=值&...
* 兼容模式:localhost/index.php?s=模块/控制器/方法/变量/值...
2.隐藏入口文件,仅适用于但入口文件设计,为不同模块绑定不同的入口文件,则不允许隐藏入口文件,如果为admin模块绑定了入口文件:admin.php 那么admin.php就不能隐藏
3.隐藏方法,就是在入口文件同级下创建.htaccess
六.命名空间
用命名空间导入类,避免类之间的命名冲突
七.入口文件
1.入口文件默认为:index.php, 位于public目录下,是统一的,但不是唯一的,不同模块可以绑定不同的入口文件
2.如果要改变应用目录名称,需要在重新定义入口文件 声明一个define('APP_PATH','新应用目录文件夹绝对路径') 然后Container::get('app')->path(APP_PATH)->run()->send()才可以
3.多入口文件,在配置文件中 config/app.php中 入口自动绑定模块
'auto_bind_module' => true, 打开即可 如要给admin模块绑定入口文件 创建入口文件 admin.php
批改老师:韦小宝批改时间:2018-12-11 14:05:02
老师总结:总结的没毛病!都可以发到群里和其他的同学分享一下了!