symfony — Symfony2 — приложение для маршрутизации php от поставщика

Я хотел бы направить PHP-скрипт от поставщика.
Я использовал Composer для установки управления базой данных (https://github.com/vrana/adminer/).
Источник этого приложения: vendor / vrana / adminer / adminer / index.php

Я хотел бы создать маршрутизатор для использования этого приложения, например, когда я вызываю URL myweb.com/adminer,
он должен загрузить этот источник: vendor / vrana / adminer / adminer / index.php

Можно ли это сделать через routing.yml? Что-то вроде этого:

adminer:
resource: "Vendor/vrana/adminer/adminer/index.php"prefix:   /adminer

Или как это возможно сделать?

1

Решение

Это не возможно через Symfonys routing.yml, так как для этого нужно запустить ядро ​​приложения, которое находится в app.php, Но вы можете просто настроить администратора как другой сервер.

Если вы используете апаш например напишите в /etc/apache2/sites-enabled/local

<VirtualHost *:80>
ServerName local.adminer
DocumentRoot /YourPathToAdminer
DirectoryIndex adminer.php
<Directory /YourPathToAdminer>
AllowOverride all
Allow from all
</Directory>
LogLevel debug
</VirtualHost>

И в твоем /etc/hosts добавить куда-нибудь

127.0.0.1       local.adminer

Просто позвони http://local.adminer в вашем браузере и все готово.

0

Другие решения

Это действительно легко.

Создайте обычный маршрут, затем включите adminer.php и верните его из контроллера. Не забудьте поставить этот маршрут под брандмауэром

В контроллере:

use Symfony\Component\HttpFoundation\Response;
public function mysqlClientAction() {
return new Response(include_once $this->container->getParameter('kernel.root_dir') . '/Resources/views/adminer.php');
}

в routing.yml

admin_mysql_manager:
path: /mysqlclient
defaults: { _controller: YourBundle\Controller\YourController::mysqlClientAction}
1

Я решил что-то подобное через шаблон, но у меня есть чешская версия, только один файл:

//app/Resources/views/adminer.html.php

<?php
include(__DIR__.'/../../../vendor/vrana/adminer/adminer/index.php');
?>

и маршрут от Контролера

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;

/**
* @Route("/adminer", name="adminer")
* @Template(engine="php")
*/
public function adminerAction()
{
return $this->render('::adminers.html.php');
}

и поместите adminer.php и переименуйте в /vendor/vrana/adminer/adminer/index.php
Теперь адрес ваш сайт / администратор

0
По вопросам рекламы [email protected]