Pull to refresh

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

PHPSymfony

Если вы не один раз начинали новые проекты с использованием 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


Все желающие помочь с развитием приветствуются!
Tags:phpsilexsilicone
Hubs: PHP Symfony
Total votes 20: ↑17 and ↓3 +14
Views14.5K

Popular right now

PHP Symfony разработчик
from 100,000 to 150,000 ₽DAMIR.INRemote job
Senior PHP Developer (Symfony)
from 3,000 $RELAYTO/Remote job
PHP developer (Symfony)
from 180,000 ₽GigAntСанкт-ПетербургRemote job
Backend разработчик (PHP Symfony)
from 130,000 ₽СберЛогистикаМоскваRemote job
PHP developer (Symfony)
to 250,000 ₽SibedgeМоскваRemote job