`

ThinkPHP3.2使用流程

阅读更多

在使用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:项目源码分析与学习指南》 ThinkPHP3.2是基于MVC模式的PHP框架,它为开发者提供了一种高效、简洁且强大的开发工具,使得开发人员能够快速地构建自己的Web应用。本项目源码提供了一个完整的...

    驾校在线考试系统 手机+PC+平板 自适应 Thinkphp3.2在线考题源码下载.zip

    ThinkPHP3.2是一个基于MVC模式的PHP框架,它简化了Web应用的开发流程,降低了开发成本。本系统利用ThinkPHP3.2的特性,如模型-视图-控制器架构、自动路由、数据库操作等,实现了试题库管理、用户权限控制、成绩统计...

    ThinkPHP3.2入门指引

    ThinkPHP3.2提供了一套完整的开发流程和模块化的设计思路,有助于团队成员之间更好地协调工作。 - **代码风格差异**:不同开发者可能有不同的编码习惯,这会影响代码的可读性和维护性。通过采用统一的编码标准和框架...

    thinkphp3.2

    ThinkPHP 3.2 是一个基于MVC模式的开源PHP框架,它是在ThinkPHP 3.1.2的基础上进行了重大改进和升级的版本。...通过深入理解和熟练运用ThinkPHP 3.2,开发者可以在项目开发中游刃有余,实现高效的工作流程。

    thinkphp3.2框架精简版

    《深入理解ThinkPHP3.2框架》 ThinkPHP3.2是一个基于MVC(Model-View-Controller)架构模式的轻量级PHP开发框架,它以其简洁、高效、易学的特点,深受初学者和专业开发者的喜爱。在这个精简版中,包含了框架的核心...

    Thinkphp3.2即时到帐接口+APP服务端支付宝接口

    Thinkphp3.2框架中可以使用内置的函数或第三方库来实现。 3. 跳转处理:用户完成支付后,支付宝会重定向回商家设定的回调地址,此时需要解析返回参数并确认交易状态。 二、支付宝APP服务端异步通知接口 对于手机...

    Thinkphp3.2各大支付平台在线支付

    总结,Thinkphp3.2框架下整合各大支付平台在线支付,需要理解支付接口的原理,熟悉Thinkphp3.2的MVC结构,掌握各支付平台的接入流程和安全策略。通过合理的模块化设计和严谨的代码编写,可以实现稳定可靠的在线支付...

    THINKPHP3.2+mysql 二手商城源码

    【标题】"THINKPHP3.2+mysql 二手商城源码"是一个基于ThinkPHP3.2框架和MySQL数据库的在线二手交易系统源代码。这个系统适用于学生进行毕业设计项目,具备用户登录注册、商品发布、购物车以及论坛交流等核心功能。 ...

    基于ThinkPHP3.2的开源内容付费系统

    ThinkPHP3.2是一个轻量级、模块化的框架,具有良好的代码组织结构和丰富的功能,简化了Web应用程序的开发流程。 系统的核心特性之一是支持图文形式的内容,这意味着用户不仅可以发布文字信息,还可以上传图片、图表...

    ThinkPHP3.2毕设管理系统.zip

    《基于ThinkPHP3.2框架的毕设管理系统详解》 毕设管理系统的开发是一项重要的实践工作,它将理论知识与实际应用相结合,帮助学生更好地掌握软件工程的各个环节。本系统利用了ThinkPHP3.2这一成熟的PHP框架,结合...

    Thinkphp3.2对接微信JSAPI支付的微信支付SDK和DEMO

    本文将详细解析如何使用Thinkphp3.2框架对接微信JSAPI支付,以及对应的微信支付SDK和DEMO。 首先,微信JSAPI(JavaScript API)支付是微信支付的一种模式,它允许开发者通过在网页中调用微信的JSAPI接口,实现用户...

    ThinkPhp3.2-wampserver2.5-Apache-2.4.9-Mysql-5.6.17-php5.5.12-64b

    在该集成环境中,ThinkPHP3.2与WAMPserver的结合使用,可以实现以下优势: 1. **快速开发**:ThinkPHP3.2的快速开发特性,结合WAMPserver的即装即用特性,让开发者能够迅速搭建项目框架,节省时间成本。 2. **性能...

    ThinkPHP3.2完全开发手册CHM[2014-01-15].zip

    14. **异常处理**:ThinkPHP3.2对异常进行了封装,提供了统一的异常处理机制,简化了错误处理流程。 15. **多数据库支持**:框架支持多种数据库,如MySQL、SQLite、Oracle等,通过配置即可切换。 以上只是ThinkPHP...

    thinkphp3.2多图上传预览+模板提交到后台

    标题 "thinkphp3.2多图上传预览+模板提交到后台" 描述了一个使用ThinkPHP3.2框架实现的多图上传功能,该功能允许用户在不依赖AJAX的情况下预览图片,并且只有在用户确认提交时才会真正上传文件,从而节省服务器资源...

    基于ThinkPHP3.2框架开发的企业网站管理系统,提供更方便、更安全的WEB应用开发体验

    【基于ThinkPHP3.2框架开发的企业网站管理系统】 ThinkPHP3.2是ThinkPHP框架的一个较早版本,它是一款国内非常流行的PHP开发框架,适用于快速构建企业级Web应用。该框架以其简洁、高效的代码风格,丰富的功能库以及...

    PHP 本科生毕业设计 基于Thinkphp3.2的毕设选题系统.zip

    Thinkphp3.2是Thinkphp框架的一个旧版本,但因其稳定性和易用性,至今仍被许多初学者和开发者所青睐。这个框架的核心特性包括MVC(Model-View-Controller)设计模式、AOP(面向切面编程)、自动加载类库以及丰富的...

    本科生毕业设计 基于Thinkphp3.2的毕设选题系统 .zip

    【标题】中的“基于Thinkphp3.2的毕设选题系统”是一...总的来说,这个毕业设计项目旨在通过信息化手段优化毕业设计选题流程,提高管理效率,并且为开发者提供了实践Thinkphp3.2框架的机会,有助于提升其Web开发技能。

    Thinkphp3.2版命名空间PHPExcel代码

    在"Thinkphp3.2版命名空间PHPExcel代码"这个主题中,我们将深入探讨如何在ThinkPHP 3.2框架中使用命名空间来集成和操作PHPExcel库。 首先,让我们理解一下命名空间(Namespace)在PHP中的概念。命名空间是PHP 5.3...

    毕业设计-基于Thinkphp3.2的毕设选题系统实现

    综上所述,《基于Thinkphp3.2的毕设选题系统实现》是一项集成了用户管理、题目管理、申请审批等功能的综合性系统,它的实施对于优化毕业设计流程,提升教育管理质量具有显著效果。通过学习和研究这个项目,开发者...

Global site tag (gtag.js) - Google Analytics