Symfony

composer Ошибка при composer update -- FosUserBundle

И снова связка Composer - FosUserBundle внезапно напоминает о своём существовании в моём проекте. Предыдущие "разборки" можно поискать здесь. На этот раз контроллер регистрации, переопределённый мной, после composer update перестал видеть используемый базовым контроллером FactoryInterface.

Текст ошибки:

composer -- Unable to create the storage directory (...var/cache/dev/profiler)

Ошибка появляется после команды

composer install

Не хватает прав для работы с директорией.

Текст ошибки:

composer doctrine -- Fatal error Doctrine\Common\Annotations

Ошибка появляется после команды

composer install

Текст ошибки:

symfony logout

Стандартно конфигурация logout в Symfony выглядит так:
security.yml:

security:
    firewalls:
            logout: true

Это означает, что используются настройки по умолчанию, такие:

symfony Query builder -- Inner join трёх таблиц (пример)

Пример создания внутреннего объединения трёх таблиц с использованием QueryBuilder-а.
Решает вопрос поиска продуктов, у которых обязательно есть фото, относящихся к определённой категории:

symfony Получить путь к директории приложения от корня файловой системы

Путь от корня файловой системы к корневой директории приложения в Symfony можно получить из Параметра 'kernel.project_dir'.

Достать в контроллере его можно так:

$basePath = $this->getParameter('kernel.project_dir');

В других классах придётся сначала вызвать Контейнер:

$basePath = $this->getConteiner()->getParameter('kernel.project_dir');

Таким образом, если вам необходимо получить путь, например, к данному контроллеру, добавляем к базовому пути путь внутри приложения:

symfony SwiftMailerBundle -- Как отправить e-mail сообщение

Отправка email сообщений в Symfony организована с помощью SwiftMailerBundle.

  1. Для начала установим его, если ещё не установлен (проверьте в списке бандлов, подключаемых в Resourses/AppKernel.php).
    В консоли вводим команду:

    composer require symfony/swiftmailer-bundle

    и после:

    composer update

symfony -- Смс регистрация и аутентификация (sms-код). Пример.

Если вы хотите, чтобы на вашем сайте регистрация и аутентификация пользователя происходила по SMS-коду, можно воспользоваться следующим примером.

Здесь генерация sms-кода инициируется ajax-запросом. Код записывается в БД вместе с номером телефона, запросившего код. Далее в контроллере регистрации/логина введённый пользователем код в форму сравнивается с кодом из БД, а также проверяется на временной лимит (код действует 5 минут).

Symfony -- Валидация данных. Способы

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

Основная статья по валидации здесь.

symfony -- FOSUserBundle Как переопределить стандартную форму авторизации?

Код моего класса RegistrationType, расширяющего стандартный:

<?php

namespace AppBundle\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;

/**
 * Форма регистрации пользователя
 */
class RegistrationType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder->add('adress');
        $builder->add('mobileNumber');
    }

    public function getParent()
    {
        return 'FOS\UserBundle\Form\Type\RegistrationFormType';
    }

Pages

Subscribe to RSS - Symfony