DI(依存注入、Dependency Injection)でのロボットの足問題の解決方法としてDIに名前空間を導入してみました。 参考:「Diコンテナの名前空間に関するメモ」
ロボットの足問題については、こちらの英語ページあるいはkoriymさんのRay.DIのIssue#36に詳しくあります。
GuiceやRay.DIを理解できたとは言える段階にないので、他の技術での対応方法について比較できないのですが、DIに名前空間を導入することで、かなりエレガントに解決できると思っています。
$errMsg = getErrors( $errors ); | |
function getErrors( $errors ) | |
{ | |
return function( $name ) use( $errors ) { | |
return $errors->first( $name, '<p class="text-danger">:message</p>' ); | |
}; | |
} | |
//... | |
{{ $errMsg('name') }} |
class Post extends Eloquent { | |
public comments() { | |
return $this->hasMany('Comment'); | |
} | |
} | |
class Comment extends Eloquent { | |
public posts() { | |
return $this->BelongsTo('Post'); | |
} | |
} |
$entity1 = new Model(); | |
$entity2 = Model::create( array() ); |
DI(依存注入、Dependency Injection)でのロボットの足問題の解決方法としてDIに名前空間を導入してみました。 参考:「Diコンテナの名前空間に関するメモ」
ロボットの足問題については、こちらの英語ページあるいはkoriymさんのRay.DIのIssue#36に詳しくあります。
GuiceやRay.DIを理解できたとは言える段階にないので、他の技術での対応方法について比較できないのですが、DIに名前空間を導入することで、かなりエレガントに解決できると思っています。
自作Diコンテナに「名前空間」を実装してみた。 欲しいと思った理由をまとめてみました。
WScore/DiContainer : https://github.com/asaokamei/WScore.DiContainer
自動設定の問題点
<?php | |
namespace wsModule\Alt\Web; | |
/** | |
* Interaction for web input and output, such as forms. | |
* This is a DCI inspired module. things works as coded but still quite experimental. | |
* | |
* TODO: remove $this->view property. Interaction should not know about view... | |
*/ | |
class Interaction |