在使用ThinkPHP3.2之前,先了解几个名词:
应用:基于同一个入口文件访问的项目我们称之为一个应用
模块:一个应用下面可以包含多个模块,每个模块在应用目录下面都是一个独立的子目录。
控制器:每个模块可以包含多个控制器,一个控制器通常体现为一个控制类
操作:每个控制器类可以包含多个操作方法,也可能是绑定的某个操作类,每个操作是URL访问的最小单元。
不清楚也没有关系,往下看就知道了...
1.下载版本
首先在官网上下载ThinkPHP版本(http://thinkphp.cn/down/framework.html),以下内容使用的是ThinkPHP3.2版本
2.准备环境
在开始之前,需要一个Web服务器和PHP运行环境,推荐使用继承开发环境WAMPServer(是一个集成了Apache,PHP和MySQL的开发套件,而且支持多个PHP版本、MySQL版和Apache版本的切换)
3.搭建环境
(1)找到WAMP的安装路径,在www文件下新建一个项目newApp,如(D:\Program Files\wamp\www\newApp);
(2)解压下载的ThinkPHP,拷贝ThinkPHP文件中的所有目录到项目newApp目录下,
在解压的文件中存在一个index.php文件,打开该文件,能看到如下的一行代码:
require './ThinkPHP/ThinkPHP.php';
这是引入ThinkPHP的入口文件,也是所有基于ThinkPHP开发应用的第一步。
另:在index.PHP中还可以看到其他的一些代码,包括"开启调试模式","定义应用目录"等,这些都有注释,很好理解。
(3)在浏览器中访问这个入口文件
http://localhost/newApp
等同于访问:http://localhost/newApp/index.php/Home/Index/index
一般Web服务器的默认文件是index.php,所有可以不需要在URL地址中加上index.php.运行后会看到欢迎页面。
4.目录结构
解压缩到newApp目录下面,初始的目录结构如下:
Application 应用目录 放入项目的模块代码 Public 资源文件目录 可以放项目的公共文件,如css,js,imags等 ThinkPHP 核心框架目录 index.php 入口文件 README.md README文件 仅用于说明,实际部署时可以删除
入口文件中的其他定义
一般不建议在入口文件中做过多的操作,但可以重新定义一些系统常量,入口文件中支持定义(建议)的一些系统常量包括:
THINK_PATH 框架目录 APP_PATH 应用目录 RUNTIME_PATH 应用运行时目录(可写) APP_DEBUG 应用调试模式(默认为false) STORAGE_TYPE 存储类型(默认为File) APP_MODE 应用模式(默认为common)
注:所有路径常量都必须以"/"结尾
自动创建目录
在第一次访问应用入口文件的时候,能看到欢迎界面,并自动生成一个默认的应用模块Home。接下来再看看原来空的Application目录下面,已经自动生成了公共模块Common,默认的Home模块和Runtime运行时目录结构:
Application Common Common 应用公共模块 Conf 应用公共函数目录 Home 默认生成的Home模块 Conf 模块配置文件目录 Common 模块函数公共目录 Controller 模块控制器目录 Model 模块模型目录 View 模块视图文件目录 Runtime 运行时目录 Cache 模版缓存目录 Data 数据目录 Logs 日志目录 Temps 缓存目录
目录安全文件
在自动生成目录结构的同时,在各个目录下面我们还看到了index.html文件,这是ThinkPHP自动生成的目录安全文件。
为了避免某些服务器开启了目录浏览权限后可以直接在浏览器输入URL地址查看目录,系统默认开启了目录安全文件机制,会在自动生成目录的时候生成空白的index.html文件,当然安全文件的名称可以设置。例:把安全文件定义为default.html可以在入口文件中添加:
define('DIR_SECURE_FILENAME','default.html');
如果觉得环境足够安全,不希望生成目录安全文件,可以在入口文件里面关闭目录安全文件的生成,代码如下:
define('BUILD_DIR_SECURE',false);
5.模块设计
3.2版本自带了一个应用目录结构,并且带了一个默认的应用入口文件,方便部署和测试,默认的应用目录是Application。通常情况下3.2无需使用多应用模式,因为大多数情况下,可以通过多模块化以及多入口的设计来解决应用的扩展需求。
多模块结构的应用目录如下所示:
Application 默认应用目录(可以设置) Common 公共模块(不能直接访问) Home 前台模块 Admin 后台模块 ... 其他更多模块 Runtime 默认运行时目录(可以设置)
每个模块都是相对独立的,模块下面的结构可以根据需要灵活设置和添加,如下示:
Admin 模块目录 Conf 配置文件目录 Common 公共函数目录 Controller 控制器目录 Model 模型目录 Logic 逻辑目录(可选) Service Service目录(可选) ... 更多分层目录可选 View 视图目录
相关推荐
《深入理解ThinkPHP3.2:项目源码分析与学习指南》 ThinkPHP3.2是基于MVC模式的PHP框架,它为开发者提供了一种高效、简洁且强大的开发工具,使得开发人员能够快速地构建自己的Web应用。本项目源码提供了一个完整的...
ThinkPHP3.2是一个基于MVC模式的PHP框架,它简化了Web应用的开发流程,降低了开发成本。本系统利用ThinkPHP3.2的特性,如模型-视图-控制器架构、自动路由、数据库操作等,实现了试题库管理、用户权限控制、成绩统计...
在该集成环境中,ThinkPHP3.2与WAMPserver的结合使用,可以实现以下优势: 1. **快速开发**:ThinkPHP3.2的快速开发特性,结合WAMPserver的即装即用特性,让开发者能够迅速搭建项目框架,节省时间成本。 2. **性能...
ThinkPHP3.2提供了一套完整的开发流程和模块化的设计思路,有助于团队成员之间更好地协调工作。 - **代码风格差异**:不同开发者可能有不同的编码习惯,这会影响代码的可读性和维护性。通过采用统一的编码标准和框架...
ThinkPHP 3.2 是一个基于MVC模式的开源PHP框架,它是在ThinkPHP 3.1.2的基础上进行了重大改进和升级的版本。...通过深入理解和熟练运用ThinkPHP 3.2,开发者可以在项目开发中游刃有余,实现高效的工作流程。
《深入理解ThinkPHP3.2框架》 ThinkPHP3.2是一个基于MVC(Model-View-Controller)架构模式的轻量级PHP开发框架,它以其简洁、高效、易学的特点,深受初学者和专业开发者的喜爱。在这个精简版中,包含了框架的核心...
Thinkphp3.2框架中可以使用内置的函数或第三方库来实现。 3. 跳转处理:用户完成支付后,支付宝会重定向回商家设定的回调地址,此时需要解析返回参数并确认交易状态。 二、支付宝APP服务端异步通知接口 对于手机...
总结,Thinkphp3.2框架下整合各大支付平台在线支付,需要理解支付接口的原理,熟悉Thinkphp3.2的MVC结构,掌握各支付平台的接入流程和安全策略。通过合理的模块化设计和严谨的代码编写,可以实现稳定可靠的在线支付...
【标题】"THINKPHP3.2+mysql 二手商城源码"是一个基于ThinkPHP3.2框架和MySQL数据库的在线二手交易系统源代码。这个系统适用于学生进行毕业设计项目,具备用户登录注册、商品发布、购物车以及论坛交流等核心功能。 ...
ThinkPHP3.2是一个轻量级、模块化的框架,具有良好的代码组织结构和丰富的功能,简化了Web应用程序的开发流程。 系统的核心特性之一是支持图文形式的内容,这意味着用户不仅可以发布文字信息,还可以上传图片、图表...
《基于ThinkPHP3.2框架的毕设管理系统详解》 毕设管理系统的开发是一项重要的实践工作,它将理论知识与实际应用相结合,帮助学生更好地掌握软件工程的各个环节。本系统利用了ThinkPHP3.2这一成熟的PHP框架,结合...
本文将详细解析如何使用Thinkphp3.2框架对接微信JSAPI支付,以及对应的微信支付SDK和DEMO。 首先,微信JSAPI(JavaScript API)支付是微信支付的一种模式,它允许开发者通过在网页中调用微信的JSAPI接口,实现用户...
14. **异常处理**:ThinkPHP3.2对异常进行了封装,提供了统一的异常处理机制,简化了错误处理流程。 15. **多数据库支持**:框架支持多种数据库,如MySQL、SQLite、Oracle等,通过配置即可切换。 以上只是ThinkPHP...
标题 "thinkphp3.2多图上传预览+模板提交到后台" 描述了一个使用ThinkPHP3.2框架实现的多图上传功能,该功能允许用户在不依赖AJAX的情况下预览图片,并且只有在用户确认提交时才会真正上传文件,从而节省服务器资源...
【基于ThinkPHP3.2框架开发的企业网站管理系统】 ThinkPHP3.2是ThinkPHP框架的一个较早版本,它是一款国内非常流行的PHP开发框架,适用于快速构建企业级Web应用。该框架以其简洁、高效的代码风格,丰富的功能库以及...
Thinkphp3.2是Thinkphp框架的一个旧版本,但因其稳定性和易用性,至今仍被许多初学者和开发者所青睐。这个框架的核心特性包括MVC(Model-View-Controller)设计模式、AOP(面向切面编程)、自动加载类库以及丰富的...
【标题】中的“基于Thinkphp3.2的毕设选题系统”是一...总的来说,这个毕业设计项目旨在通过信息化手段优化毕业设计选题流程,提高管理效率,并且为开发者提供了实践Thinkphp3.2框架的机会,有助于提升其Web开发技能。
在"Thinkphp3.2版命名空间PHPExcel代码"这个主题中,我们将深入探讨如何在ThinkPHP 3.2框架中使用命名空间来集成和操作PHPExcel库。 首先,让我们理解一下命名空间(Namespace)在PHP中的概念。命名空间是PHP 5.3...
综上所述,《基于Thinkphp3.2的毕设选题系统实现》是一项集成了用户管理、题目管理、申请审批等功能的综合性系统,它的实施对于优化毕业设计流程,提升教育管理质量具有显著效果。通过学习和研究这个项目,开发者...