Ответы пользователя по тегу Silex
  • Как работать с данными?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    встал вопрос как в нем работать с данными


    Любым удобным для вас способом. SIlex это тупо http фреймворк, он не предоставляет ничего из коробки для работы с базой данных. Юзайте хоть PDO хоть ORM любую.

    слышал что есть какие-то провайдеры


    Сервис провайдеры, они используются для регистрации зависимостей. Читайте документацию.

    Вообщем мне нужен некий класс который инкапсулирует работу с данными


    Это не один класс как правило, далеко не один. Либо читайте про DAO/TableGateway.

    и чтобы в дальнейшем использовать его методы в контроллерах


    Контроллеры служат одной цели. Сконвертить результат работы приложения в HTTP ответ или из HTTP ответа сформировать обращение к приложению. Ну то есть "приложение" - это просто какой-то php код. При помощи сервис провайдеров вы можете регистрировать код в контейнере зависимостей и брать нужный в контроллерах.

    Попробуйте разобраться сначала с тем, что такое сервис локатор, инъекция зависимостей, инверсия управления... И не думайте что есть "правильный" способ работы с базой данных в silex. Там просто нет работы с базой данных из коробки.
    Ответ написан
    Комментировать
  • Какой micro framework посоветуете?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Берите Symfony 3 в режиме микроядра. Профит:

    по умолчани - микрофреймворк, если этого будет не хватать - можно быстро перейти на symfony full stack решение. Ну и по качеству кода и тд. у компонентов симфони конкурентов нет (разве что zend может тягаться).

    вот только без ORM.


    Composer же, можно любой взять пакет реализующий ORM. А еще хороший вопрос - нужен ли вам ORM. Это не что-то что дефакто должно присуствовать. Скажем если у вас в качестве базы данных монга - то ORM уже не нужна, так как нет связей между документами (точнее их не должно быть).

    не навязывал свою структуру/архитектуру

    Этому пункту соответствует. Есть общепринятый best-practice но он в принципе только о общих вещах. А структуру вашего кода - это уже сами решайте. Так же нет никаких ограничений по архитектуре вашего приложения, симфони предоставляет вам только адаптеры для UI (HTTP, CLI и т.д.), то есть организация UI приложения. Приложение же само хоть на plain php может быть, просто пользовать инфраструктурой предоставляемой симфони.

    цеплять любые файлы независимо от их "географического" положения.


    Это вы сейчас об автозагрузке или что? Какие файлы? Хватит мыслить файлами, мыслите объектами, нэймспейсами и т.д. А мэппинг этого на файлы один раз прописывается в composer.json.

    p.s. Опять же, фреймворк это всего-лишь набор инструментов. он ничем вас не обязывает. Симфони один из немногих фреймворков который предоставляет свободу. То есть есть по дефолту структура, но вы ее поменять можете как захотите.
    Ответ написан
    1 комментарий
  • Silex DI для контроллера?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    класс как сервис, но это как-то дико звучит.

    Почему? Более дико звучит иньекция контейнера в класс.

    silex.sensiolabs.org/doc/providers/service_control...

    опять же по ссылке вы узнаете как иньектить что угодно в класс контроллера.
    Ответ написан
    5 комментариев
  • [Silex] Где разместить Provider?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Ну вот пишите вы какой-то компонент, и бац, у вас появляется нэймспейс с этим компонентом. А потом пишите вы такой провайдер, а он так бац и в неймспейсе компонента, для которого вы это дело пишите. Или у вас просто есть нэймспейс Provider.... Ну думаю вы меня поняли. Если у вас там провайдеров слишком много - стоит тогда подумать почему так.
    Ответ написан