ThinkPHP5 ---基础篇(安装)
一、ThinkPHP简介
i. ThinkPHP是一个免费开源 快速简单 面向对象 轻量级的PHP开发框架
ii. 创立于2006年初 遵循Apache2开源协议发布
iii. 秉承简洁实用的设计原则 注重易用性
iv. 支持composer(包管理工具)方式安装 类似于node.js里面的npm
v. 5版本与之前版本不兼容
二、MVC简介
i. Model(模型) View(视图) Controller(控制器)的缩写 是一种业务逻辑 数据 显示页面分离的设计典范(设计模式:单例|工厂|观察者...) 业务逻辑封装之后 在改进或者个性化定制界面用户交互的同时 对编写好的业务逻辑不影响
ii. 优势
-
耦合性低 任何一层的改变 对其他层影响不大
-
重用性高
-
可维护性高
iii. MVC的变形
- 无Model模式
a) 企业官网 静态数据展示 基本上不涉及数据库操作 展示静态页面 Controller主要是路由跳转 View主要展示页面
- 无View的API接口开发
a) 给app写接口的时候 不需要展示界面 所有数据都通过json|xml返回
三、ThinkPHP5的安装
i. Git方式安装
- 需要clone两个包
a) 进入think 选择open in Desktop(选择clone或者open in Desktop 本地都需要安装git环境 最简单的下载git桌面版 详情参考版本工具GIT篇) 如果是用命令行 可以加上git clone --depth=1 ... 只克隆最新一次commit
image.pngb) 选择本地项目目录
image.png image.pngc) 然后clone framework 核心包
image.pngd) 在上一步的目录下新建thinkphp目录 clone
image.png image.png浏览器访问 进入到public目录 出现下面界面说明安装成功
image.png同理 选择DownloadZip 然后解压缩 也可以 分别下载两个包 然后将framework包重命名thinkphp 移动到think目录下即可
ii. Composer方式安装
- 本地先安装composer环境
a) 进入官网 <u>https://www.phpcomposer.com/</u> ->下载
image.png image.pngb) 双击 安装 (过程中需要绑定php.exe)
image.png
c) windows+R cmd 打开命令行 composer验证是否安装成功
image.png
d) 通过composer安装ThinkPHP
i. 命令行进入项目目录
image.pngii. Composer create-project --prefer-dist topthink/think think_composer进入到项目目录 命令行安装
composer create-project --prefer-dist topthink/think=5.0.20 think_composer 可以指定下载版本
image.png image.png image.png image.png
安装过程中 需要联网...... 网速不稳定的话 可能会导致安装不成功
也可以在composer官网 安装包列表 选择下载tp版本 上面的命令也可以指定版本
iii. localhost测试
image.png image.pngiii. Download官网安装
- 进入http://www.thinkphp.cn/ 官网
image.png
- 需要先登录 然后选择版本下载
四、设置网站根目录为 public目录 (选)
i. Apache配置文件 httpd-vhosts.conf
ii. 此文件下可以配置虚拟主机 如a.com 便于本地测试
-
需要在httpd.conf文件中打开扩展
-
需要在System32/drivers/etc/hosts文件中配置 127.0.0.1 a.com 配置
-
重启服务器生效
五、ThinkPHP5的目录结构
i. Application 应用目录
image.pngii. Extend 扩展类库目录
- 下载第三方库的时候使用的 不是通过composer下载的
a) 如 有一个好用的第三方库 但是没有composer包 这种情况下可以将类库下载到extend目录 之后修改命名空间 就直接可以在应用中使用了
iii. Public根目录
image.png
iv. Runtime 网站运行中的缓存文件 日志缓存 编译文件等等
v. Thinkphp框架系统目录
image.pngvi. Vendor 通过composer安装 过程中生成的目录
- 里面有thinkphp主程序文件 各种类库文件
六、 目录和文件开发规范
i. 目录使用小写+下划线的方式命名(不允许大写)
ii. 类库函数文件名 均以.php结尾 (5版本以前是.class.php 5版本之后.php)
iii. 类的文件名均以命名空间定义 且命名空间和类库文件所在路径一致
- 如 application/index/controller/Index.php
namespace app\index\controller (app定义顶级应用模块目录)
iv. 类文件采用驼峰 首字母大写 其余文件为小写+下划线命名
-
如 控制器 Index.php
-
路由文件 route.php 数据库配置文件 database.php
v. 类名和类文件名保持一致 驼峰命名 首字母大写 不需要后缀
- 如 Index.php (5版本前是 IndexController.php 5版本之后是 Index.php)
vi. 函数驼峰命名 首字母小写
- 如 public function getUserName(){}
vii. 属性名驼峰 首字母小写
- 如 public $tableName = ‘’ ;
viii. 以双下划线(__)开头的函数或者方法为魔术方法
-
如 public function __construct(){}
-
自定义函数的时候 函数名注意避免
ix. 常量和配置
- 常量以大写字母和下划线命名
a) 如define(‘APP_PATH’, DIR . ’/../application/’) ;尽量不要下划线开头
- 配置参数以小写字母和下划线命名
a) 如 config.php
image.pngx. 其他规范
- 表和字段采用小写+下划线的命名方式 不能下划线开头
a) 如 tb_user 表
- 应用类库的命名空间统一为app(可以配置)
a) 一般情况下不要更改 app为默认顶级应用
七、ThinkPHP5模块设计
i. 概要:
5.0版本对模块的功能做了灵活设计 默认采用多模块的架构 并且支持单一模块设计 所有模块的命名空间均以app作为根命名空间(可配置)
根据项目需求
image.pngFAQ:
一、启动本地环境 查看端口占用
1.找到被占端口pid
netstat -aon|findstr "3306"
image.png2.根据pid 查看进程
tasklist|findstr "1880"
image.png3.结束进程
taskkill /f /t /im mysqld.exe
image.png二、自定义common模块报错:
image.png报错信息:
image.png分析:
这是thinkphp的规定 默认common是公用模块 存放 通用方法 不允许在URL上直接访问
解决:
image.png image.png将重复性的代码 权限 数据处理放在common模块 简化程序
三、修改application目录
i. 将application目录重命名 app
ii. 修改public/index.php define(‘APP_PATH’, DIR . ‘/../app/’);
image.png
网友评论