Estoy aprendiendo Symfony2 (y OOP) y quiero crear un servicio que esté disponible en toda mi aplicación. Este servicio toma un valor foo, lo compara con una tabla de base de datos y devuelve una barra de valor.¿Cómo se accede a Doctrine DBAL en una clase de servicio de Symfony2?
que tienen un poco de clase
namespace Acme\TestBundle\Toolbox;
class StringToolbox
{
public function lookupSomething($foo)
{
$conn = $this->get('database_connection');
$sql = "SELECT bar FROM bar_list WHERE foo = :foo";
$stmt = $conn->prepare($sql);
$stmt->bindValue("foo", $foo);
$stmt->execute();
return $bar;
}
}
Mis valores son:
services:
toolbox:
class: Acme\TestBundle\Toolbox
arguments: [@database_connection]
Pero lanza un error diciendo que el método get() no está definido. Estoy atascado, ¿cómo puedo usar DBAL en el servicio? ¡Gracias!
Esto ayuda mucho! Los documentos de Symfony son geniales, pero suponen un conocimiento completo de POO, y tengo algunas lagunas. ¡Gracias! – Acyra
Por alguna razón esto ya no funciona, tengo que pasar un argumento diferente: arguments: [@database_connection] – Acyra
El servicio '@ doctrine.dbal.connection' es un resumen. Intenta usar '@ doctrine.dbal.% Connection_name% _connection' donde el'% connection_name% 'coloca el nombre de la conexión que deseas inyectar. –