タグ

2013年10月30日のブックマーク (3件)

  • PHPでAOPしてみた - localdisk

    PHPでDIはたまに見かけるけどPHPでAOPってのはあまりみないですね。S2.PHP5くらいしかない。 The Seasar Project - S2Container.PHP で、AOPしたいってだけでS2.PHP5をいれるのもアリでしょうけど、もっとちっちゃく利用したかったのでプロトタイプを作ってみた。 アスペクトクラスを書く <?php class Aspect { private $clazz; private $obj; private $intercepters = array(); public function __construct($obj) { if (is_null($obj) || !isset($obj) || !is_object($obj)) { throw new Exception('オブジェクトじゃないとだめ'); } $this->obj = $o

    PHPでAOPしてみた - localdisk
  • 最小のDIコンテナ in PHP - id:anatooのブログ

    DIコンテナがなにやら大仰なものとして勘違いされているような気がしたので、機能を極限まで削ぎ落とした最小のDIコンテナを書いた。 これにはAOPは当然ないし、設定ファイルなどもない。 <?php // DIContainer.php class DIContainer { protected $componentFactory; function __construct(ComponentFactory $c) { $this->componentFactory = $c; $c->accept($this); } function get($name) { $name = strtolower($name); if (!isset($this->objects[$name])) { $this->objects[$name] = $this->componentFactory->get(

    最小のDIコンテナ in PHP - id:anatooのブログ
  • BEMという命名規則とSass 3.3の新しい記法 - アインシュタインの電話番号

    BEMを使った命名がとても明快で、このところHTMLCSSを書くのによく使っている。CSSのクラス名として書く場合は、BEMCSS用に使いやすくしたMindBEMdingという書き方を採用している。最初にこれを知ったときは「こんな汚い記述の仕方は使いたくない」と思ってたんだけど、すっかり慣れて、今ではその明快さにちょっと心酔しかけているほど。 BEMの方法論とMindBEMdingのルールについてはそれぞれの文書を読んでもらうとして、それらをひっくるめて大雑把に説明すると、BEMとはBlock、Element、Modifierの頭文字を取ったもので、構成する要素をそのどれかに当てはめて命名していく方法。どの場合でも必ずBlockもしくはそのModifierがルートにあり、その中に、所属するElementもしくはそのModifierが含まれる構成になる。 Block - 構成のルートとな

    BEMという命名規則とSass 3.3の新しい記法 - アインシュタインの電話番号