Как стать автором
Обновить

Silicone Skeleton — настроенный Silex

Время на прочтение2 мин
Количество просмотров15K

Если вы не один раз начинали новые проекты с использованием Silex, то вы знаете что каждый раз в начале нужно настроить его под себя: добавить провайдеры, переопределить некоторые сервисы, определить структуру каталогов, и т.д. Со временем у вас появляется базовый набор для Silex которые вы используете для создания нового проекта.
Но если у вас его нету, предлагаю вам ознакомиться с моим: Silicone Skeleton.

В Silicone Skeleton включены следующие компоненты:
  • HttpCache — работает только в prod окружении.
  • Class Controllers — вы можете размещать код контроллеров не только в функциях, но и в методах классов.
  • Doctrine Common — вынесен отдельно т.к. используется в нескольких не зависимых провайдерах.
  • Doctrine ORM — вы можете пользоваться полноценной ORM (а не только DBAL). Для работы были добавлены следующие команды:
    1. database:create
    2. database:drop
    3. schema:create
    4. schema:update
    5. schema:drop

  • Monolog — логи пишутся в app/open/log/log.txt
  • Session
  • Twig — шаблоны лежат в app/view/
  • Translation — языковые файлы(yml, xliff) лежат в app/lang/[domain].[locale].yml
  • Validators — добавлен недостающий валидатор UniqueEntityValidator для Doctrine Orm
  • Forms
  • Security — с регистрация и авторизацией пользователей
  • Annotation Routes — можно использовать аннотации для роутов и ORM.
  • Console — необходимые команды для ORM и очистки кэша.


Структура каталогов очень близка с Symfony
app/
    config/  -- Настройки
    lang/    -- Языковые файлы
    open/    -- Кэш, логи
    src/     -- Исходники
    vendor/  -- Вендоры
    view/    -- Шаблоны
    console  -- Консоль
web/
    index.php


Вы можете использовать обычные Silex контроллеры: $app->get(...) вместе с такими контроллерами:
class Blog extends Controller
{
    /**
     * @Route("/blog/{post}")
     */
    public function post($post)
    {
        return $this->render('post.twig');
    }
}


Так же в Silicone Skeleton полностью настроен Security Provider. И контроллер входа и регистрации.

Для установки используйте Composer:
composer create-project elfet/silicone-skeleton your/app/path


Все желающие помочь с развитием приветствуются!
Теги:
Хабы:
Всего голосов 20: ↑17 и ↓3+14
Комментарии11

Публикации

Истории

Работа

PHP программист
106 вакансий

Ближайшие события

15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань