Yii 这个用起来好啰嗦。
1
hahasong 2015-09-17 15:13:14 +08:00 1
|
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 谁用谁知道
|
46
Wangxf 2015-09-18 10:47:28 +08:00
作为前端来说,觉得 thinkphp 还蛮好上手的
|
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 2015-09-18 15:31:29 +08:00
轻: 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 "Hello $name !!!"; }) ->execute(); 还不错 |
97
sunsh217 2017-08-13 11:49:33 +08:00
codeigniter 3 +1
|