Простите я жутко туплю.
Есть сервис:
namespace AppBundle\Services;
use Doctrine\DBAL\Connection;
class Permission extends BaseService
{
/**
* @var Connection
*/
private $connection;
/**
* Permission constructor.
* @param mixed ...$args
*/
public function __construct(...$args)
{
parent::__construct(...$args);
$this->connection = $this->em->getConnection();
}
/**
* @param string $role_name
* @return array
*/
public function getPermissionsByRoleName(string $role_name): array
{
$q = $this->connection->prepare('SELECT * FROM `permissions` WHERE `roleName` = ":roleName";');
$q->bindValue('roleName', $role_name);
$q->execute();
return $q->fetchAll();
}
}
Он расширяет класс:
namespace AppBundle\Services;
use Doctrine\Bundle\DoctrineBundle\Registry;
class BaseService
{
/**
* @var Registry
*/
protected $em;
/**
* @var Configure
*/
protected $config;
/**
* @var \AppKernel
*/
protected $kernel;
/**
* Configure constructor.
* @param Registry $em
* @param Configure $configure
* @param \AppKernel $kernel
*/
public function __construct(Registry $em, Configure $configure, \AppKernel $kernel)
{
$this->em = $em;
$this->config = $configure;
$this->kernel = $kernel;
}
}
Мне нужно вызвать метод getPermissionsByRoleName() проблема в том что я не знаю что мне нужно передать при вызове класса, чтобы все заработало, в конструкторе есть три аргумента и чтобы и как бы я не пытался у меня не выходит сообразить как правильно и что нужно передать...
Я пытался вот примерно так вызвать класс: но все равно ошибка что я не чего не передаю при вызове класса(
$i = new Permission(new Registry, new Configure, new \AppKernel);
$i->getPermissionsByRoleName('....');