Symfony 2: Controller

Использование форматов

В настоящее время веб-приложения представляют из себя большее, чем просто HTML странички. Начиная от XML для RSS фидов или веб-сервисов, и заканчивая JSON для Ajax запросов, они имеют множество различных форматов для выбора. Эти форматы полностью поддерживаются Symfony 2.

Read more of this post

Advertisements

symfony 2 разрешаем слешь на конце url

Решение 1: если поставить “/” на конце маршрута, например так
contact:

    pattern: /contact/
    defaults: { _controller: "WebsiteProjectBundle:Home:contact"}

то просиходить перенаправление с /contact на /contact/, и все работает. Но ест один большой минус: backslash в таком случае должен быть во всех маршрутах, что не удобно, если используются многие Пакеты сторонних разработчиков.

Решение 2: /web/.htaccess:

<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteCond %{HTTPS} =on
 RewriteRule ^(.+)/$ https://%{HTTP_HOST}/$1 [R=301,L]
 RewriteCond %{HTTPS} =off
 RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^(.*)$ app.php [QSA,L]
 #<IfModule mod_vhost_alias.c>
 # RewriteBase /
 #</IfModule>
</IfModule>

Решение 3: How to allow a “/” character in a route parameter

решения 1 и 2 скопированы с хабра

symfony 2 логин в контроллере

получаем пользователя

$userManager = $this->get('fos_user.user_manager');
$user = $userManager->findUserById($id);

теперь залогинем его:

$providerKey = $this->container->getParameter('fos_user.firewall_name');
$token = new UsernamePasswordToken($user, null, $providerKey, $user->getRoles());
$this->container->get('security.context')->setToken($token);

Создание CRUD приложения на Symfony 2

Symfony 2.0

Недавно вышедшая версия фреймворка Symfony 2 включает в себя много интересных фич. В данной статье хочу рассказать про создание CRUD приложений — очень часто встречающейся задачи создания веб-интерфейса для создания, чтения, обновления и удаления записей в БД.

Read more of this post