Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (12)

Наибольший вклад в теги

Все теги (67)

Лучшие ответы пользователя

Все ответы (118)
  • Чем заслужил свою популярность Laravel?

    ajaxtelamonid
    @ajaxtelamonid
    Laravel
    Тем, что там можно писать мало там, где мы привыкли писать много. Подобный "конвеншн овер конфигурейшн" - он помимо прочего оставляет ощущение, что автор пишет не сферическую вещь в вакууме, которая якобы должна подойти всем, а для нас, для простых рабочих пацанов с окраин, со своими вполне конкретными юзкейсами. Т.е. он 1. человек умный и 2. знает жизнь. Это подкупает.

    Например, в output идет то, что возвращено из контроллера, а если возвратить ORM-объект или массив (точнее коллекцию) ORM-объектов, то будет отдан json, причем со всеми связанными объектами. Масса нужных в хозяйстве вещей, которые идут из коробки (миграции, редис, кэш с множеством провайдеров, работа с очередями, консольная тулза artisan для разнообразных обслуживающих вещей). Изкоробочная работающая сборка вьюх в лейаут, минимум возни с авторизацией. Скоупы в ORM. Кусочки конфигов в файлах, которые удобно ставить в .gitignore. В общем, масса такого вот, мелкого, но очень удобного.

    На Laravel ОДНОВРЕМЕННО можно уйти в глубины аццкого хадкора по Фаулеру, с тестированием всего и вся, с интерфейсами, депенденси инжекшнами, репозиториями, обсерверами, ентитями, гексагональными сценариями итд, итп, _подставить_любимый_паттерн_, И в то же время забить на это всё, сгенерить _ide_helper для подсказок по "фасадам" в IDE и фигачить код со статическими вызовами, как будто весь фреймворк написан на статике, как Кохана. Т.е. и сайт-знакомому-за-вечер и огроменный кровавый энтерпрайз делаются на одном фреймворке - в зависимости от того, насколько глубоко исполнитель хочет погружаться в свой продукт. Подобная гибкость - это, имхо, очень круто.

    И еще - как показала практика фреймворкостроительства, или ты двигаешься вместе с развитием php, либо ты делаешь "более лучшее, удобное и грамотное" решение и тихо загниваешь с своем междусобойчике за пару лет. Laravel двигается максимально близко к php - следование psr, composer-платформа в качестве базы, фрейморк ставится оттуда и пакеты расширения тоже имеют composer-формат. Что говорит о том, что у фреймворка есть все шансы прожить долгую и счастливую жизнь.
    Ответ написан
    Комментировать
  • Как понять структуру laravel?

    ajaxtelamonid
    @ajaxtelamonid
    Laravel
    Про неймспейсы надо почитать отдельно, в спецификации языка. Упрощенно говоря, это способ связать класс с файлом в файловой системе. Не нужно инклюдить файл, просто обращаешься по неймспейсу к классу, файл сам инклюдится.

    Фасад - это способ к некому классу обратиться как к статическому. Для этого при "создании" (точнее регистрации) фасада регистрируется код создания экземпляра класса и дальше при вызове SomeClass::method() фреймворк создает класс SomeClass при помощи этого кода и вызывает метод method(). laravel.su/docs/5.0/facades

    Сервис-провайдер - это класс, который осуществляет инициализацию некоторой части приложения Laravel - регистрацию фасадов, папки вьюх, конфигов, в общем, всего подобного. Хватило бы одного сервис-провайдера, но их много, потому что модуль, пакет или логическую часть приложения удобнее инициализировать в отдельном классе, а не дописывать все в существующий. laravel.su/docs/5.0/providers

    Сервис-контейнер Laravel, при помощи которого (а не при помощи оператора new) создаются все классы во фреймворке, по сути не отличается от такого же фальконовского: laravel.su/docs/5.0/container . Он нужен для реализации DI, т.е. при создании некоторого класса, например контроллера, проходить по аргументам методов, смотреть, какие там подаются классы на вход, создавать экземпляры этих классов и собственно подавать их на вход.
    Ответ написан
    1 комментарий
  • Как правильно установить Laravel на Open Server и начать нормально изучать?

    ajaxtelamonid
    @ajaxtelamonid
    Laravel
    В Laravel надо DocumentRoot http-сервера ставить в папку public, а не в корневую папку:
    1. Настройки - Домены - Управление доменами: Ручное управление (или ручное + автопоиск)
    2. Добавляем домен руками: Имя домена: domain.com Папка домена: \domain.com\public
    Ответ написан
    2 комментария
  • Apache, NGINX, PHP-FPM - что лучше?

    ajaxtelamonid
    @ajaxtelamonid
    Laravel
    Лучше — nginx-front и apache-back+mod_php, так как это решение главной проблемы апача — расход памяти при отдаче статики, и отсутствие говной боли в конвертации правил .htaccess в правила nginx.

    Быстрее — nginx + php-fpm.

    Но раз надо «лучше, а не быстрее!», бери первый вариант.
    Ответ написан
    4 комментария
  • Как командно разрабатывать php проект?

    ajaxtelamonid
    @ajaxtelamonid
    Laravel
    1. Учим git - githowto.com/ru
    2. Изучаем концепцию git flow - habrahabr.ru/post/159107 . Можно юзать GUI-клиенты с поддержкой этой фичи, для винды лучший - SmartGit, для мака - Tower.
    3. Изучаем, как можно деплоить код на сервер из удалённого репозитория. Если хотите глубокого погружения - разворачивания новой копии в отдельной папке, чтобы можно было откатиться на предыдущую версию, симлинки, вот это всё - изучаете recipes на deployer.org . Если нет, юзаете deployer.org без recipes, просто с парой команд git reset HEAD --hard && git pull origin master . Или вообще хуком с гитхаба или битбакета.
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (3)