Typecho Framework 注入简介

简介: 注入是Typecho-Framewrok的重要特性。注入写起来非常优雅,在性能上也有好处(避免了函数开销)。本文简要介绍如何使用Typecho-Framework的注入。如果你不太了解Typecho-Framework,请先参考Typecho Framework简介和Typecho Framework: Hello world!两篇文章。

注入是Typecho-Framewrok的重要特性。注入写起来非常优雅,在性能上也有好处(避免了函数开销)。本文简要介绍如何使用Typecho-Framework的注入。如果你不太了解Typecho-Framework,请先参考Typecho Framework简介Typecho Framework: Hello world!两篇文章。


注入的使用十分简单。


首先我们在入口程序中声明注入的配置文件:

Base::setInjectiveObjects(require(ROOT . '/config/injects.php'));

然后在配置文件config/injects.php中绑定需要注入的对象:

returnarray(

 'ending' => array('Hello\Service\Ending'),

);

这里我们将ending绑定到Hello\Service\Ending这个我们自行实现的类。

Ending类包含一个方法,该方法返回一个END字符串:

namespace Hello\Service;

classEnding

{

 publicfunctionendWord() {

   return'END';

 }

}

在Action中,我们只需声明ending变量即可实现注入:

namespaceHello\Action;

useTE\Mvc\Action\AbstractAction;

/**

* Hello

*

* @use AbstractAction

*/

classhelloWorldextendsAbstractAction

{

 private  $ending;

 publicfunctionexecute()

 {

   returnarray('content', 'Hello, world.' . $this->ending->endWord());

 }

}

注入很爽吧?

注入会迷惑IDE。 比如,$this->ending->endWord()这句,PHPStorm中输入$this->ending->之后无法提示、补全方法了。PHPStorm中需要自动提示的话,需要额外使用@var注明。(感谢suchasplus提供这个小窍门。)

相关文章
|
5月前
|
JavaScript 前端开发
JSf中ilter的使用方法
JSf中ilter的使用方法
|
JSON 前端开发 NoSQL
Typecho Framework简介
Typecho Framework是SegmentFault所用的框架,由创始人joyqi亲手打造。joyqi也是国内知名博客平台Typecho的作者。
334 0
|
Web App开发 安全 测试技术
Web Hacking 101 中文版 十六、模板注入
十六、模板注入 作者:Peter Yaworski 译者:飞龙 协议:CC BY-NC-SA 4.0 模板引擎是允许开发者或设计师在创建动态网页的时候,从数据展示中分离编程逻辑的工具。
1328 0
下一篇
无影云桌面