@
dongbeta 轮子只有造出来才知道是不是好 :)
自己娱乐的代码和给大家用的代码是两种规范的。毕竟框架是偏底层的基础软件,要尽量稳定,保持一致性。所以建议楼主还是尽量先研究下基础知识和最佳操作,然后再写好漂亮的代码,最后才是给大家用,不要一开始就着急发布。
另外,其实冷水的说法,不太会有人真的去用楼主的框架,除非你已经能战胜至少ThinkPHP。真的想让别人去用,得先实现两点:1、让框架足够好用,让用户能以最快速度开发出产品;2、框架足够稳,能支撑大量代码和库的管理,后期也不用因为各种问题转型(或者转型很容易)。这两点很难实现,我自己的框架写了近1年多,没胆量拿出来(当然,主要是自己当初写那些代码的时候没学会用PHPUnit,自己又喜欢一开始就把功能做大,导致Bug这一堆,那一堆)。
另外给个建议(针对那位要提供ORM和其他组件的同学),微型框架内还是建议不要强制绑定各种库甚至模板引擎等等,给框架用户足够的自由可以自行选择然后引用到框架里。时刻保持灵活可替换,这样才能保证你自己的框架不会被换下来。
就楼主这个框架而言:
https://github.com/willper/JunePHP/blame/master/application/initialize.php#L29redirect($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相当的原理了。所以楼主加油!