Symfony Не работает простейший routing

BOB41K

Новичок
Попросил хостера поставить симфони и создать проект, сделали, все вроде нормально, главная страница открывается.
http://triod.ru/project/web/
(Поставил в dev чтобы можно было все отслеживать)
В src/AppBundle/Controller создал файл LuckyController.php(код взят с оф. сайта симфони)
<?
// src/AppBundle/Controller/LuckyController.php
namespace AppBundle\Controller;

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\HttpFoundation\Response;

class LuckyController
{
/**
* @Route("/lucky/number")
*/
public function numberAction()
{
$number = rand(0, 100);

return new Response(
'<html><body>Lucky number: '.$number.'</body></html>'
);
}
}

Но в браузере по ссылке http://triod.ru/project/web/lucky/number ничего нет.
Попробовал локально поставить на xampp - то же самое. Главная страница работает, другие - нет.
Подскажите, что я не так делаю?
 

BOB41K

Новичок
Я не хочу через внешние ресурсы. Меня вполне устраивает через контроллер.
Я понимаю, что где-то что-то не так делаю. Но прикол в том, что сделано все в точности как на оф. сайте Symfony( копи-паст сделать уж я могу и создать файлик). Может какой путь другой надо? Или даже не представляю, какие танцы с бубном нужны для этого Symfony.
 

Вурдалак

Продвинутый новичок
Я не хочу через внешние ресурсы.
А что такое по-твоему аннотации? Ты читал текст по ссылке? Как ты думаешь, каким образом Symfony узнает о существовании контроллера?

Я не использую Symfony, но вроде там английским языком написано, что нужно сделать, чтобы аннотации заработали:
However, if you use routing annotations, you'll need to point the router to the controllers with the annotations. This can be done by "importing" directories into the routing configuration
 

BOB41K

Новичок
А что такое по-твоему аннотации? Ты читал текст по ссылке? Как ты думаешь, каким образом Symfony узнает о существовании контроллера?

Я не использую Symfony, но вроде там английским языком написано, что нужно сделать, чтобы аннотации заработали:
Тут как раз таки нужен человек, который использует Симфони. Неужели тут ни одного такого нет?!
 

Redjik

Джедай-мастер
Тут как раз таки нужен человек, который использует Симфони. Неужели тут ни одного такого нет?!
тебе же @Вурдалак написал
However, if you use routing annotations, you'll need to point the router to the controllers with the annotations. This can be done by "importing" directories into the routing configuration
 

BOB41K

Новичок
/**
* @Route("/lucky/number")
*/

Вот этих строчек более чем достаточно для маршрутизации(согласно документации). Зачем еще что-то выдумывать?
 

BOB41K

Новичок
Зачем усложнять то, что должно быть простым?
http://symfony.com/doc/current/book/page_creation.html - читаем раздел "Creating a Page: Route and Controller" (кто знаком с симфони в любом случае и так читал это, я думаю)
вкратце перескажу:
создаем файл
// src/AppBundle/Controller/LuckyController.php
namespace AppBundle\Controller;

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\HttpFoundation\Response;

class LuckyController
{
/**
* @Route("/lucky/number")
*/
public function numberAction()
{
$number = rand(0, 100);

return new Response(
'<html><body>Lucky number: '.$number.'</body></html>'
);
}
}

и переходим по ссылочке /lucky/number и радуемся результату

На деле же ссылочка показывает ошибку, хотя и профайлер показывает, что Route matches! ( http://triod.ru/project/web/_profiler/fd4572?panel=router )
Раздела "Магия" в документации я не нашел. Остальные малоинтересны с учетом того, что простейший пример с оф. сайта не работает.
 

WMix

герр M:)ller
Партнер клуба
ну уж очень кратко пересказал. после таких пересказов даже ты будешь бегать по форумам
 

BOB41K

Новичок
ну уж очень кратко пересказал. после таких пересказов даже ты будешь бегать по форумам
Помоги, пожалуйста, если ты реально работаешь с Symfony. Для любого человека, хоть немного работающего с этой CMS, вопрос на пару минут.
 

keltanas

marty cats
Забавно, что /lucky/number он пытается открыть как http://triod.ru/project/web/lucky/number
Похоже что симфони так замечательно установлена.
Попробовал бы локально через встроенный сервер прогнать.

Еще на демке debug отключен. Возможно надо просто удалить кеш.
 
Последнее редактирование:

WMix

герр M:)ller
Партнер клуба

BOB41K

Новичок
Что самое веселое, в DefaultController.php есть 2 полностью идентичные функции(разница по сути в циферке 2):
/**
* @Route("/test2/", name="test2")
*/
public function indexActionTest2(Request $request)
{
return new Response('<html><body>Lucky number: it works here as well!</body></html>');
}

/**
* @Route("/test/", name="test")
*/
public function indexActionTest(Request $request)
{
return new Response('<html><body>Lucky number: it works!</body></html>');
}

Так вот http://triod.ru/project/web/test/ - работает
А http://triod.ru/project/web/test2/ - выдает ошибку. Route matches хотя. Мистика.

Все же ощущение, что либо что-то так установлено. Либо http://triod.ru/project/web/ - не домашняя страница и путь не от нее надо строить?! Такое возможно?
 
Сверху