ThinkPHP框架.doc

上传人:夏** 文档编号:544068574 上传时间:2023-07-17 格式:DOC 页数:29 大小:644.51KB
返回 下载 相关 举报
ThinkPHP框架.doc_第1页
第1页 / 共29页
ThinkPHP框架.doc_第2页
第2页 / 共29页
ThinkPHP框架.doc_第3页
第3页 / 共29页
ThinkPHP框架.doc_第4页
第4页 / 共29页
ThinkPHP框架.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《ThinkPHP框架.doc》由会员分享,可在线阅读,更多相关《ThinkPHP框架.doc(29页珍藏版)》请在金锄头文库上搜索。

1、第4章 ThinkPHP框架411第第 章章导读ThinkPHP框架ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,是为了敏捷Web应用开发和简化企业级应用开发而诞生的。ThinkPHP借鉴国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,采用单一入口模式等,融合了Struts的Action思想和JSP的TagLib(标签库)、RoR的ORM映射和ActiveRecord模式,封装了CURD和一些常用操作,在项目配置、类库导入、模版引擎、查询语言、自动验证、视图模型、项目编译、缓存机制、SEO支持、分布式数据库、多数据库

2、连接和切换、认证机制和扩展性方面均有独特的表现。通过本章的学习,读者将对ThinkPHP框架有深入的认识,并且能够达到简单应用的程度。: ThinkPHP项目创建流程: ThinkPHP项目目录结构、部署方案、命名规范和构建流程: ThinkPHP的配置: ThinkPHP的控制器: ThinkPHP的模型,模型的命名、实例化、属性访问: ThinkPHP的模型,连接数据库、创建数据、连贯操作以及CURD操作: ThinkPHP的视图: ThinkPHP的内置模板引擎4.1 ThinkPHP简介ThinkPHP可以更方便和快捷的开发和部署应用。其不仅仅是企业级应用,任何PHP应用开发都可以从T

3、hinkPHP的简单和快速的特性中受益。ThinkPHP本身具有很多的原创特性,并且倡导大道至简,开发由我的开发理念,用最少的代码完成更多的功能,宗旨就是让Web应用开发更简单、更快速。ThinkPHP遵循Apache2开源许可协议发布,意味着可以免费使用ThinkPHP,甚至允许把基于ThinkPHP开发的应用开源或商业产品发布/销售。ThinkPHP可以支持Windows/Unix服务器环境,可运行于包括Apache、IIS在内的多种Web服务器。需要PHP5.0及以上版本支持。支持MySQL、MsSQL、PgSQL、Sqlite、Oracle等数据库。ThinkPHP是一个免费开源、快捷

4、、简单的OOP轻量级PHP开发框架。它遵循Apache 2开源协议发布。是为了敏捷的企业级开发而诞生的。获取ThinkPHP的方式有很多。官方的网站为:http:/。SVN的下载地址为:完整版本http:/ ThinkPHP架构ThinkPHP遵循简洁实用的设计原则,兼顾开发速度和执行速度的同时,也注重易用性。本节内容将对ThinkPHP框架的整体思想和架构体系进行详细说明。4.2.1 ThinkPHP的目录结构ThinkPHP框架中目录分为两部分:系统目录和项目目录。系统目录是下载的ThinkPHP框架类库本身的,如表4.1所示。表4.1 系统目录目录 名 称主要作用Common包含框架的一

5、些公共文件、系统定义和惯例配置等Lang目录语言文件夹,目前ThinkPHP支持的语言包有简体中文、繁体中文、英文Lib系统的基类库目录。Tpl系统的模板目录Mode框架模式扩展目录Vendor第三方类库目录项目目录是用户实际应用的目录,如表4.2所示(ThinkPHP采用自动创建文件夹的机制,当用户布置好ThinkPHP的核心类库后,编写运行入口文件,则相关应用到的项目目录就会自动生成)。表4.2 项目目录目录 名 称主要作用index.php项目入口文件Common项目公共目录,放置项目公共函数Lang项目语言包目录(可选)Conf项目配置目录,放置配置文件Lib项目基目录,通常包括Act

6、ion和Model目录Tpl项目模板目录Runtime项目运行时目录,包括Cache、Temp、Data和Log4.2.2 自动生成目录下面通过一个示例,讲解在ThinkPHP框架中如何自动生成项目目录。例4.1 创建名称为4.1的项目,自动生成项目目录,其操作步骤如下。(实例位置:光盘mr044.1)(1)在网站根目录下创建文件夹,并命名为4.1。(2)将ThinkPHP核心类库存储于04目录下。(3)编写入口文件index.php,将其存储于4.1目录下。index.php文件代码如下:在运行index.php文件之前,4.1项目目录下只有一个index.php文件。但是,当在IE浏览器中

