Haszprus

PSR-11 - Container interface

©   Haszprus   |   fejlesztés php

"Common interface for dependency injection containers"

public methods:

public function get(string $className);
public function has(string $className);

A $className-et a PSR $id-ként említi, de szvsz nyilvánvalóan ClassName-ről van szó. (Right?)

"Users SHOULD NOT pass a container into an object so that the object can retrieve its own dependencies. This means the container is used as a Service Locator which is a pattern that is generally discouraged."

Ezen az egészen el lehet vitatkozni, lesz egy írásom majd a PHP-DI-ról, vagy ki tudja, lehet hogy már megjelenik mire ez megjelenik :Đ

RSS: hozzászólások ehhez a bejegyzéshez 2 hozzászólás

Szólj hozzá Te is!

ID-nak hívják, mert egyedi kell legyen (egy instance-on belül), különösebb egyéb megkötés emlékeim szerint nincs. Az esetek 95%-ában erre pont tökéletes a FQCN (azaz az `Almafa::class`), de a maradék kis százalékban praktikusabb egyedi neveket használni. Utóbbit akkor szoktuk régebbi kódjainkban használni, amikor a rendszer valamely core komponenséről van szó, amihez van több implementáció is (mondjuk a "nyers", meg profiling, caching proxyk). Mai rendszerekben ezt úgy oldjuk meg, hogy minden interface-t vár, és a DIC-nek mondjuk meg, hogy az X interface-t az Y osztályra autowire-ölje (symfony).

Off: a blogpost headerjében a dátum kiírás után van egy "%}".
válasz 2 like

Hozzászólásod:


Nem vagy bejelentkezve, de...

A)
hozzászólhatsz regisztrálatlanul...

B)
ha regisztrálva vagy, bejelentkezhetsz...