上一章 文档首页 下一章


1.18.1 提供快速函数的缘由

很多人,很多框架都在说遵循的是OOP,实际上很多都是面向过程的开发,或者是很呆板的面向对象。

而且你也会发现,面向对象和面向过程在某方面是相互补充的。而且,面向对象里面很痛苦的改动在面向过程中可以很容易实现,反之亦然。如面向对象中添加一个类成员变量(新数据)很简单,但在抽象父类中添加一个抽象方法(新方法)却很痛苦;而在面向过程中添加一个全局变量(新数据)很痛苦,但要添加一个新方法却很简单。

所以,没有绝对的好与不好,关键在于如何设计和如何使用。而PhalApi则遵循敏捷开发的思想,为了更多的接口开发人员减少代码编写和记忆的痛苦、体验开发的乐趣,我们思虑衡量再三,提供了以下的快速函数。

1.18.2 目前已有的快速函数

(1)获取全局DI实例的函数:DI()

为了定位获得全部服务资源,我们需要一个统一的入口,在这里即为PhalApi_DI的全局实例。
我们可以这样原始获取:

$di = PhalApi_DI::one();

也可以这样快速获取:

$di = DI();

也就是说:

function DI() {
    return PhalApi_DI::one();
}

(2)国际化翻译函数:T()

在真正需要进行翻译的项目中,翻译函数的调用显然会到处可见。为了方便编写代码,这里取Translator的首写字母T作为快速函数的名字,在需要进行翻译时只需要调用T(),即可:

$msg = T('hello world');

$msg = T('hello {name}', array('name' => 'dogstar'));

对应地:

function T($msg, $params = array()) {
    return PhalApi_Translator::get($msg, $params);
}

上一章 文档首页 下一章

还有疑问?欢迎到社区提问!

Fork me on GitHub