7、运行此项目后,将输出如图4.1所示的运行结果,此为ThinkPHP提供的测试内容。此时再次查看4.1项目目录,如图4.2所示。在项目根目录下自动生成项目目录。图4.1 已连接到ThinkPHP框架图4. 2 自动生成的项目目录4.2.3 项目目录部署方案在实际开发过程中,目录结构往往由于项目的复杂而变得复杂。这里向大家推荐两套标准的目录部署方案:方案一如图4.3所示。图4.3 项目部署方案一方案二采用分组模块,如图4.4所示。图4.4 项目部署方案二这样部署的好处是系统目录和项目目录可以存储于非Web访问目录下面,网站目录下面只需放置Public公共目录和index.php入口文件(如果是多个

8、项目的话,每个项目的入口文件都需要放到Web目录下面),从而提高网站的安全性。4.2.4 命名规范ThinkPHP框架有其自身的一定规范,要应用ThinkPHP框架开发项目,那麽就要尽量遵守它的规范。下面就介绍一下ThinkPHP的命名规范: 类文件都是以.class.php为后缀(这里指的是ThinkPHP内部使用的类库文件,不代表外部加载的类库文件),使用驼峰法命名,并且首字母大写,例如DbMysql.class.php。 函数、配置文件等其他类库文件之外的一般是以.php为后缀(第三方引入的不做要求)。 确保文件的命名和调用大小写一致,是由于在类Unix系统上面,对大小写是敏感的(而Th

9、inkPHP在调试模式下面,即使在Windows平台也会严格检查大小写)。 类名和文件名一致(包括上面说的大小写一致),例如 UserAction类的文件命名是UserAction.class.php, InfoModel类的文件名是InfoModel.class.php, 函数的命名使用小写字母和下划线的方式,例如 get_client_ip Action控制器类以Action为后缀,例如 UserAction、InfoAction 模型类以Model为后缀,例如UserModel、InfoModel 方法的命名使用驼峰法,并且首字母小写,例如 getUserName 属性的命名使用驼峰法,

10、并且首字母小写,例如 tableName 以双下划线“_”打头的函数或方法作为魔法方法,例如 _call 和 _autoload 常量以大写字母和下划线命名,例如 HAS_ONE和 MANY_TO_MANY 配置参数以大写字母和下划线命名,例如HTML_CACHE_ON 语言变量以大写字母和下划线命名,例如MY_LANG,以下划线开头的语言变量通常用于系统语言变量,例如 _CLASS_NOT_EXIST_。 数据表和字段采用小写加下划线方式命名,例如 think_user 和 user_name说明:在ThinkPHP里面,有一个函数命名的特例,就是单字母大写函数,这类函数通常是某些操作的快捷

11、定义,或者有特殊的作用。例如,ADSL方法等等,他们有着特殊的含义。另外一点,ThinkPHP默认使用UTF-8编码,所以请确保程序文件采用UTF-8编码格式保存,并且去掉BOM信息头(去掉BOM头信息有很多方式,不同的编辑器都有设置方法,也可以用工具进行统一检测和处理)。4.2.5 项目构建流程ThinkPHP具有项目目录自动创建功能,因此构建项目应用程序非常简单,您只需定义好项目的入口文件,在第一次访问入口文件时,系统会自动根据在入口文件中所定义的目录路径,迅速创建好项目的相关目录结构。在完成项目目录结构的创建后,看接下来都需要进行哪些工作,如图4.5所示,展示了ThinkPHP创建项目的

12、基本流程。图4.5 ThinkPHP项目构建流程例4.2 根据上述讲解的流程,创建一个名称为4.2的项目,读取db_database04数据库中的数据,其操作步骤如下。(实例位置:光盘mr044.2)(1)创建db_database04数据库,创建think_user数据表。数据表结构如图4.6所示图4.6 ThinkPHP项目构建流程(2)载入ThinkPHP系统文件,编辑入口文件index.php,创建名称为4.2的项目。index.php的代码如下:(3)自动生成的项目目录中已经创建了一个空的项目配置文件,位于项目的Conf目录下面,名称是config.php。重新编辑此文件,完成数据库的配置。config.php文件的代码如下: true, / 开启调试模式DB_TYPE= mysql, / 数据库类型DB_HOST= localhost, / 数据库服务器地址DB_NAME=demo, / 数据库名称DB_USER=root, / 数据库用户名DB_PWD=111, / 数据库密码DB_PORT=3306, / 数据库端口DB_PREFIX=think_, / 数据表前缀);?(4)在项目的LibAction目录下,定位到自动生成的IndexA

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号