Как сделать так, чтобы импортированный устаревший класс PHP для поиска контейнеров использовал соединение с Doctrine DB в Symfony 2.3 - PullRequest
0 голосов
/ 05 июля 2019

У нас есть приложение, половина которого обслуживает свои страницы через древнюю PHP-архитектуру без фреймворка, а другая половина встроена в Symfony 2.3.

Я создаю контроллер для APIконечная точка в Symfony 2.3 в соответствии с более новой архитектурой, но мне нужно включить один из классов из унаследованного проекта.

Проблема: когда я импортирую класс унаследованного проекта MFQ, PHP в видеSymfony жалуется, что не может найти текущий container.

. Класс MFQ содержит много необработанных запросов MySQL.Этот класс includes другой унаследованный класс, который содержит следующее соединение с базой данных:

$container = $this->container;
$hostName = $container->getParameter('database_host');
$userName = $container->getParameter('database_user');
$password = $container->getParameter('database_password');
$dbName = $container->getParameter('database_name');

mysql_connect($hostName, $userName, $password) or die("Unable to connect to host $hostName");
mysql_select_db($dbName) or die("Unable to select database $dbName");
mysql_set_charset('utf8');

В соответствии с архитектурой Symfony, я буду использовать Doctrine ORM для своих запросов, чтобы облегчить доступ к локальному соединению MySQL.,Это предпочтительнее, чем переписать весь класс MFQ для запроса через соединение MySQL Doctrine ORM.

К сожалению, когда платформа Symfony встречает $this->container в устаревшем классе import ed, она жалуется, что нетcontainer контекст, из которого можно получить параметры соединения.

Я бы хотел include класс НО - мои дорогие друзья: НО!НЕКОТОРЫЕ ... чтобы сделать это container в курсе.Во-первых, возможно ли это?Во-вторых, как я могу подойти к этому?

Ваше понимание должно звучать эхом на протяжении всех вечностей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...