Реализация настраиваемого пользователя / провайдера входа в систему в Bolt

В настоящее время я оцениваю свои варианты изменения поставщика пользователей Bolt и связанных представлений для использования некоторых пользовательских служб входа в систему. Пока что, похоже, мне придется изменить некоторые основные элементы исходного кода Bolt, что, очевидно, является плохим выбором:

  • замещать Users сервис с пользовательским классом (тот же интерфейс)
  • Изменение / Продлить Backend Класс как он маршрутизации и рендеринга связанных представлений сам

Любые идеи о том, как пойти на это с минимальным воздействием на основной исходный код?

2

Решение

Во многом это зависит от того, сколько вы хотите изменить, но, как вы упоминаете, обмен сервисами в Silex очень прост, все, что вам нужно сделать, это:

<?php
namespace Custom;
use Bolt\Users;
// src/Custom/UserService
class UserService extends Users {}

а затем в вашей начальной загрузке сделать что-то вроде следующего.

<?php
// public/index.php
require_once "../vendor/autoload.php";
$configuration = new Bolt\Configuration\Composer(dirname(__DIR__));
$app = new Bolt\Application(array('resources'=>$configuration));
$app['users'] = new Custom\UserService($app);
$app->initialize();
$app->run();

Теперь ваш пользовательский пользовательский сервис может решить, какой из основных методов Bolt переопределить.

3

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

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector