ThinkPHP演讲稿.ppt
《ThinkPHP演讲稿.ppt》由会员分享,可在线阅读,更多相关《ThinkPHP演讲稿.ppt(41页珍藏版)》请在三一办公上搜索。
1、什么是 ThinkPHP,ThinkPHP 是一个免费开源的,快速、简单的面向对象的轻量级 PHP 开发框架,遵循 Apache2 开源协议发布,是为了简化企业级应用开发和敏捷 WEB 应用开发而诞生的。借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和 MVC 模式,融合了 Struts 的 Action 思想和 JSP 的 TagLib(标签库)、RoR 的 ORM 映射和 ActiveRecord 模式,封装了 CURD 和一些常用操作,单一入口模式等,在模版引擎、缓存机制、认证机制和扩展性方面均有独特的表现。使用 ThinkPHP,你可以更方便和快捷的开发和部署应用。当然不仅仅是
2、企业级应用,任何 PHP 应用开发都可以从 ThinkPHP 的简单、兼容和快速的特性中受益。简洁、快速和实用是 ThinkPHP 发展秉承的宗旨,为此 ThinkPHP 会不断吸收和融入更好的技术以保证其新鲜和活力,提供 WEB 应用开发的最佳实践!ThinkPHP 遵循 Apache2 开源许可协议发布,意味着你可以免费使用 ThinkPHP,甚至允许把你的ThinkPHP 应用采用商业闭源发布。,环境要求,ThinkPHP 可以支持 WIN/Unix 服务器环境,正 式版需要 PHP5.0 以上版本支持,支持 Mysql、P gSQL、Sqlite 以及 PDO 等多种数据库,Think
3、PHP 框架本身没有什么特别模块要求,具 体的应用系统运行环境要求视开发所涉及的模块。,获取 ThinkPHP,获取 ThinkPHP 的方式很多,官方网站(http:/)是最好的下载和文档获取来源。官方首页提供了 ThinkPHP 的核心包和完整包下载,_核心包仅仅包含 ThinkPHP 框架本身_完整包除了核心框架外,还包括示例、手册和开发指南,构建项目,ThinkPHP 具有项目目录自动创建功能,因此构建项目应用程序非常简单,您只需要定义好项目的入口文件,在第一次访问入口文件的时候,系统就会自动根据您在入口文件中所定义的目录路径,迅速为您创建好项目的相关目录结构。这里以 Myapp 为项
4、目名称进行示例,先创建好目录结构后,再逐一为您介绍各目录功能用途。具体操作步骤:1.在 www 根目录下新建一个文件夹,起名为 Myapp。2.下载 ThinkPHP 核心文件,将其复制到 Myapp 目录下。3.在 Myapp 目录下,新建一个入口文件,起名为 index.php,代码如下,4.打开浏览器,访问该项目的入口文件:这时可以看到项目构建成功后的提示画面,并且在 Myapp目录下,已为您构建好了项目目录。注意:如果是 linux 环境下面部署,需要给项目入口文件里面指定的路径设置可写权限。这些目录仅仅针对项目目录,系统目录无需设置任何可写权限,因为每个项目的模版缓存和数据缓存,以及
5、日志文件都是独立的。(I),ThinkPHP 框架目录结构,ThinkPHP.php:ThinkPHP 公共文件。Common 目录:系统公共文件目录Lang 目录:系统语言包目录Lib 目录:系统基类库目录Tpl 目录:框架系统模版目录Vendor 目录:第三方类库目录另外系统基类库目录 Lib 文件夹下,还有相关的子目录:Think 文件夹:系统运行库目录(必须)ORG 文件夹:扩展类库目录(非必须)具体内容可以打开目录查看结构和文件组成再来看看系统自动生成的Myapp项目目录结构,Cache 目录:项目自动生成的模版缓存Common 目录:项目中应用的公共文件,通常包含 common.p
6、hp 公共函数文件。Conf 目录:项目各项配置文件。Data 目录:项目的数据缓存目录。Lang 目录:项目的语言包文件。Lib 目录:应用类库目录,在这文件夹内通常包含两个子目录:Action 和 Model,Action 目录放置命名控制器文件,Model 目录放置模块类文件。除此之外,还可以放置其他的项目类库。Logs 目录:项目的日志文件。Temp 目录:数据缓存目录,存放项目缓存文件。Tpl 目录:项目模板文件,按风格创建对应的子目录。注意:在 Linux 环境下,项目目录的 Cache(模版缓存目录)、Data(数据缓存目录)、Temp(编译缓存目录)、Logs(日志文件目录)必
7、须设置为可写。,创建数据表和项目配置,1)创建数据库2)在 config.php 配置文件中设置数据库访问的连接信息3)在 项目/Lib/Model 目录下,建立模型文件,就可以直接对数据表进行增删改查等操作了。具体操作步骤:(以 MySQL 为例,如果是其他数据库请修改后再执行)1)创建一个数据库,名为 myapp2)运行下面的 sql 增加一个 think_message 表。3)在 Myapp/Conf 目录下面创建一个 config.php 项目配置文件,代码如下:,mysql,/指定数据库是 mysqlDB_HOST=localhost,/服务器地址DB_NAME=myapp,/数据
8、库名DB_USER=root,/用户名DB_PWD=123456,/您的数据库连接密码DB_PORT=3306,/端口DB_PREFIX=think_,/数据表前缀(与数据库 myapp 中的表 think_message 对应));?注意:请确保配置文件里面的设置和你本地的数据库连接信息一致。4)在 Myapp/Lib/Model/目录下,新建一个文件,代码如下:class MessageModel extends Model(II),ThinkPHP 的表和模型的命名规则,ThinkPHP 要求数据库的表名和模型类(model)的命名要遵循一定的规范,首先数据库的表名采用小写形式,模型类文
9、件名的命名规则是:不含前缀的数据表表名(采用驼峰命名法)+Model在创建 message 表时,我们使用的名称是 think_message,think_就是数据表前缀。在配置文件中我们已使用DB_PREFIX=think_ 作出了指定。例如:,控制器和 URL 访问,如何定义一个应用模块?在项目目录/Lib/Action 文件夹下,建立一个“模块名”文件,并继承 Action 类则可。如何定义一个操作?在应用模块类的代码中,添加一个 function 方法则可如何访问具体操作?http:/服务器地址/项目地址/模块名称/操作名称如何通过 URL 传递变量?http:/服务器地址/项目地址/
10、模块名称/操作名称/变量名 1/变量值 1/变量名 2/变量值 2/(III),ThinkPHP的数据操作,使用 ThinkPHP 开发时,项 目中每一个继承了 Model 的模型类,都 会对应着一个数据表(或者视图),模型与数据表存在一种映射关系。(例如之前我们所定义的 MessageModel 类,对应的就是think_message 表)。开发过程中,只要简单地定义好与数据表对应的模型类(),甚至无需增加任何属性和方法就可以进行对数据操作了。ThinkPHP 提供了灵活和方便的数据操作方法,不仅实现了对数据库操作的四个基本操作(CURD):创建、更新、读取和删除的实现,还内置了很多实用的
11、数据操作方法。,如何添加记录到数据库表?1)获取(设置)要添加的数据内容。2)实例化数据模型,调用 Model 类的 add()方法即可添加。具体操作实践一 添加数据:数据对象赋值1.1 在 Index 模块中新添一个方法 add1,代码如下:public function add1()/使用 D 函数实例化消息模型类$Message=D(Message);/然后给数据对象赋值$Message-title=ThinkPHP;$Message-email=ThinkPHP;/使用 add 方法保存内容$Message-add();/使用 select 方法进行数据查询$rs=$Message-s
12、elect();/使用 dump 函数 输出查询数据查看dump($rs);,1.2 在浏览器中访问 http:/localhost/index.php/Index/add1,成功可以看到如下数据:array(1)0=array(6)id=string(1)1title=string(8)ThinkPHPcontent=string(0)create_time=string(1)0email=string(18)ThinkPHPstatus=string(1)1D()函数 通常要实例化一个类,都是导入这个类文件,然后使用 new 关键字进行实例化 相当于 new Model(message);
13、dump()函数是 ThinkPHP 内置的对浏览器友好的变量输出函数,操作实践二 添加数据:数组赋值1 在 Index 模块中再添加一个方法 add2,代码如下:public function add2()/使用 D 函数实例化一个模型类$dao=D(Message);/然后给数据对象赋值$datatitle=敏捷式开发框架 ThinkPHP!;$dataemail=email=TP;/email$datacreate_time=time();$datacontent=使用 ThinkPHP 进行数据操作;/使用 add 方法保存内容/不需要传入主键的值就可以新建数据$dao-add($da
14、ta);/使用 select 方法进行数据查询$rs=$dao-select();header(ContentType:text/html;charset=utf8);dump($rs);,2 在浏览器中访问 http:/localhost/index.php/Index/add2,成 功后同样可以看到刚加入的数据。add()方法 添加数据可以通过 add()方法进行实现,如果表的主键是自动增长类型,不需要传入主键的值就可以新建数据,并且如果插入数据成功的话,add 方法的返回值就是最新插入的主键值,可以直接获取。例如:$insertId=$dao-add($data);select()方法对
15、数据进行查询使用 select()方法,当该方法没有传入任何参数时,会获取全部数据。具体操作实践三 添加数据:利用表单创建数据并添加记录一般来说,在表中添加数据都是通过表单来建立,下面我们使用 Message 模块进行实践体验。1 打开 Myapp/Lib/Action/MessageAction.class.php 文件,将原来的操作方法代码删去,并新添一个方法 add(),代码很简单,只要渲染模板进行输出则可,如下所示:public function add()$this-assign(title,添加数据);$this-display();,2 对应 Message 应用模块,我 们在
16、Myapp/Tpl/目录下新建一个文件夹,起 名为 Message,并在 Myapp/Tpl/Message 目录下新添一个模板文件 add.html,关键代码如下:标题:邮箱:内容:3 在 MessageAction.class.php 中添加一个表单处理的方法 insert,代码如下:/处理表单数据的方法,public function insert()$dao=D(Message);/调用 Model 类的 create 方法创建通过表单提交的数据对象$vo=$dao-create();/创建失败提示if(false=$vo)exit($dao-getError().返 回);/当主键是
17、自动增长类型时,方法的返回值就是最新插入的主键值,可以直接获取$rs=$dao-add();/添加数据失败提示if(!$rs)exit($dao-getError().返 回);/成功提示并返回,使用了函数 redirect($url,$time=0,$msg=)redirect(add,2,数据添加成功!);,4 接着,通过访问 http:/localhost/index.php/Message/add 进行表单数据提交测试。上面示例中的action 提交到的处理地址是_URL_/insert 模板引擎会自动将这句替换为/index.php/Message/insert常见模板使用的特殊变量
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ThinkPHP 演讲
链接地址:https://www.31ppt.com/p-5450859.html