ThinkPHP5 ---基础篇(安装)


一、ThinkPHP简介

i. ThinkPHP是一个免费开源 快速简单 面向对象 轻量级的PHP开发框架

ii. 创立于2006年初 遵循Apache2开源协议发布

iii. 秉承简洁实用的设计原则 注重易用性

iv. 支持composer(包管理工具)方式安装 类似于node.js里面的npm

v. 5版本与之前版本不兼容

二、MVC简介

i. Model(模型) View(视图) Controller(控制器)的缩写 是一种业务逻辑 数据 显示页面分离的设计典范(设计模式:单例|工厂|观察者...) 业务逻辑封装之后 在改进或者个性化定制界面用户交互的同时 对编写好的业务逻辑不影响

ii. 优势

1. 耦合性低 任何一层的改变 对其他层影响不大

2. 重用性高

3. 可维护性高

 

 

iii. MVC的变形

1. Model模式

a) 企业官网 静态数据展示 基本上不涉及数据库操作 展示静态页面 Controller主要是路由跳转   View主要展示页面

2. ViewAPI接口开发

a) app写接口的时候 不需要展示界面 所有数据都通过json|xml返回

三、ThinkPHP5的安装

i. Git方式安装

1. https://github.com/top-think

2. 需要clone两个包

 

a) 进入think 选择open in Desktop(选择clone或者open in Desktop 本地都需要安装git环境 最简单的下载git桌面版  详情参考版本工具GIT) 如果是用命令行 可以加上git clone --depth=1 ... 只克隆最新一次commit

 

b) 选择本地项目目录

 

 

c) 然后clone framework 核心包

 

d) 在上一步的目录下新建thinkphp目录  clone

 

 

浏览器访问 进入到public目录 出现下面界面说明安装成功

 

同理  选择DownloadZip 然后解压缩 也可以   分别下载两个包 然后将framework包重命名thinkphp 移动到think目录下即可

ii. Composer方式安装

1. 本地先安装composer环境

a) 进入官网 https://www.phpcomposer.com/  ->下载

 


b) 双击 安装  (过程中需要绑定php.exe)

 

c) windows+R  cmd 打开命令行  composer验证是否安装成功

 

d)  通过composer安装ThinkPHP

i. 命令行进入项目目录

 

ii. Composer create-project --prefer-dist topthink/think think_composer进入到项目目录 命令行安装

composer create-project --prefer-dist topthink/think=5.0.20 think_composer 可以指定下载版本

 


安装过程中 需要联网......  网速不稳定的话 可能会导致安装不成功

也可以在composer官网 安装包列表 选择下载tp版本  上面的命令也可以指定版本

iii. localhost测试

 


iii. Download官网安装

1. 进入http://www.thinkphp.cn/ 官网

 

2. 需要先登录 然后选择版本下载

四、设置网站根目录为 public目录 ()

i. Apache配置文件 httpd-vhosts.conf

ii. 此文件下可以配置虚拟主机  a.com  便于本地测试

1. 需要在httpd.conf文件中打开扩展

2. 需要在System32/drivers/etc/hosts文件中配置  127.0.0.1  a.com 配置

3. 重启服务器生效

 

 

五、ThinkPHP5的目录结构

i. Application 应用目录

 

ii. Extend 扩展类库目录

1. 下载第三方库的时候使用的 不是通过composer下载的

a)  有一个好用的第三方库 但是没有composer包  这种情况下可以将类库下载到extend目录 之后修改命名空间 就直接可以在应用中使用了

iii. Public根目录

 

iv. Runtime 网站运行中的缓存文件 日志缓存 编译文件等等

v. Thinkphp框架系统目录

 

vi. Vendor 通过composer安装 过程中生成的目录

1. 里面有thinkphp主程序文件  各种类库文件

六、 目录和文件开发规范

i. 目录使用小写+下划线的方式命名(不允许大写)

ii. 类库函数文件名 均以.php结尾 (5版本以前是.class.php   5版本之后.php)

iii. 类的文件名均以命名空间定义 且命名空间和类库文件所在路径一致

1.  application/index/controller/Index.php

namespace app\index\controller (app定义顶级应用模块目录)

iv. 类文件采用驼峰 首字母大写 其余文件为小写+下划线命名

1.  控制器 Index.php

2. 路由文件 route.php  数据库配置文件 database.php

v. 类名和类文件名保持一致 驼峰命名 首字母大写 不需要后缀

1.  Index.php  (5版本前是 IndexController.php  5版本之后是 Index.php)

vi. 函数驼峰命名 首字母小写

1.  public function getUserName(){}

vii. 属性名驼峰 首字母小写

1.  public $tableName = ‘’ ;

viii. 以双下划线(__)开头的函数或者方法为魔术方法

1.  public function __construct(){}

2. 自定义函数的时候 函数名注意避免

ix. 常量和配置

1. 常量以大写字母和下划线命名

a) define(‘APP_PATH’ , __DIR__ . ’/../application/’) ;尽量不要下划线开头

2. 配置参数以小写字母和下划线命名

a)  config.php

 

x. 其他规范

1. 表和字段采用小写+下划线的命名方式  不能下划线开头

a)  tb_user

2. 应用类库的命名空间统一为app(可以配置)

a) 一般情况下不要更改 app为默认顶级应用

七、ThinkPHP5模块设计

i. 概要:

5.0版本对模块的功能做了灵活设计 默认采用多模块的架构 并且支持单一模块设计 所有模块的命名空间均以app作为根命名空间(可配置)

根据项目需求

 


 

 

 

FAQ

一、启动本地环境 查看端口占用

1.找到被占端口pid

netstat -aon|findstr "3306"

 

2.根据pid 查看进程

tasklist|findstr "1880"

 

 

3.结束进程

taskkill /f /t /im mysqld.exe

 

 

 

二、自定义common模块报错:

 

报错信息:

 

分析:

这是thinkphp的规定 默认common是公用模块 存放 通用方法 不允许在URL上直接访问

解决:

 


 

将重复性的代码  权限 数据处理放在common模块  简化程序

 

 

三、修改application目录

i. application目录重命名 app

ii. 修改public/index.php    define(‘APP_PATH’ , __DIR__ . ‘/../app/’);



猜你喜欢

转载自blog.csdn.net/donglingjiu/article/details/80662239