龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

#年前福利#Phalcon框架部分核心类的伪实现

时间:2014-07-22 14:48来源: 作者: 点击:
分享到:
自从在开源中国看到Phalcon这个开源框架,并看了其开发文档后,觉得其文档不仅仅是在讲他的框架,也不仅仅是在说明PHP这门语言,而是更大程度上在讲解如何设计一个框架、如何高效
自从在开源中国看到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,替换现有一项目的自动加载类,居然可以完美替换而无任何报错,小小开心中~~~~
<?php
require dirname(__FILE__) . '/../release/FDI.php';

/** ------------------ 创建与设置 ------------------ **/
//获取FDI
$fdi = FDI::getInstance();

//演示的key
$key = 'demoKey';

/** ------------------ 设置 ------------------ **/

//可赋值的类型:直接赋值、类名赋值、匿名函数
$fdi->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";
精彩图集

赞助商链接