Phalcon3.2からServiceProviderが提供されるようになりました

ここ最近Phalconを業務で使うようになったファガイです。

今までLaravelばかり触ってきたのでPhalconの実装になれずにいます、、、
さて、Phalcon3.2からはひっそりとServiceProviderの機能が実装されました。

いままではEventMangerに噛ませるような実装をやるのがおそらく近いやり方だったのですが、公式的に用意されたのでうれしい。

対象のPR

https://github.com/phalcon/cphalcon/pull/12543

もともとこれは3.1に入る予定だったようですが、3.2にずれたようで。

使い方

簡単です。

SomeServiceProvider.php
use Phalcon\Di\ServiceProviderInterface;
use Phalcon\DiInterface;

class SomeServiceProvider implements ServiceProviderInterface
{
    public function register(DiInterface $di)
    {
        $di['foo'] = function () {
            return 'bar';
        };

        $di['fooAction'] = function () {
            return new SomeComponent();
        };
    }
}

あとはこれをDIに突っ込むだけ。

$di = new \Phalcon\Di\FactoryDefault();
$di->register(new SomeServiceProvider());

簡単になってうれしいですね。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.