1
kawaiiushio 2014-07-07 13:13:59 +08:00
php是最好的语言 这是不可否认的233333
|
2
NemoAlex 2014-07-07 13:29:11 +08:00
其实对你自己有用就够了
|
3
AlanZhang 2014-07-07 13:30:31 +08:00
楼主能拿出东西来,还是挺不错的。
|
4
dongbeta 2014-07-07 13:47:13 +08:00
我的经验是,造框架是很好的学习方法,不要想太多。大部分反对别人造轮子的人,其实连轮子都造不好(地图炮)。
另外建议遵循一个成熟的代码规范。估计来我司面试,第一个被刷下去的问题就是现在的代码的格式还不太好。 |
5
XadillaX 2014-07-07 13:49:07 +08:00
0. 0 PHP 是最好的语言 233333 (可惜我不会 。・゚・(つд`゚)・゚・
|
7
hging 2014-07-07 15:16:42 +08:00
ruby大法好。。。。。。。。。。。。。。。。。。。。。。
|
8
raincious 2014-07-07 16:48:34 +08:00
@dongbeta 轮子只有造出来才知道是不是好 :)
自己娱乐的代码和给大家用的代码是两种规范的。毕竟框架是偏底层的基础软件,要尽量稳定,保持一致性。所以建议楼主还是尽量先研究下基础知识和最佳操作,然后再写好漂亮的代码,最后才是给大家用,不要一开始就着急发布。 另外,其实冷水的说法,不太会有人真的去用楼主的框架,除非你已经能战胜至少ThinkPHP。真的想让别人去用,得先实现两点:1、让框架足够好用,让用户能以最快速度开发出产品;2、框架足够稳,能支撑大量代码和库的管理,后期也不用因为各种问题转型(或者转型很容易)。这两点很难实现,我自己的框架写了近1年多,没胆量拿出来(当然,主要是自己当初写那些代码的时候没学会用PHPUnit,自己又喜欢一开始就把功能做大,导致Bug这一堆,那一堆)。 另外给个建议(针对那位要提供ORM和其他组件的同学),微型框架内还是建议不要强制绑定各种库甚至模板引擎等等,给框架用户足够的自由可以自行选择然后引用到框架里。时刻保持灵活可替换,这样才能保证你自己的框架不会被换下来。 就楼主这个框架而言: https://github.com/willper/JunePHP/blame/master/application/initialize.php#L29 redirect($url, $time = 0)函数就犯了个大忌,因为会输出不符合HTML规范的代码。而框架本身应该确保不会产生脏内容。 autoLoad($class_name)这又有个大忌,所有的类库都得在define('CORE_PATH', APP_ROOT . '/core/');定义的范围内。而这个autoloader又不是Namespace的(只支持注册到这一层文件夹?Namespace得看文件系统的心情?),可能会跟Composer里注册的类冲突。 建议楼主仔细参考下PSR两个标准的Autoloader: 这里是PSR-0的Autoloader: http://www.php-fig.org/psr/psr-0/ PSR-4的Autoloader: http://www.php-fig.org/psr/psr-4/ 所以总之,还不成熟,但作为一个学习的工具还是挺好的,毕竟将MVC底层实现出来,证明已经掌握了MVC相当的原理了。所以楼主加油! |
9
zencoding OP @raincious
感谢你的回复。 模板引擎和数据库都可以在https://github.com/willper/JunePHP/blob/master/application/core/base.php 轻松替换掉 redirect这个确实处理的不好,慢慢改掉 关于autoLoad,因为对这个项目定位在小微系统,结构不到用Namespace的程度,所以没有考虑将类库目录扩展到多级,还有就是个人觉得PHP的Namespace有些不伦不类,仅仅个人觉得 最后就是这个项目并不建议部署于生产,用来练手学习简单的MVC还是挺好的 |