PHP MVC:如何注入帮助器,实用程序和Request对象?

时间:2017-05-18 10:52:12

标签: php model-view-controller dependency-injection controller

我正在研究我的HMVC项目。

首先 :我有一个帮助器/实用程序类列表,用于完成特定任务:/*jshint esversion: 6 */ import {bindable, inject} from 'aurelia-framework'; @inject(Element) export class SquareCustomAttribute { @bindable sideLength; @bindable color; constructor(element){ this.element = element; } sideLengthChanged(newValue, oldValue){ this.element.style.width = this.element.style.height = `${newValue}px`; } colorChanged(newValue, oldValue){ this.element.style.backgroundColor = newValue; } } <template> <require from="./square"></require> <div square="color.bind: squareColor; side-length.bind: squareSize"></div> </template> ,{{1 }},ArraysClassesFilesLog等。

例如,在Messages类中,我定义了一个函数,用于通过给定的键路径读取多维数组中的数组值(例如:get&#39; app / paths / modules&#39; value)。

对于某些类,其中一些是必需的依赖项,因此必须在构造函数中注入。就像,Images类是Encryption类的强制依赖,用于从应用程序配置数组中读取值。

对于其他课程,他们不需要依赖。就像Arrays类一样。它有时用于控制器操作或Array方法中,用于记录目的。

我想知道,应该如何注入这类类的实例。

  • 作为 setter依赖
  • 作为方法的参数正在使用它们吗?

第二次 :我应该将Config类视为必需类,例如控制器中的构造函数依赖?

我还使用依赖注入容器。

谢谢。

修改

从&#34; 删除子弹列表对于某些类... &#34;和&#34; 对于其他课程...... &#34;。

编辑2

以下是在Log内使用QueryBuilder类的示例:

Request

1 个答案:

答案 0 :(得分:0)

我个人使用Request作为控制器方法的依赖,实际上需要它。

至于你的其余代码,似乎你试图在控制器内推得太多。我建议您添加一个处理应用程序逻辑的服务层&#34;每个控制器仅依赖于那些服务作为构造函数中的要求。

要添加更多内容,您必须显示一些代码。