Mam klasy, która jest zależna od połączenia DB, coś takiego:Przechodząc fabrykę do symfony 2 Usługa
class Test
{
private $conn;
public function __construct(Connection $conn) {
$this->conn = $conn;
}
}
Usługa dla mogłoby to wyglądać tak:
services:
service.test:
class: Test
arguments:
- ["@database_connection"]
teraz , Chciałbym przekazać własną usługę/obiekt połączenia, który przy uruchomieniu tworzy Connection
. Ale nie mogę przekazać go jako argumentu, ponieważ chce obiektu Connection
, a nie fabryki.
Jak mogę najlepiej to podejść?
Próbowałem dodać setConnection
na klasie Test
, ale byłoby ładniej zachować bieżącą definicję i usługę nienaruszone.
Czy możesz zmienić swoją klasę, aby zaakceptować fabrykę jako zależność? –
Mogę, ale jestem bardziej zainteresowany rozwiązaniami, które opuszczają klasę, jak to jest ... po prostu ciekawa – Oli
Rozumiem. Myślę, że może być jakiś sposób. Czy mógłbyś dodać kod fabryczny i jego rejestrację w yaml? –