想自己写个 php 框架,经常 tp,yii 等框架

2015-08-14 15:56:44 +08:00
 ning1022

求大神给点建议。
自己写一个效率应该会高些。
我最近的项目都是写简单的功能,感觉自己写的代码还没有tp,yii多,所以想写个轻量级的框架。

3538 次点击
所在节点    PHP
17 条回复
shiny
2015-08-14 16:03:16 +08:00
很久以前也有这样的想法,从2010年写到2015年,一年一个样 😂

我个人心得是多看点非 PHP 的框架,会有启发。
fising
2015-08-14 16:05:25 +08:00
三行代码的框架:

require_once 'controllers/'.$_GET['c'].'.php';
$c = new $_GET['c'];
$c->$_GET['m'] ();
show8salary
2015-08-14 16:23:42 +08:00
建议给不了,只能给点精神上的鼓励~
Feiox
2015-08-14 16:24:48 +08:00
感觉,PHP 上造框架是最容易的。你去其他的 Python Ruby Java 上,光类似 socket WCGI 这些协议、接口就够你折腾了一段时间的,更不用说各自并发模型(多进程、线程池、异步事件驱动)以及线程安全性等一堆问题。但,用 PHP 写完框架,除了联系一点抽象能力,还学会了什么呢?
ning1022
2015-08-14 16:25:22 +08:00
@shiny 我研究了几天设计模式,感觉还行!以前试着写过一个,但是放弃了。
rming
2015-08-14 16:35:12 +08:00
你需要学习:
单一入口
单例模式
工厂模式
依赖注入
URL Router
ORM
PSR-0 Autoloading Standard
Composer autoload


最好的办法就是读几个流行框架的源码,

推荐阅读:
CI 源码(因为够老)
Laravel 源码(因为够新,尤其是 router 和 ORM)
另:
https://github.com/fabpot/twittee
自己写的:
https://github.com/Rming/YAMini
https://github.com/Rming/PDOAdapter
rming
2015-08-14 16:37:38 +08:00
好像新版本的 slim 也不错,lua 里有个 lapis 的也不错,https://github.com/leafo/lapis,反正就是多看多写。。
yakczh
2015-08-14 22:04:17 +08:00
@rming
PDOAdapter 中
where(
[
'role_id' => 2,
'age >=' => 20
],
是不是用
where(
[
['role_id','=',2],
['age',' >=' ,20]
],

更简单一些?
rming
2015-08-14 22:38:29 +08:00
@yakczh 恩,只是写完就懒的改了,我也是个菜鸟
zts1993
2015-08-15 00:22:37 +08:00
说真的这个语言只能写出一些不伦不类的框架。框架重要的是思想和语言层面的支持,现在很多人不具备第一者的情况下使用拙劣的技术写出了拙计的框架,。。

后面的人觉得自己已经很牛逼了,可以写出超越前人的东西,其实是过于自信了。。

但是造轮子没有什么不好。可以让你更清醒认识自己,认识你所用的技术。就这样
lvfujun
2015-08-15 13:44:32 +08:00
哈哈,,其实框架核心就那点东西,经典mvc思想,只是外面的扩展功能太多,导致的框架看起来好牛逼,其实就是一堆堆模块堆起来的。只要是php实现的php框架就没有运行效率可言。只能说提高开发效率和团队合作效率。
lvfujun
2015-08-15 13:45:43 +08:00
哈哈,楼主其实我以前自己也写过简单的mvc框架,最终没坚持下去。
wayne712
2015-08-15 15:04:16 +08:00
dreamtrail
2015-08-15 19:05:30 +08:00
我就用自己写的框架,用自己写的东西,出了问题容易明白。
sensui7
2015-08-17 18:24:45 +08:00
我最早也有这种想法, 实现了一个简单的 mvc 后,我放弃了, 意义不大.

原因是框架够多了,很多都是大神写的, 我自认我写的没人家好. 何况如果别人要看参与项目的话, 看到你自己写的框架,我估计他想哭, 他还要花很多时间搞懂你的东西.
chaegumi
2015-08-19 09:15:10 +08:00
codeigniter 很轻量的
shoaly
2015-09-06 12:03:09 +08:00
关键的问题是,好的框架维护期都是以年为单位的,除了框架本身,还要维护文档。
自己写,一时爽,根本没法维护

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/213232

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX