摘要:一. 下载和安装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		
						
老师总结:总结的没毛病!都可以发到群里和其他的同学分享一下了!