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

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

Все теги (6)

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

Все ответы (7)
  • Какой PHP фреймворк выбрать для CRM/ERP?

    Меня всегда улыбали люди, которые говорят что-то вроде "... для проектов со сложной бизнес-логикой это не подойдёт..." А зачем ставить изначально себе палки в колёса и делать сложную бизнес-логику в проектах? Это только говорит о недостаточной компетентности и отсутствии навыков и фантазии для решения сложных задач простым путём. Я уверен, при грамотном проектировании можно любой сложный проект реализовать раз в 10 проще. Лично мне нравится Yii2 - отличный инструмент, где есть практически всё, что нужно. Из его преимуществ - скорость работы, понятная логика работы самого фреймворка, большое количество готовых дополнений, популярность. Недостатки - очень много взаимозависимых компонентов и неважная документация без наличия хороших примеров реализации популярных задач.
    Ответ написан
    Комментировать
  • Мультиязычность в Yii2: как реализовать правила URL?

    Я использую сдедующий подход:
    1) В базе данных информация о страницах (или товарах, или других сущностях) хранится в двух таблицах: например, page и page_content. Первая таблица - это данные, которые не требуют перевода (например id, дата создания, дата обновления, слаг итд.). Вторая таблица - это текстовые данные, которые будут мультиязычными (meta_title, meta_description, meta_keywords, content). Во второй таблице (с контентом), должно быть поле для связи с первой таблицой (напр. поле page_id), а также поле для указания кода языка. Получается, что для одной записи в первой таблице существует несколько записей во второй таблице, каждая из которых - на разных языках.
    2) В моделях нужно прописать связь один к одному для этих таблиц, в которых связующими будут поля по ID и по полю языка (параметр берётся из настроек приложения Yii::$app->language):
    public function getPageContent()
    {
        return $this->hasOne(PageContent::className(), ['page_id' => 'id'])->andWhere(['page_content.language_code' => Yii::$app->language]);
    }

    Теперь при выборке данных из первой таблицы, будут подтягиваться тексты из второй таблицы, на текущем языке приложения.
    3) Для управления текущим языком приложения и удобного переключения с одного языка на другой (параметр языка хранится в ссылке), существует замечательный компонент Yii2 Locale URLs
    Ответ написан
    1 комментарий
  • WordPress или MODx Revolution для корпоративного сайта?

    Wordpress стал таким популярным, благодаряч его простоте на "бытовом" уровне, для пользователя, которому нужен сайт "за пять минут". Его легко установить и настроить, не зная ни капли кода и технических знаний. Но только в качестве блога или домашней страницы. Если нужно что-то большее - то Wordpress - это просто помойка. Для разработчика вообще - ад. Там куча "говнокода" в стиле 2000х, устаревшая архитектура, нет базовых вещей "из коробки" (например, мультиязычности, кэширования или SEO). Чтобы добавить к странице простую кнопку загрузки дополнительного изображения - нужно жёстко править код. Чтобы в контактной форме на кнопке ОТПРАВИТЬ сменить текст на иконку - нужно жёстко править код. Чтобы добавить свой тип страниц - нужно править код. В MODX это всё делается несколькими кликами мышки из админки. То, что многие известные бренды держат свои сайты на Wordpress объясняется тем, что стоимость разработки на этой CMS в разы ниже, чем у других, из-за того, что очень высокая конкуренция среди разработчиков (опять же таки, из-за популярности платформы). Обычно, "крутые" сайты на WP изменены изнутри до неузнаваемости. Там от Wordpress может процентов 20-30 кода остаётся - он настолько неповоротливый и не гибкий, что практически всё нужно переписывать и править самостоятельно. А большинство плагинов - условно бесплатные и низкого качества.
    Modx тоже не лишён недостатков. На нём очень сложно сделать нормальный мультиязычный и мультивалютный магазин, он сложен в освоении и без настройки интерфейса под заказчика - не годится совсем (заказчик не поймёт админку, её нужно модифицировать, там много лишнего).
    Ответ написан
    1 комментарий
  • CMS на базе Yii2?

    Я пересмотрел несколько существующих разработок CMS (если их вообще можно так назвать на данном этапе) на базе Yii2 - Skeeks, Easyii, Dotplant итд. Это всё просто большие куски кода, эксперименты... Никакой чёткой концепции, структуры, ничего нет. Yii2 - это фреймворк не для создания CMS однозначно. У меня есть несколько готовых проектов (интернет-магазины) на базе этого фреймворка - все очень быстро работают, всё ОК. Я создавал свои модели товаров, категорий, статей, прайсов итд. Есть SEO, удобная админка с контролем заказов и быстрых заявок, мультиязычность, корзина, модуль мультивалютности, экспорт прайсов в XML, разделение цен по уровню доступа для оптовиков и прочие базовые фишки, которые используются интернет-магазинах. Даже обновление цен и наличия через Excel. Всё сделано под заказчика. Но... Они все заточены под конкретную задачу, "реюзать" их код не получится (разве что, частично с передалками). Зато очень удобно расширять функционал и поддерживать такие проекты - нет никаких ограничений. Да и с безопасностью всё нормально, никаких вам бекдоров или "детских" болезней, характерных для популярных CMS.
    Если ищете готовые CMS решения на базе Yii2 Framework - их нет. Лучше создать своё. А ещё лучше - скомбинировать. Например, как базовая CMS только для контента - Wordpress, Modx или Joomla (или любая другая популярная CMS с хорошим большим сообществом и большим количеством дополнений), а для дополнительного функционала - устанавливайте фреймворк Yii2 на поддомен и подключайте его через API или напрямую к базе основной CMS (через модели).
    Ответ написан
    1 комментарий