services.yml
クソわかりにくいmrsekut.icon
概要
services._defaults
autowire
autocinfigure
public
bind
servicesのその他
個別の名前空間や、classに対する指定
code:services.yml
services:
_defaults:
...
App\:
resource: '../src/*'
exclude: '../src/{DependencyInjection,Entity,Migrations,Tests,Kernel.php}'
このApp:の部分は、
Appの名前空間内でかつ、src/配下のclassは
resource
exclude
public
lazy
factory
tags
bind
eccube.security.success_handlerみたいにSymfonyのsecuriy.yamlのための定数定義みたいに使用されているものもあってめちゃくちゃわかりづらいmrsekut.icon どういう単位で列挙していっているのかわからん
rootめの名前空間を指定しているものもあれば、
...HogeRepositoryみたいに具体的なclass名を指定しているものもある
この、指定する空間に重複する場合の優先度などもわからん
AとA\B\Cのそれぞれに指定があった時に、A\B\CはAの指定を継承するのか、上書きするのか
A内で、A\Bをexcludeして、それとは別にA\Bは個別で指定した場合はどちらが優先されるのか
全部登録すれば良いじゃんと思う
全部登録したらどういう問題が生じるのか?
parameters
services.yml内で使うような定数の定義をする
hoge: で定義した定数は、%hoge%で呼び出す
.nixのletのイメージねmrsekut.icon
例
code:services.yml
parameters:
admin_email: manager@example.com
services:
AppBundle\Hoge:
arguments:
$adminEmail: '%admin_email%'
必須なもの?それともなくてもいけるけどあると便利なもの?
property
lazy
このObjectが必要になるまで読み込みを遅延させる
public