自从在开源中国看到phalcon这个开源框架,并看了其开发文档后,觉得其文档不仅仅是在讲他的框架,也不仅仅是在说明php这门语言,而是更大程度上在讲解如何设计一个框架、如何高效优雅地进行软件开发。
感兴趣的童鞋强烈推荐也阅读一下:上链接:http://docs.phalconphp.com/en/latest/index.html
但因为phalcon框架是用c写的扩展,看不到php相关的源代码,但其开发思想很值得学习、参考、借鉴,所以就按照其思路实现了其中的部分核心类,在这里分享一下。目的:
1、通过phalcon的伟大思想自主实现phalcon部分类,加深对其的理解,以及自已的编码能力;
2、作为通用的核心类,实现后合适地应用于日后的项目;
3、规范自己的开发流程(测试+示例+生成发布代码);
暂时实现的只有两个类,分类是di( dependency injection)类和loader类(universal class loader),后续有时间可能会再实现其他的。感兴趣的同学也可以试下~
附件列表:
1、全部文件压缩包(源代码、发布代码、示例、测试)
2、运行的效果截图
3、其中fdi的示例代码(为查看方便,也可以在下载代码中查看)
ps:小编用刚写的自动加载类floader,替换现有一项目的自动加载类,居然可以完美替换而无任何报错,小小开心中~~~~ set($key, 'hello fdi!');$fdi->set($key, 'simple');$fdi->set($key, function(){ return new simple();});//设置途径:除了上面的set(),你还可以这样赋值$fdi->setdemokey('hello fdi!');$fdi->demokey = 'hello fdi!';$fdi['demokey'] = 'hello fdi!';/** ------------------ 获取 ------------------ **///所以你可以这样取值echo $fdi->get('demokey'), \n;echo $fdi->getdemokey(), \n;echo $fdi->demokey, \n;echo $fdi['demokey']. \n;
复制代码