e框架php
A. YII框架和THINKphp的区别
这不是一篇评测文章。只是我的喃喃碎语,不计较真。而且,下面的内容真的会很杂,不全面,而且你不可能有和我一样的开发经历。所以对于某些我醉心的特性,你可能不会理解。同样的,我也不可能全部理解你为何对某一项特性十分喜欢。
关于ThinkPHP(以下简称TP)和Yii Framework(以下简称Yii)的背景、作者和速度方面就不涉及了。因为速度是一个很复杂的问题,牵扯的因素很多。我不得不承认ThinkPHP是 一个是国内框架运营方面的榜样(当FleaPHP/QeePHP最火的那阵,我说过FleaPHP/QeePHP会倒的)。
运行环境:
Windows NT ACER 5.1 build 2600 (Windows XP Professional Service Pack 3) i586
Apache/2.2.14 (Win32) DAV/2 mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1
Mysql 5.1.4
下载的代码:
ThinkPHP 2.1,带扩展、示例和文档完整包,发布于2011年5月1日,下载地址是 http://thinkphp.cn/Down/download/178
Yii 1.1.7,内含框架、实例和环境检测,下载地址 http://yii.googlecode.com/files/yii-1.1.7.r3135.tar.gz 文档需要另外下载
中文化方面,TP和Yii都可以满足中文用户的需求。但是由于Yii是国际化的项目,所以代码的注释仍旧是英文。不过两个框架的作者都是国人(没错,Yii作者的国籍仍旧是中国),所以交流起来还是很方便的。
是Yii自带了一个环境检测脚本,可以告诉你当前的主机环境是否满足Yii的需求。检测的内容也比较详细。我觉得这点比较方便。TP最低需要PHP5.0支持,而Yii最低需要PHP 5.1.0支持。由于我使用PHP 5.3,所以对我来说没有什么区别。
Yii是纯面向对象的的框架,而TP提供了一系列单字母函数。相比之下我更喜欢Yii的方式,因为可以避免项目之间的冲突。
TP在以前的版本的基类Base类,当时就和一个整合Ucenter时的类冲突了,一度很苦恼。现在TP的各种基类仍旧是直接命名,如Think 类。在项目开发过程中就会体会命名冲突的痛苦之处。Yii则在框架的类都加上了C前缀(接口是I前缀),有效地避免了这个问题。Yii中的 CComponent是所有类的基类,可以看看CComponent的代码,很有用。
说到命名问题了,就不得不说自动导入的问题。TP的类导入和Yii的代码风格差不多。但是Yii还支持PHP的命名空间和自定义autoload方法。
TP有个特色叫项目编译。我觉得与其使用项目编译,还不如使用APC。在Yii中也有个yiilite.php文件,里面就包含了Yii的所有核心类。Yii作者表示在没有APC的情况下,还是不要使用这个“编译”好的文件,因为反而会增加系统开销。
TP中还在第一次访问的时候自动生成项目,我觉得这一点和自动编译一样,都是我不喜欢的。我对每添加一个if都很敏感,这种判断让我很纠结。比如说 TP在每次运行的时候都要检测PHP版本,而Yii则单独做了一个内容更详细的环境监测脚本。我既然要用这个框架,我在第一次使用的时候,肯定就知道能不 能在当前环境上使用了,为什么要每次都要检测呢。当时我就说过,TP为用户做了太多事情。比如旧版本中的TopN函数。
Yii的组件思路是非常不错的,用起来十分地舒服。从session到cache,你可以无缝地更换所有的组件而无需重构项目。而且Yii的延迟加 载也做得比较彻底,每个组件都是用到的时候才加载。比如,TP中,如果配置了session自动打开,则TP在应用初始化的时候执行 session_start()。而Yii则是你用到session的时候才打开session。
说到项目的配置文件,TP要求是config.php,而Yii则比较灵活,支持多配置文件。
当初TP很推崇自己的ThinkAjax,现在也改用JQuery。这一点是进步。
TP做了很多小实例,这一点值得Yii学习。Yii在这一方面正在有一个叫yii playground的实例网站在开发中(http://code.google.com/p/yiiplayground/)。
TP的动态模型可以实现不需要定义Model。但是在实际的项目中,我更倾向于使用Yii的方式。顺便说一句,将label定义在model中,为我的日常开发带来了许多方便之处。
刚才提到TP的项目自动生成,Yii中也有这种工具。而且比起TP,Yii的工具更加强大而且可扩展。
从TP的代码中,有人可以看出其作者熟悉JAVA。而从Yii的代码中,有人会发现其作者熟悉.Net。这常常是我身边人看到代码的时候发生的小插曲。
Yii封装了大量的页面控件和类库,也是Yii如此吸引我的一点。这是TP短期无法比拟的,在TP的使用过程中总遇到这样那样的问题,让我感觉TP对我反而是阻碍。而Yii真的是,舒服,实在是太好用了!
无论从代码规范、设计思路、类库丰富程度上来说,TP都远远不及Yii。有人说你看TP多简洁,Yii太臃肿了。错了!简单和简洁不是一回事。TP 那叫简单,你读读Yii的代码吧,那才叫简洁。至于臃肿,去看看Zend Framework就知道了。(顺便说一句,我很喜欢Zend Framework,它是学习设计的典范)
说到读代码。对于程序员真的很难吗?读写得好的代码应该是一种享受才对。Yii的学习曲线是比TP高那么一点点,但是对比Yii的巨大优势而言不算什么了。而且,我认为在遇到学习困难就退缩或者认为Yii就像天书一样的人,还是转行吧。
以上是应一篇评论所写的。对比TP1,现在的TP2的确有了很多进步,但是还是存在一些问题。对比Yii……,TP真的没有可比的能力。抱歉让TP的fans失望了。
那就下定论了吗?不,不是的。从类库到框架,再到解决方案。什么是最好的?每一个人都有不同发说法,这是因为每一个人的思维习惯不同,遇到的问题不同,问题所在的环境也不同。怎么能奢求所有人都有同一个选择呢?
还是那句,适合,就是最好的。对我来说,Yii是最好的。
B. php有哪些框架
PHP的框架有很多,这里说一部分供大家参考:
国内框架:ThinkPHP, Canphp, KYPHP, InitPHP, SpeedPHP, CdvPHP,KPHP。
国外着名框架:Zend Framework,Codelgniter,CakePHP,Symfony,Yii,Seagull,Laravel。
小型框架:E,DuoLamPHP,Difeye,GalaxixPhp,PhpPeanuts,Rong Framework,Openbiz Framework。
C. php主流框架有哪些
当下最流行的PHP开发框架有哪些?你好,首先我们谈一谈“框架”是什么。“php开发框架”,顾名思义,就是要可靠、安全、高效率地搭建出web应用,这也是目的。
那么,框架的优势在哪里?我们为什么要用框架?——因为框架可以将数据库、缓存、会话等功能组建合并为一,方便使用。
下面我们聊一聊比较流行的三个php开发框架。
Lavarel:这是一整套语法简洁,好理解的web开发框架。主要的优势集中体现在后期的支持、文档的全备,还有活跃的社区上。学习Lavarel,需要先对PHP语言、面向对象、数据库的操作有一个基本的学习基础。
ThinkPHP:基于最开始即沿用的简单结构——mvc和面向对象的轻量级PHP开发框架。简单的语法下增添了原创功能和特性,强力支持了web应用的开发。
Yii:极其优化的性能,对于任何种类的项目而言都很容易露一手。文档功能十分详尽,拥有一切你需要学习的信息。不管是开源的还是私有的应用,都可以自消罩返由地使用!不论从法律还是财务上来讲!
结语:
很多朋友都容易有这样的疑问——这三个框架哪个更好?这里我拿饥简单回答一下,没有好不好,只有适不闷吵适合,如果头子说yii好,必定就是yii主导地位。
最后分享一个程序猿大大滴提高效率的工具,答案就是——单身。
好,下回见
目前php开发网站,最为流行的框架是哪几个?Yii
Yii是一个基于组件的高性能的PHP的框架,用于开发大规模Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从MVC,DAO/,widgets,caching,等级式RBAC,Web服务,到主体化,I18N和L10N,Yii提供了今日Web2.0应用开发所需要的几乎一切功能。而且这个框架的价格也并不太高。事实上,Yii是最有效率的PHP框架之一。
CodeIgniter
CodeIgniter是一个应用开发框架——一个为建立PHP网站的人们所设计的工具包。其目标在于快速的开发项目:它提供了丰富的库组以完成常见的任务,以及简单的界面,富有条理性的架构来访问这些库。使用CodeIgniter开发可以往项目中注入更多的创造力,因为它节省了大量编码的时间。
CakePHP
CakePHP是一个快模咐速开发PHP的框架,其中使用了一些常见的设计模式如,AssociationDataMapping,FrontController以及MVC。其主要目标在于提供一个令任意水平的PHP开发人员都能够快速开发web应用的框架,而且这个快速的实现并没有谈歼牺牲项目的弹性。当然啦,如果是自助建设网站可以旦侍纯借助建站宝盒来进行。
php有哪些框架?
PHP的框架有很多,这里说一部分供大家参考:
国内框架:ThinkPHP,Canphp,KYPHP,InitPHP,SpeedPHP,CdvPHP,KPHP。
国外着名框架:ZendFramework,Codelgniter,CakePHP,Symfony?,Yii,Seagull,Laravel。
小型框架:E,DuoLamPHP,Difeye,GalaxixPhp,PhpPeanuts,RongFramework,OpenbizFramework。
PHP作为网络开发的强大语言之一,现在应用非常广泛,具有开放源代码,跨平台性强,开发快捷,效率高,面向对象,并且易于上手,专业专注等诸多优点。各种PHP开发框架也让程序开发变的简单有效。
框架就是通过提供一个开发Web程序的基本架构,PHP开发框架把PHPWeb程序开发摆到了流水线上。换句话说,PHP开发框架有助于促进快速软件开发(RAD),这节约了你的时间,有助于创建更为稳定的程序,并减少开发者的重复编写代码的劳动。这些框架还通过确保正确的数据库操作以及只在表现层编程的方式帮助初学者创建稳定的程序。PHP开发框架使得你可以花更多的时间去创造真正的Web程序,而不是编写重复性的代码。
排名前10并且最受欢迎的PHP框架(排名不分先后)。,
1,Laravel这款可能是现在最受欢迎的PHP框架,Laravel非常强大,而且销橡很高雅,易于学习和使用。非常值得一试!
2,Flight是一个快速,简单,可扩展的微型PHP框架,允许用户快速的构建RESTfulweb应用,同样易于学习和使用,简单但是很强大!
3,Yii是个高性能的PHP框架,用来开发Web2.0应用程序,Yii拥有很丰富的特性:MVC,DAO/ActiveRecord,I8N/L10N,缓存,身份认证,基于用户角色的访问控制,scaffolding和测试等等。
4,,Medoo是最轻的PHP数据库,只包括了一个10,9kb的文件桐悄,一个很强大的适用于简单的web小应用开发的微型框架。
5,PHPixie这局斗渣个框架源于Kohana框架,是我最喜欢的框架了:兼容MVC,能快速掌握,强大,你也应该试一试!
6,CodeIgniter虽然是个比较老的框架,但是我还是很喜欢这个强大的MVC框架CI,无数次在我的项目中使用它,从来也没对它失去信心,依然是我不变的选择!
7,Kohana是个开源的,面向对象的MVCweb框架,是使用PHP5来构建的。这个框架是由一群志愿者队伍开发的,他们致力于迅速,安全和小。
8,Symfony这个框架是在2005年创建,是个非常强大的MVC框架,在企业界是非常受欢迎的。Symfony是收到众多的web应用框架启发的:RubyonRails,Django和Spring,它可能是最完整的PHP框架了。
9,PopPHP很多PHP框架很漂亮也很复杂,Pop的建立是考虑到所有经验层次的,提供了一系列可管理的学习曲线给初学者熟悉PHP的基础,同时又提供了健壮和强大的功能给有经验的PHP开发者。大小小于2MB。
10,Phalcon是一个开源的,满栈的PHP框架,使用PHP5类似C扩展的语言来编写的高性能框架。用户不需要会用C语言,Phalcon会提供PHP类。Phalcon是松散耦合,用户可以随意使用组件来创建web应用。
D. 当今较为常见的3种 web应用程序开发平台类型
Openbiz Cubi PHP开发框架
这显然是一个高耦合性的框架的代表,有点让开发人员“拎包入住”快捷酒店一样的的感觉。Openbiz Cubi 是一个应用平台式的开发框架。虽然与众多更加耳熟能详的框架相比 Openbiz Cubi 仍然是一匹黑马,但是还是一个十分值得推荐的框架。它自身基于Zend Framework构建,但是拥有自己独特的基于元数据的 MVC 和 ORM 逻辑,并采用Smarty和PHP模板 作为主要UI的模板引擎,所以如果你是Zend框架的玩家,别担心,Openbiz Cubi的代码也会同样让你很容易上手。
它不同于其他传统意义上的PHP框架,它具有一个类似JAVA的元数据引擎, 可以通过XML的方式来“描述”大多数对象,甚至通过XML的描述就可以实现数据的CRUD(增删读改)这些操作。如果你的业务需求仅仅是要实现一些简单 的数据CRUD操作,你甚至不需要去写什么PHP代码,XML就可以全部搞定。而你的PHP功夫可以通过他的Plugin-Service方式用于集中在 实现某些特殊的业务逻辑上。
Openbiz Cubi目 前还有一个叫做 Openbiz Appbuilder 的超级好用的代码生成工具,对于还不熟Openbiz的XML元数据的开发人员来说,Appbuilder 绝对是一个可以帮助你快速上手的利器,他通过图形界面的生成向导来帮你自动创建数据对象、表单对象、嵌入式服务,甚至整个应用程序的雏形。 按Openbiz的官方介绍来说,你只需要思考清楚你的应用程序的业务逻辑,剩下的代码工作就交给Openbiz Appbuilder来帮你搞定吧。
CakePHP 开发框架
如果你仍然需要编写面向PHP4兼容的代码,CakePHP 将是一个非常不错的选择, 在PHP 4 & 5的MVC式框架列表里面,CakePHP都曾经是最流行的。它还提供了很多种途径的技术支持(讨论组、留言板、IRC等)还有优秀的教程。 CackePHP是个很容易上手的框架,但是你并不容易在短短几周的时间就完全掌握它。
Zend Framework框架
Zend Framework 是面对一些较有经验的开发者和从底层构建一些企业级应用程序而设计的。(例如:宣称面向企业应用而设计的 Openbiz Cubi 就是基于Zend Framework框架之上而构建的。)该框架是高度模块化的。这意味着你可以按你的实际需要来引用Zend的代码。有些函数库甚至可以很容的被提取出来 单独使用(例如Zend_Gdata,这也是个低耦合性的特点)使用Zend框架,你不必非要遵从它的MVC架构,(虽然你最好能这么做),并且它还提供 了许多内建的高级功能用于完成与现有的web服务整合,多语言化和实现单元测试这些任务。
CodeIgniter
CodeIgniter 是一个PHP5.2+ 的MVC框架,它体积小巧切具有丰富的文档资源。通常被称为“初学者框架”,因为它相对容易试用和较短的学习曲线,此外CodeIgniter也是十分灵 活和强大的。该框架拥有一个非常庞大的社区支持。并且在社区里面很大桐容易找到大量的CI函数库,你可以大胆的梦想, 也许你正需要做的事情在社区的某个交流,某个人已经把它实现了。
Symfony
Symfony 是最古老的PHP框架之一(相信你从他的网站风格上也发现这一点了),他同样也是转为企业级Web应用程序而设计的。然而,对于他所能提供的所有动力和性 能而言,它只拥有很小的体积并且非常滚帆坦容易配置在大多数php的主机环境中。由于他的年头最长久,你会很容易找到许多关于Symfony的教程、书记等资 料,对于新手来说,这绝对是件好事儿。
Symfony使用命令行代码生成工具来为项目快速生成所需的代码,这种方式也许对于某些开发人员来说是前所未闻的(在那个年头,也许 吧。。。)然后,他可以帮助你在很短的时间里完成轿段代码并是他们可以运行。Symfony的网站上手机了大量的教程和范例代码,来帮助你熟悉掌握他们。
Yii Framework
Yii 是一个高度模块化,高性能的PHP5框架,专门为了Web应用程序而开发。Yii采用了大量的命令行生成工具,让你可以快速的生成一些代码,因此,他最适 合于喜欢在命令行的黑窗口上敲敲打打的人。所有这些代码生成工具意味着你需要记住更多的命令和参数,但是一点你做到了,你会发现,它们将大大减少你所要花 费的时间来设置和配置你的应用程序。
这种开发方式 非常类似于Openbiz Appbuilder所提供的向导式的代码生成方式,最大的不同点是Yii是基于命令行去生成代码,Openbiz Appbuilder是在图形界面上生成代码。
ThinkPHP
ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP 开发框架,遵循 Apache2 开源协议发布,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和 MVC 模式,融合了 Struts 的 Action 思想和 JSP 的 TagLib(标签库)、 RoR 的ORM映射和 ActiveRecord 模式, 封装了 CURD 和一些常用操作, 单一入口模式等,在模版引擎、缓存机制、认证机制和扩展性方面均有独特的表现。
Yii Framework
Yii是一个基于组件的高性能PHP框架,用于开发大型Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从 MVC,DAO/ActiveRecord,widgets,caching,等级式RBAC,Web服务,到主题化,I18N和L10N,Yii提供了今日Web 2.0应用开发所需要的几乎一切功能。事实上,Yii是最有效率的PHP框架之一。
Yii是一个高性能的PHP5的web应用程序开发框架。通过一个简单的命令行工具 yiic 可以快速创建一个web应用程序的代码框架,开发者可以在生成的代码框架基础上添加业务逻辑,以快速完成应用程序的开发
phalcon
Phalcon是一套实现MVC架构的高性能PHP应用程序框架。初始版本发布于2012年11月,开放源代码并基于BSD授权条款。与其他大部分的PHP框架不同,Phalcon是以扩充的方式以C语言所编写,因此Phalcon的执行速度高过其他PHP框架,并且消耗更少的资源,根据官方的测试,Phalcon是目前世界上速度最快的PHP框架之一。[1]