Yii 这个用起来好嗦。
![]() | 1 hahasong 2015-09-17 15:13:14 +08:00 ![]() |
2 vibrance 2015-09-17 15:15:27 +08:00 dedecms |
![]() | 3 ianisme 2015-09-17 15:16:09 +08:00 yaf |
![]() | 4 cxbig 2015-09-17 15:17:50 +08:00 目前 PHP 人气高、范围广的空框架是: Laravel > Symfony > ZF2 |
![]() | 5 66beta 2015-09-17 15:19:13 +08:00 CodeIgniter > Laravel > others |
![]() | 6 flydogs 2015-09-17 15:20:27 +08:00 yiiframework |
7 fangwenda 2015-09-17 15:20:52 +08:00 CodeIgniter 3 ,继续不需要多余的配置,基本常用的功能都有,实在没有的还可以用 composer |
![]() | 8 fising 2015-09-17 15:21:36 +08:00 yaf 蛮好的 |
![]() | 9 mahone3297 2015-09-17 15:24:46 +08:00 symfony , laravel |
10 simapple 2015-09-17 15:38:35 +08:00 最近的几个项目能自己决定的,都是 codeigniter ,比较随意 |
11 zjq426 2015-09-17 15:56:54 +08:00 没有人提 cakephp ? |
![]() | 12 abelyao 2015-09-17 15:58:28 +08:00 via iPhone 喜欢 CodeIgniter ,轻量级的喜欢 Flight |
![]() | 13 Moker 2015-09-17 15:58:40 +08:00 laravel 最近在学这个。。。 |
![]() | 14 MrJing1992 2015-09-17 15:59:20 +08:00 Laravel +1 |
15 sun522198558 2015-09-17 16:00:24 +08:00 我来提 cakephp |
![]() | 16 programcat 2015-09-17 16:03:52 +08:00 Yaf--最快的 PHP 框架,由 Yaf 打造出来的快如闪电的博客系统 http://www.programcat.com/ |
![]() | 17 gaitana 2015-09-17 16:04:39 +08:00 自己封装一下数据库查询类,其它直接用原生 php ,难道只有我一个人觉得 PHP 不需要框架吗? |
![]() | 18 rogeecn 2015-09-17 16:06:45 +08:00 @programcat 请问 yaf 如何使用 COMPOSER? |
![]() | 19 suckMyballs 2015-09-17 16:09:17 +08:00 @gaitana 成型的团队还是用框架好,个人用不用看爱好了 |
20 linauror 2015-09-17 16:53:27 +08:00 CodeIgniter +1 |
![]() | 21 tianrunlin 2015-09-17 19:57:53 +08:00 群众投票 aravel/laravel A PHP Framework For Web Artisans Updated 2 days ago PHP 10,794 4,258 symfony/symfony The Symfony PHP framework Updated 9 hours ago PHP 10,610 5,472 bcit-ci/CodeIgniter Open Source PHP Framework (originally from EllisLab ) Updated a day ago PHP 6,632 3,848 yiisoft/yii2 Yii 2 framework main development repo Updated 5 hours ago PHP 6,053 2,744 cakephp/cakephp CakePHP: The Rapid Development Framework for PHP - Official Repository Updated 43 minutes ago https://github.com/search?l=PHP&o=desc&q=framework&s=stars&type=Repositories&utf8=%E2%9C%93 |
22 sunchuo 2015-09-17 20:00:13 +08:00 kohana |
![]() | 23 adexbn 2015-09-17 23:49:01 +08:00 我说个你们看不上的, LightVC |
![]() | 24 viko16 2015-09-17 23:54:51 +08:00 被你们这么一说我又有了重拾 CI3 的勇气了 |
![]() | 25 master 2015-09-18 00:02:26 +08:00 @rogeecn 在配置里面把 yaf.use_spl_autoload 打开 然后在 Bootstrap 里面把 composer 的 autoload 注册上 然后就该怎么用 composer 就怎么用了吧 |
26 lavadore 2015-09-18 00:07:46 +08:00 laravel, laravel, laravel 好用的框架要说三遍! |
27 sudoz 2015-09-18 01:45:56 +08:00 via Android 骚年,转 ROR 还来得及 |
![]() | 29 Dukec 2015-09-18 04:42:02 +08:00 Laravel. |
30 zaishanfeng 2015-09-18 08:20:26 +08:00 via Android 这还用问吗, 毫无疑问是 laravel 呀 用过 n 种框架的路过 |
![]() | 31 jaguar 2015-09-18 08:46:05 +08:00 via Android thinkphp 万岁 |
![]() | 32 acking 2015-09-18 09:09:14 +08:00 没有人点一下 Phalcon |
![]() | 33 moxuanyuan 2015-09-18 09:14:51 +08:00 用了 N 年 CodeIgniter |
35 jejer 2015-09-18 09:35:15 +08:00 fatfree framework 看起来没人提啊 |
37 hantsy 2015-09-18 09:59:10 +08:00 从框架设计上, Symfony 是引领 PHP 的,适合大型应用开发。 Zend 3 以后也是模块化路线,不再什么都是自己一套了。 |
![]() | 38 lyz1990 2015-09-18 10:11:58 +08:00 刚入门,只用过 Laravel ,感觉挺好用的 |
![]() | 39 gaitana 2015-09-18 10:30:48 +08:00 @msg7086 1 、 PHP 干嘛要用路由?又不是 python 、 ruby 。 topic.php?tid=12345 一样可以 restful , restful 在心中不在手中。 2 、 PHP 的渣语法和渣表现力,写不出 rails 那种优雅的 ORM 的,不如直接用原生 sql , phpstorm 的智能提示对 sql 的支持很好,并且自动提示表名字段名,开发维护不比 ORM 慢。 3 、 PHP 天然的模板语言,不需要再画蛇添足用个试图解析器了。 4 、 PHP 有好的 DB Migration 吗?印象中就 laravel 有一个蹩脚的 migration ,还不如不用。 |
![]() | 41 luoer 2015-09-18 10:36:06 +08:00 slim |
42 kikyous 2015-09-18 10:38:23 +08:00 via Android @gaitana 你这是守旧派,不思进取 估计是复制粘贴型 phper 我是 rails 开发刚学的 laravel , laravel 的 orm 很优雅, migrate 也很好用,几乎和 rails 一样 |
![]() | 43 ychongsaytc 2015-09-18 10:39:04 +08:00 @gaitana 固定在 PHP 这门语言不歪楼的前提下,轮子越造越多,如果有足够的时间精力去维护的话还好,否则到头来就像月光族一样,几年时间过去,发现什么也没留下。 |
![]() | 44 qinenqiang 2015-09-18 10:41:58 +08:00 Laravel 用的还不错~~ |
![]() | 45 barbery 2015-09-18 10:42:05 +08:00 phalcon 谁用谁知道 |
![]() |
![]() | 47 tonitech 2015-09-18 10:53:49 +08:00 thinkphp |
![]() | 48 chaucerling 2015-09-18 10:55:10 +08:00 用过 CI ,简单但功能不够强大 |
![]() | 49 DualWield 2015-09-18 10:55:34 +08:00 @gaitana 1 、 PHP 如果不用路由的话,那比如 artical/2/post 这种 restful api 如何表达呢? 2 、我没有写过 rails 的 orm ,但是我觉得 laravel 的 orm 就挺好用的,至少比写原生 sql 要爽的多。 3 、解析器的好处有很多,当应用越多越大越来越复杂的时候,一个简单明了的解析器能够帮助前端工程师更好的掌管 v 层,后端可以把重心放在数据处理的区域。 4 、 laravel 的 migration 确实比较蹩脚,但是用来做数据库的备份和迁移还是很棒的。 框架一直在进步~~ |
![]() | 50 meteor2013 2015-09-18 10:57:57 +08:00 via iPhone CodeIgniter 非常非常非常好,重要的事情说三遍 |
![]() | 51 gaitana 2015-09-18 11:01:22 +08:00 @DualWield 1 、 article.php?id=2&action=post ,或者干脆 article.php?id=2 ,在服务端判断 get 还是 post ,我喜欢在全局文件中定义一个常量 define ('REQUEST_METHOD', $_SERVER['REQUEST_METHOD']); ,然后在 article.php 中: if (REQUEST_METHOD == 'GET') { //do something } elseif (REQUEST_METHOD == 'POST') { //处理 POST 提交 } |
52 BOYPT 2015-09-18 11:03:41 +08:00 小作坊的话, Slim 这类轻量框架还是不错的。 重量级框架和轻量级框架应该区别对待,没有可比性。 |
![]() | 53 laobaoabc 2015-09-18 11:07:59 +08:00 CodeIgniter + composer |
![]() | 55 gaitana 2015-09-18 11:21:47 +08:00 @kikyous PHP 语言特性决定了不适合造框架,原生语言用的熟的话比框架更方便,或者说 php 的框架无一例外的都很难用。 如果用框架的话推荐 rails 和 django ,这才是真正让人爱不释手的框架。 |
![]() | 56 kuochung 2015-09-18 11:27:55 +08:00 @gaitana 不需要框架+1 ,框架这种东西听起来就觉得重。另外一部分 PHP 程序员都只是学了基本语法然后钻进某框架里。框架可能帮有些人完成了大部分工作,也或多或少成为一部分人 PHP 进阶之路的“拦路虎”。 |
![]() | 57 curiousjude 2015-09-18 11:54:48 +08:00 @gaitana 能具体解释一下「 PHP 语言特性决定了不适合造框架,原生语言用的熟的话比框架更方便」吗? |
![]() | 58 Felldeadbird 2015-09-18 12:06:14 +08:00 @gaitana 我认同你的观点。所有 PHP 其实打包一下数据库类,在弄一个简单的 MVC 架构就可以快速做产品了。弄那么多复杂的东西,我不相信他们能够直接就做到 大并发处理。 |
![]() | 59 gaitana 2015-09-18 12:12:45 +08:00 @curiousjude 1 、 php 的表现力不行,不要说 ruby ,连 python 都不如, django 的 orm 用 php 做不到那么精炼。 2 、从观感上, php 不适合封装的太厉害,$Article::object->where ('xxx')->order_by ('xxx')->limit ('xxx')->run (); 这种方法链丑爆了有木有?用原生 sql 看上去都比这清爽。 如果用 python : Artice.object.where ('xxx').order_by ('xxx').limit ('xxx').run ()要清爽很多, ruby 更不用说了, DSL 能魔幻到接近自然语言。 3 、 PHP 是为 web 而生的语言,几乎所有 web 方面的需求都有相关的内置函数,这是 PHP 最特色的地方。 python 、 ruby 必须用框架是因为没有框架就没法做 web 开发,它们是通用型语言,直接用来写 web 就像用 C 语言写桌面程序,会把人累到吐血。而 PHP 生于 web ,天生就是为 web 开发打造的。很多时候,一些需求明明 php 有内置的函数了,一些框架非要用类方法再实现一次,满屏的 $Classname::method ()这种跳用丑爆了有木有?并且这样会对新人造成误导,让他们以为 php 是跟 python 、 ruby 一样的通用语言,只去学习 php 作为通用语言的基本语言,而不去深入 php 最强大的地方:一大堆命名混乱不堪但功能无所不包的内置函数。 |
![]() | 60 curiousjude 2015-09-18 12:13:34 +08:00 @Felldeadbird 这不就是用框架了吗? 所以不能说 PHP 不应该用框架。按照你们的观点,应该是说市面上没有好用的框架。 |
![]() | 61 maddot 2015-09-18 12:18:25 +08:00 笑死了,理由里果然有 PHP 用->,而别的语言用. |
62 raincious 2015-09-18 12:19:05 +08:00 |
![]() | 64 gaitana 2015-09-18 12:23:54 +08:00 @curiousjude MVC 架构不等于用框架,一个__autoload 函数就可以让一个类对应一个同名 php 文件,此为 M , V 更好办了, php 是天生的模板语言,在 html 里面使用<?= $var ?>跟 rails 模板的<%= var %>有区别吗?至于 MVC 中的 C , article.php 、 user.php 、 comment.php 这些就是 C ,用一个 include 语句包含模板文件,也可以在 C 中实现 restful : articel_add.php article_index.php article_update.php article_destroy.php 或者: article/add.php article/index.php article/update.php article/destroy.php |
![]() | 65 gaitana 2015-09-18 12:26:55 +08:00 @raincious 按我 63 楼自己实现的 MVC 架构,可维护性丝毫不低于框架。至于支撑访问量,原生 php 肯定会比框架高几个数量级的,框架越大越臃肿越慢。 |
66 raincious 2015-09-18 12:49:06 +08:00 @gaitana 首先,凭借“肯定会比框架高几个数量级的”这句话,我能猜测你并没有数据来证明你的观点么? 第二,其实你这么做之后,慢慢的就会发现自己整出了一个框架。事实上我第一个框架就是这么来的。但是这种方式整出来的框架十有八九有问题,因为历史代码太多,很难形成一个完善的程序流,远不如一开始就 Follow 一个框架的开发规范,这样开发流程还能相对稳定些,大家配合也会好很多。 我想说的是,任何东西的存在都是有合理性的。常见的场景是,当你遇到了某种瓶颈之后,自然而然的就回去想着用某种方式解决。你有没有考虑过各种各样的“框架”实际上就是这种东西的产物?所以不要因为你用不到而认为所有人都用不到。 |
![]() | 67 curiousjude 2015-09-18 12:54:18 +08:00 @gaitana 我觉得你没有说服我。 1. ORM 的问题,你举的例子没有说服力,「->」和「.」哪个更好看这个完全是主观的,我就觉得没有什么区别,况且 ORM 又不只是为了更好看。 ORM 本身就是为了解决使用的原生 SQL 的不便,和一些其他问题(比如安全处理)才创造出来的,除非你指出 ORM 无法解决这些问题,或在某些场景下没有必要,才有说服力。 2. 至于你说的 PHP 内置函数的问题,我并不觉得框架(或库)对一些函数进行封装就一定是不合理的,比如 curl 系列函数,纯面向过程,那么如果你不对它封装一下写 OOP 程序应该很不好处理吧,具体可以参照一下 Facebook 的 SDK 。我觉得框架重新封装一些函数不仅仅是为了更好看,也是为了统一接口,这样才能保持一定的灵活性,当然有时很难平衡这个度。 3. 我觉得框架存在的意义是更便利地解决解决一些通用的问题,比如你们之前提到的 Route , ORM , Templating ,如果问题这些在你的应用场景下不存在或不重要,那自然可以不用框架。你提出的模板解决方法,功能性是有缺失的,比如布局处理,全局的安全处理(比如 htmlentities )等。 |
![]() | 68 yangmls 2015-09-18 12:58:09 +08:00 |
![]() | 69 mcfog 2015-09-18 13:05:06 +08:00 哈哈哈 肯定会 听起来就觉得 丑爆了 yo 丑爆了 脑内 RAP 停不下来了怎么办 |
![]() | 70 DualWield 2015-09-18 13:20:14 +08:00 @gaitana ”至于支撑访问量,原生 php 肯定会比框架高几个数量级的,框架越大越臃肿越慢。“ ,我只能呵呵回敬你。我觉得你根本不懂软件工程这 4 个字,框架是为了让人更方便快速的书写代码,复用性,可维护性等多个方面考虑,支撑访问量这个角度,难道淘宝双 11 他们就不用框架了?全部都是手写吗? |
![]() | 72 chalio 2015-09-18 13:29:17 +08:00 把我以前的回复再黏贴一次: 女神:你能让这个论坛的人都吵起来,我今晚就跟你走。 程序猿: PHP 语言是最好的语言! 论坛炸锅了,各种吵架。 女神:服了你了,我们走吧,你想干啥都行。 程序猿:今天不行,我一定要说服他们, PHP 语言是最好的语言! 他妈的这有啥好争的,爱用啥用啥,哪个顺手用啥, boss 叫用啥用啥,看需求呗,东西死的人是活的。 |
![]() | 73 msg7086 2015-09-18 13:31:36 +08:00 @gaitana PHP 表达能力不足是硬伤,毕竟从 C 系继承下来,没办法表达增强。当年看到 ORM 的 -> 和 :: 混用的时候我就想吐了。 小时候做开发最后都得沦落到自己写框架写路由,模板 Smarty ,数据库姑且用 ADOdb 凑合,至少不至于用很恶心的 Prepare () 和 <%= %> (而且没记错的话后者最近刚被开发团队吃掉了)。 其实你的论点「 PHP 不需要框架」,背后的意思应该是,到了需要用框架规模的开发了,就老老实实转用别的语言吧,的意思吧? |
![]() | 74 curiousjude 2015-09-18 13:38:40 +08:00 各位不要太激动啊,@gaitana 并没有说不支持使用框架,而是说 PHP 不要使用框架,鼓励大家使用原生的语法处理模板,使用内置函数直接处理问题等。当然这些我个人都不赞同。 我对 @gaitana 这种一刀切的观点是不赞同的,没有具体的应用场景就直接说 PHP 不应该使用框架,这才是「会对新人造成误导」。 |
![]() | 75 gaitana 2015-09-18 13:38:41 +08:00 @msg7086 就是那个意思,到用框架的规模 PHP 的优势就不大了。那一堆堆的 [-> 和 :: ] 并不比用函数清晰,比如 Classname::method () 我宁愿定义成 classname_method ()这种命名的函数。 |
![]() | 76 iyaozhen 2015-09-18 13:39:49 +08:00 CodeIgniter 3 +1 |
![]() | 78 lusizeng 2015-09-18 14:09:02 +08:00 phalcon,你会喜欢上的 |
![]() | 79 maddot 2015-09-18 14:09:57 +08:00 Every kids that have been writen a hello word with other programming language are qualified to criticise PHP |
![]() | 80 maddot 2015-09-18 14:11:17 +08:00 Every kid that has been written a hello word with other programming language is qualified to criticise PHP |
![]() | 81 maddot 2015-09-18 14:13:37 +08:00 Every kid that has written a hello world with other programming language is qualified to criticize PHP |
![]() | 82 ibiger OP @programcat 赞,帅哥博客确实很快, 页面里面嵌 PHP 可以分离一下。 |
![]() | 83 shellcodecow 2015-09-18 14:53:54 +08:00 phalcon 不错 简洁。 不过我也嘻哈 YII2 |
![]() | 84 motecshine 2015-09-18 15:17:24 +08:00 java 是世界上最好的语言 |
![]() | 85 kuochung 2015-09-18 15:18:39 +08:00 @motecshine java +1 |
![]() | 86 realpg PRO 轻: Codeigniter 重: laravel yii2 |
87 loolac 2015-09-18 16:08:03 +08:00 不用框架, php 收集一下常用的代码就 ok |
![]() | 88 vinsony 2015-09-18 16:52:08 +08:00 CodeIgniter 3 |
![]() | 90 wind3110991 2015-09-18 17:58:29 +08:00 作为最好的语言,还是自己实现一个框架吧~ 哈哈,开玩笑, yii framework 2.0 / 3.0 你值得拥有, MVC 下的 M 模块特别好用,新手 XAMPP 一周可以上手开发一个中型网站,我这种没学过 php 的直接上 yii 都可以,更别说 phper 了 |
91 49300289 2015-09-18 20:43:27 +08:00 fatfree framework +1 |
92 Roope 2015-09-18 21:14:15 +08:00 Laravel |
![]() | 93 ibcker 2015-09-19 02:35:30 +08:00 这种要引发世界大战的话题我就看看就行 |
94 mingyun 2015-09-20 23:19:21 +08:00 laravel+1024 |
95 rambone 2015-09-23 23:33:26 +08:00 yii2 |
96 lloydzhou 2015-10-01 05:06:00 +08:00 推荐一个精简的 Router 库做路由控制器 https://github.com/lloydzhou/router ,可以根据映射的 handler 自动从 request 获取变量,支持自定义 error handler 和 hook 。可以通过 hook 方便的定制参数过滤、登录检查等。 (new Router()) ->error(405, function($message){ header('Location: /hello/world', true, 302); }) ->get('/hello/:name', function($name){ echo "Hllo $name !!!"; }) ->execute(); 还不错 |
97 sunsh217 2017-08-13 11:49:33 +08:00 codeigniter 3 +1 |