欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    ThinkPHP和CodeIgniter的粗略比较.docx

    • 资源ID:9925218       资源大小:205.51KB        全文页数:46页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    ThinkPHP和CodeIgniter的粗略比较.docx

    1、ThinkPHP和CodeIgniter的粗略比较ThinkPHP 与 CodeIgniter 开发框架的粗略简单不细致比较Comparison of the development framework,ThinkPHP and CodeIgniterAuthor:JinyaNickname:EI NinoNWSUAF Information engineering college 未经本论文作者的书面授权,依法收存和保管本论文书面版本、电子版本的任何单位和个人,均不得对本论文的全部或部分内容进行任何形式的复制、修改、发行、出租、改编等有碍作者著作权的商业性使用(但纯学术性使用不在此限)。否则

    2、,应承担侵权的法律责任。摘 要ThinkPHP 与 CodeIgniter 开发框架的比较随着PHP在网站开发中越来越流行,他的特点是快速,简单,门槛低,能够短时间内开发出不错的网站,原生PHP语法虽然已经很简单了,但是要是更快速的开发出有效率,安全性能高的网站也实属不易,所以诞生了各种PHP开发框架,最具著名的也就是PHP自家的框架Zend Framework 框架,也有许多其他不错的框架,比如Yii ,CakePHP ,PHPDevShell ,Akelos 等等十分优秀的框架.ThinkPHP是国内一款优秀的轻量级PHP开发框架,经历了快10年的发展实际,现在已经十分成熟,其编译机制不输

    3、给国外的一些框架.同时作为国人自己的框架,其手册和函数说明等等都是中文的,使得国内PHP程序员能够快速的了解ThinkPHP语法,更深入的熟悉ThinkPHP的内部机理,这是国外的框架不能比拟的,因为国外的大多数框架的说明文档都是英文,虽然有中文版本,但是翻译过来的版本必然不能完全诠释英文原版的道理.ThinkPHP在国内近几年里发展非常迅速,现在国内外已有10000多运营网站使用了ThinkPHP框架.CodeIgniter是国外的一款举足轻重的轻量级PHP开发框架,一个为建立PHP网站的人们所设计的工具包。其目标在于快速的开发项目:它提供了丰富的库组以完成常见的任务,以及简单的界面,富有条

    4、理性的架构来访问这些库。使用CodeIgniter开发可以往项目中注入更多的创造力,因为它节省了大量编码的时间。其各种操作都简洁明了,条例清晰,对于了解PHP语法并且要快速开发的人来说,是一个十分便捷的工具.本论文通过对着两个框架的一些机制和使用原理进行解析,是读者能够清楚了解到他们的区别和相似之处,可以选择自己喜欢的框架来开发网站应用. 关键词: ThinkPHP,CodeIgniter, PHP, 框架AbstractComparison of the development framework,ThinkPHP and CodeIgniterWith PHP website develo

    5、pment is becoming more and more popular, he is fast, simple, low-threshold, short time to develop a good site, native PHP syntax is very simple, but if more rapid development of efficientwebsite with high safety performance is not easy, so the birth of the various PHP development framework, the most

    6、 famous is the PHP framework Zend Frameworks own framework, there are many other good framework, such as Yii, CakePHP, PHPDevShell Akelosand so a very good framework.ThinkPHP is the domestic an excellent lightweight PHP development framework, after almost 10 years of actual development, is now very

    7、mature, compilation mechanism is not lost to some foreign frame at the same time as people own framework, its manual and function the instructions so are the Chinese, so that domestic PHP programmers to quickly about ThinkPHP syntax familiar ThinkPHP the internal mechanism, this framework can not be

    8、 compared to the foreign, because most foreign framework documentation are in English , although the Chinese version, translated version must not be completely interpretation of the truth of the English original. the recent years ThinkPHP in the country is developing very rapidly, and now at home an

    9、d abroad has more than 10,000 operators the site use ThinkPHP framework.CodeIgniter abroad a pivotal lightweight PHP development framework, a toolkit designed to build PHP website people. Its goal is the rapid development of the project: It provides a rich library group to complete common tasks, as

    10、well as a simple interface wealthy rational framework to access these libraries. Use CodeIgniter developers can inject more creativity to the project, because it saves a lot of coding time. Its various operations are concise, clear, regulations, is a very convenient tool for people who know PHP synt

    11、ax and to quickly develop.This thesis is to parse through the front of the two framework mechanism and the use of the principle, the reader can clearly understand their differences and similarities, you can choose your favorite framework to develop web applications.Keywords: ThinkPHP, CodeIgniter ,

    12、PHP, framework目 录摘 要 IAbstract III目 录 I第1章绪 论 11.1 研究背景 11.2 使用框架 11.3 开发环境 2第2章ThinkPHP 和CodeIgniter 32.1 ThinkPHP 32.1.1 ThinkPHP 介绍 32.1.2 ThinkPHP 的分层架构 32.1.3 ThinkPHP 的MVC模式 42.1.4 ThinkPHP 独创的核心编译和项目编译机制 42.1.5 ThinkPHP 特性 42.2 CodeIgniter 82.2.1 CodeIgniter 介绍 82.2.2 CodeIgniter 技术和架构 82.2.3

    13、 CodeIgniter 设计和目录 92.2.3 CodeIgniter 特性 9第3章ThinkPHP 和 CodeIgniter在应用中比较 113.1 配置ThinkPHP 113.2 配置CodeIgniter 133.3 Hello World 153.3.1 ThinkPHP 输出 163.3.2 CodeIgniter 输出 183.4 $_POST 和 $_GET方法 203.4.1 ThinkPHP 的表单 213.4.2 CodeIgniter的表单 233.5 Model的使用 253.5.1 ThinkPHP的Model 253.5.2 CodeIgniter的Mod

    14、el 27第4章特性比较 284.1 编译与非编译型 28第5章结论 335.1 论文目的 335.1.1 使用习惯 335.1.2 网站效率 335.1.2 致初学者 34参考文献 35作者简介及在学期间所取得的科研成果 36致 谢 37第1章绪 论1.1 研究背景许多PHP程序员经历了各种开发环境之后,肯定有自己的一套框架选择池,不同的网站和应用需要不同的框架,但是此论文的论述不在这里讨论,只对ThinkPHP和CodeIgniter的一些配置,语法,和一些特性区别给予论述,使读者对这两个框架有更好的了解.1.2 使用框架开发者可能出于不同的考虑而使用PHP开发框架,不过首当其冲的原因是为

    15、了加速开发过程。相似工程之间的代码重用能够节省开发者大量的时间和精力。PHP开发框架内置了预建的模块,免去了冗长又令人厌烦的编程工作。这样开发者就能够把时间活在开发实际程序上,而不是每一次都要为每一个项目重建基础模块。稳定性是开发者使用框架的另一个重要原因。尽管简单是PHP最大的资本,也是许多人喜爱这个脚本语言的原因,它也是PHP的“潘多拉之盒”,尤其是那些初学者而言,PHP是如此的简单以至于他们会完全没有意识地写出低质量的代码。这样的PHP程序可能在大多数时间内仍正常工作,但你可能已在代码中留下了巨大的安全漏洞,使其易受攻击。要时刻牢记PHP是一门很宽松的语言十分重要,因此确保不在代码中遗留

    16、任何安全漏洞是重中之重即使程序看起来工作正常。最后一点,PHP开发框架是可扩展的,并且有许多框架可供选择。你也可以创造你自己的,不过许多开发者决定从那些流行的知名的开发框架中做选择,因为它们往往有着庞大的支持团队,以及相关的论坛/社区方便你与其他使用同一个框架的开发者相互交流。注意,你应当事先检验你的项目是否需要使用框架,这里提供一份简单的列表以供参考:使用框架能否节省你(和其他任何会使用它的人)的时间和精力?是否能够让程序得到更好的表现?能否提高稳定性?如果你对上面任何一个问题的回答是肯定的,那么使用PHP开发框架对于这个项目就可能是正确的选择。 1.3 开发环境实验环境:Windows 7

    17、 Professional + Apache 2.0 + Mysql 5.0 +PHP 5.4文件目录:根目录/TPCITPCI下包括TP和CI两个文件夹,分别作TP实验台的根目录和CI实验台根目录.ThinkPHP版本 3.0CodeIgniter 版本2.1.2使用编辑器 Notepad+第2章ThinkPHP 和CodeIgniter 2.1 ThinkPHP2.1.1 ThinkPHP 介绍ThinkPHP可以支持WIN/Unix服务器环境,正式版需要PHP5.0以上版本支持,支持Mysql、PgSQL、Sqlite以及PDO等多种数据库,ThinkPHP框架本身没有什么特别模块要求,

    18、具体的应用系统运行环境要求视开发所涉及的模块。使用ThinkPHP,你可以更方便和快捷的开发和部署应用,当然不仅仅是企业级应用,任何PHP应用开发都可以从ThinkPHP的简单、兼容和快速的特性中受益。简洁、快速和实用是ThinkPHP发展秉承的宗旨,为此ThinkPHP会不断吸收和融入更好的技术以保证其新鲜和活力,提供WEB应用开发的最佳实践。作为一个整体开发解决方案,ThinkPHP能够解决应用开发中的大多数需要,因为其自身包含了底层架构、兼容处理、基类库、数据库访问层、模板引擎、缓存机制、插件机制、角色认证、表单处理等常用的组件,并且对于跨版本、跨平台和跨数据库移植都比较方便。并且每个组

    19、件都是精心设计和完善的,应用开发过程仅仅需要关注您的业务逻辑。ThinkPHP遵循 Apache2 开源许可协议发布,意味着用户可以免费使用ThinkPHP,甚至允许把用户的ThinkPHP应用采用商业闭源发布.12.1.2 ThinkPHP 的分层架构ThinkPHP的分层架构采用三层架构模式:表现层:包含模板视图、用户界面、JS、Flash等通过模板引擎的支持,可以使用标签定义简化表现层的定义工作。业务层:包含业务接口层、业务逻辑层、实体层、数据访问层Action控制器作为业务接口层,提供系统各种业务操作的入口。因此,不提倡在控制器类中写过多的业务逻辑代码,虽然说很难严格控制。具体的业务逻

    20、辑应该封装到数据访问对象(Dao)类中实现,如果觉得过于复杂,还可以把子业务在Helper类中包装后统一调用。业务处理过程一般会构造出业务实体对象(如Vo对象),对业务实体对象的存取通过数据访问层完成。数据访问层把实体对象和数据库数据之间建立映射关系,并且封装了通用的数据操作。数据层:目前支持的数据库有MySql、MsSql、PgSql、Oracle、Sqlite,最新版本已经提供PDO的支持,数据库的选用和业务逻辑没有关系。 12.1.3 ThinkPHP 的MVC模式模型(M):模型的定义由Model类来完成。Model类位于项目目录下面的LibModel目录。 控制器(C):应用控制器(

    21、核心控制器)和Action控制器都承担了控制器的角色,区别在于Action控制器完成业务过程,而应用控制器(App类)负责调度控制。Action控制器位于项目目录下面的LibAction目录。视图(V):模板的实现是和框架无关的,做到了100%分离,可以独立预览和制作。模板目录位于项目目录下面的Tpl目录。 独创的核心编译和项目编译机制 .12.1.4 ThinkPHP 独创的核心编译和项目编译机制ThinkTemplate是一个使用了XML标签库技术的编译型模板引擎,支持两种类型的模板标签,使用了动态编译和缓存技术,而且支持自定义标签库。其特点包括:1)支持XML标签库和普通标签的混合定义;

    22、2)编译一次,下次直接运行而无需重新编译;3)模板文件更新后,自动更新模板缓存;4)自动加载当前操作的模板缓存文件,无需指定模板文件名称;5)支持编码转换和Content-Type更换;6)模板变量输出前缀支持,避免变量名称冲突;7)模板常量替换,无需设置模板变量;8)支持变量组合调节器和格式化功能;9)支持替换其它模板引擎插件使用;10)支持获取模板页面内容12.1.5 ThinkPHP 特性内置XML模板引擎,支持标签库富模型支持1)聚合模型:聚合模型是一种虚拟模型,用于把数据表的字段抽象化,更加容易理解和操作。我们可以把数据表中的某些属性进行数据封装,这样就把枯燥的数据表字段赋予更好的可

    23、读性。2)静态模型:静态模型可以让模型的数据静态化,而不需要频繁和数据库打交道,可以用于不经常不变的数据表。而且ThinkPHP在ORM层上面模拟实现了数据库的视图功能,这是ThinkPHP独创的一项技术,使得多表的关联查询具有更高的效率和可操作性,而无需定义复杂的关联关系,让关联关系更加浅显易懂。有些时候,数据表的数据一旦添加后就不再容易变化,我们更希望把这样的模型数据静态化,而不需要再次访问数据库。ThinkPHP支持静态模型的概念,一旦把模型设置为静态,那么会在第一次初始化的时候获取数据表的全部数据,并生成缓存,以后不会再连接数据库。而只需要直接访问模型的dataList数据即可。3)视

    24、图模型ThinkPHP在ORM模型里面模拟实现了数据库的视图模型,该功能可以用于多表查询。要定义视图对象,需要设置viewModel为true,然后设置viewFields属性即可。CURD和操作高度自动化支持ThinkPHP提供了灵活和方便的数据操作方法,不仅实现了对数据库操作的四大基本操作(CURD):创建、读取、更新和删除的实现,还内置了很多实用的数据操作方法,提供了ActiveRecords模式的最佳体验。丰富的查询语言支持ThinkPHP大多数情况使用的都是对象查询,因为充分利用了ORM查询语言,了解查询条件的定义对使用对象查询非常有帮助,对于复杂的查询,或者从安全方面考虑,可以使用

    25、HashMap对象或者索引数组来传递查询条件。目录结构自动创建THINKPHP目录结构ThinkPHP具有项目目录自动创建功能,你只需要定义好项目的入口文件,第一次执行入口文件的时候,系统会自动创建项目的相关目录结构,如果是linux环境下面需要给项目入口文件里面指定的路径设置可写权限。分布式数据库支持ThinkPHP的模型支持主从式数据库的连接,配置DB_DEPLOY_TYPE为1可以采用分布式数据库支持。多数据库连接和切换支持如果需要在特殊的时候连接多个数据库,那么可以尝试使用ThinkPHP的多数据库连接特性:包括相同类型的数据库和不同类型的数据库。(注意:所谓的相同类型数据库的定义是指

    26、和项目配置文件或者模型的数据库连接的数据库类型相同。)ActiveRecords模式和丰富的ROR特性ThinkPHP实现了ActiveRecords模式的ORM模型,采用了非标准的ORM模型:表映射到类,记录(集)映射到对象,字段属性映射到对象的虚拟属性。最大的特点就是使用方便,从而达到敏捷开发的目的。灵活简单的项目配置ThinkPHP提供了灵活的配置功能,采用最有效率的PHP返回数组方式定义,支持惯例配置、项目配置、调试配置和模块配置,并且会自动生成配置缓存文件,无需重复解析的开销。对于有些简单的应用,你无需配置任何配置文件,而对于复杂的要求,你还可以增加模块配置文件,另外ThinkPHP

    27、的动态配置使得你在开发过程中可以灵活的调整配置参数。ThinkPHP在项目配置上面创造了自己独有的分层配置模式,其配置层次体现在:惯例配置-项目配置-模块配置-操作(动态)配置,优先顺序从右到左(在没有生效的前提下)。模型自动验证和处理系统内置了数据对象的自动验证功能,而大多数情况下面,数据对象是由表单提交的$_POST数据创建。需要使用系统的自动验证功能,只需要在Model类里面定义$_validate属性,是由多个验证因子组成的数组,支持的验证因子格式:验证字段,验证规则,错误提示,验证条件,附加规则,验证时间。静态页面生成和多元化缓存机制ThinkPHP内置了静态缓存的功能,并且支持静态

    28、缓存的规则定义。要使用静态缓存功能,需要开启HTML_CACHE_ON参数,并且在项目配置目录下面增加静态缓存规则文件htmls.php。丰富的数据库及PDO支持SEO和URL路由支持AJAX支持易扩展的系统基类库系统基类库ThinkPHP框架通过基类库的概念把所有系统类库都集成在一起,包括ThinkPHP的核心类库。目前的基类库分成Think核心类库、ORG扩展类库,在这主要介绍的是核心基类库,核心基类库的作用是完成框架的通用性开发而必须的基础类和常用工具类等,包含有:Think.Core 核心类库包Think.Db 数据库类库包Think.Util 系统工具类库包Think.Templat

    29、e 内置模板引擎类库包Think.Exception 异常处理类库包函数库ThinkPHP内置了一个系统公共函数库,提供了一些系统需要的函数,系统函数库位于ThinkPHP的Common目录下面,名称为functions.php。每个项目可以定义自己的函数库,位于项目的Common目录下面的common.php文件。如果项目在Common目录下面有定义自己的common.php文件,框架会在初始化的时候自动导入,而无需自己导入。匹配导入Import方法是ThinkPHP内建的类库和文件导入方法,提供了方便和灵活的类似于命名空间的文件导入机制。自动编码转换ThinkPHP框架的文件全部采用UTF

    30、-8编码格式,UTF-8的支持和自动输出编码转换的功能让页面表现更加灵活。您可以配置输出的页面编码格式,如gb2312等(默认采用UTF-8输出)。系统根据配置文件中设置的编码格式自动对页面进行编码转换,支持iconv和mb_string两种方式,为了提高效率,如果系统的模板编码设置和输出编码设置项相同,则不会进行编码转换。ThinkPHP可以设置模板编码、输出编码和数据库编码,并自动完成转换工作,让你的应用不再受编码的苦恼。组件和插件支持基于角色的权限控制体系企业级的应用是离不开安全保护的,ThinkPHP以基于Spring的Acegi安全系统作为参考原型,并做了简化,以适合目前的Think

    31、PHP结构,提供了一个多层的、可定制的安全体系来为应用开发提供安全控制。安全体系中主要有: 安全拦截器、认证管理器、决策访问管理器 、运行身份管理器。22.2 CodeIgniter2.2.1 CodeIgniter 介绍CodeIgniter 是一套给 PHP 网站开发者使用的应用程序开发框架和工具包。它提供一套丰富的标准库以及简单的接口和逻辑结构,其目的是使开发人员更快速地进行项目开发。使用 CodeIgniter 可以减少代码的编写量,并将你的精力投入到项目的创造性开发上。CodeIgniter是由Ellislab公司的CEORickEllis开发的。其核心框架是为这个程序特别编写的,而其他很多类库、辅助函数和子系统则来自于RickEllis和PaulBurdick编写的内容管理系统ExpressionEngine。来自RubyonRails的灵感启发我们创造了一个PHP框架,并且将框架的概念引入到网络社区的一般意识中。22.2.2 CodeIgniter 技术和架构CodeIgniter 的目标是在最小化,最轻量级的开发包中得到最大的执行效率、功能和灵活性。为了达到这个目标,我们在开发过程的每一步都致力于基准测试、重构和简化工作,拒绝加入任何对实现目标没有帮助的东西。从技术和


    注意事项

    本文(ThinkPHP和CodeIgniter的粗略比较.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开