• CMS или Framework?

    ArsenyMatytsyn
    @ArsenyMatytsyn
    Руководитель frontend направления, предприниматель
    Судя по постановке вопроса — WordPress + WooComerce + Купленная\Бесплатная тема и попытки ее настроить или OpenCart + Переделка базовой темы.
    Фреймворк для магазина это при такой постановке вопроса откровенно херовый вариант, ибо: артикулы, номенклатура, прихода\расходы, модификации, цены, графики, отчеты, покупатели, личные кабинеты, скидки, бонусы, акции, валюты, НДС, сервисы доставок, внешние API и еще вагон и еще вагон и маленькая тележка аргументов против бездумного окунания в то, чего не понимаешь. Для саморазвития можно и... нужно, наверное.
    Ответ написан
    2 комментария
  • CMS или Framework?

    Sanes
    @Sanes

    К тому же не совсем понимаю, если выбрать в пользу фреймворка, то вроде как JS говорят лучше, чем PHP (не знаю почему)

    Ни одного плюса не вижу. Тем более для проектов, где требуется выполнять арифметические операции.
    Судя по вопросу, сами вы реализовать это не сможете ни в каком виде.
    Ответ написан
    Комментировать
  • Где посмотреть\почитать нормальные уроки по ООП в PHP?

    @b1nary
    php junior
    Мэтт Зандстра: PHP Объекты, шаблоны и методики программирования.
    Ничего проще и доходчивей применительно к PHP не читал.

    5d600aa6652a1651246110.jpeg
    Ответ написан
    1 комментарий
  • Как сделать простой php-роутер?

    @ar2rsoft
    PHP-developer
    switch($url){
        case "$url": include("pages/user/$url.php"); break; // Страницы

    Это пять)

    Вы в htaccess передаете параметр menu, а принимаете параметр url
    Ответ написан
    5 комментариев
  • Почему не работает оператор if?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Потому что оператор if, а не If
    Ответ написан
  • Я выучил основы веба html css и js что делать дальше?

    Vlatqa
    @Vlatqa Куратор тега CSS
    Ответ же прям на поверхности, дальше можно спаиваться
    Ответ написан
    Комментировать
  • Как удалить часть контента (фрагмент кода) из всех записей WordPress?

    @deadnice
    Делаешь запрос https://wp-kama.ru/function/wp_query распаршиваешь контент, удаляешь лишнее и сохраняешь https://wp-kama.ru/hook/save_post

    Либо скриптом без подтягивания wp, смысл тот же
    Ответ написан
    6 комментариев
  • Как обезопасить клиентов на одном VPS сервере?

    Adamos
    @Adamos
    Если у вас на сервере исполняется что угодно от клиентов - стоит быть готовым, что это "что угодно" использует эксплойт с повышением прав до рута и похерит весь сервак.
    Нет, правами на папки это не решается.
    Эксплойты, пробивающие виртуализацию, тоже случаются, но реже, конечно.

    Стоит локализовать проблему: что именно загружают клиенты на сайт и как это используется. Исходя из этого уже плясать дальше.
    Например, если это исключительно мультимедия/документы/архивы - просто исключите возможность, что они будут каким-то образом обрабатываться на сервере.
    Если же это полноценные сайты и клиенты загружают произвольные скрипты - ну, режьте возможности обработчика... и разделите права на папки, конечно.
    Ответ написан
    6 комментариев
  • Почему не работает elseif в цикле?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Вы не можете прерывать поток if/elseif/else циклом for. В данном случае elseif перестает быть веткой логики if, а становится самостоятельной веткой внутри for, соответственно должен быть записан как if.
    Ответ написан
    Комментировать
  • Почему не работает elseif в цикле?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    бардак в коде, которого можно было бы избежать, если использовать нормальную иде и нормальное форматирование кода. Фор влез в иф, елсиф внутри этого фора... короче, выписать ремня и нормально отформатировать.
    Ответ написан
    Комментировать
  • Как бороться с кашей в голове на работе?

    @donutpersecond
    Каждый день к концу рабочего дня я записываю в блокнот, что сделано за сегодня, что нужно сделать завтра и общий план действий. Особо в голове не держу рабочие моменты, у меня все записано. Когда изучаю что то новое, в свободное время пишу для себя Заметки по новой технологии(документацию) можно так сказать. Когда приходит проект, ищу нужную документацию и работаю. А с текучкой помогает блокнот.
    Ответ написан
    1 комментарий
  • Как писать Толковый ООП код в JS?

    yurakostin
    @yurakostin
    Front-end developer
    На мой вкус там, где ООП - там паттерны, а где паттерны - там не обязательно должно быть ООП.
    Вы должны понимать, зачем вы создаёте все ваши классы. Какую проблему они решают.

    Вот достаточно популярный ресурс по паттернам.

    Если вы хотите прям ООП-ООП, то у вас более половины вашего кода должно быть написано иначе(а ещё лучше на ООП языке типа Java). Не должно быть просто вызовов функций: вся работа через объекты. Никаких `$toolbar.append` и прочего.

    Опять же, я могу быть глубоко не прав, но js ни ООП, ни ФП подход не реализует в полной мере. Поэтому только и остаётся, что писать в каком-то гибридном стиле. Возможно, что это огромная проблема языка, возможно наоборот.
    Ответ написан
    Комментировать
  • Как перенять объектно-ориентированное мышление?

    webinar
    @webinar Куратор тега PHP
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Возьми доки по ООП и какой-нибудь framework и потрать на них 48 часов. Не 2, а 48. И все станет ясно. Твоя проблема очень распространена после 2-го часа знакомства.
    Будет трудно, будет хотеться выпить, плюнуть и войти в белорусский рандом, но надо терпеть. Пройдет 48 часов и все станет на свои места.
    Ответ написан
    2 комментария
  • Как перенять объектно-ориентированное мышление?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Т.е. сложно понимаю, что "засунуть" в один объект, что в другой, что должно быть статическим методом, что приватным и тд.


    Давайте попробуем строить аналогии. Представьте что ваше приложение состоит исключительно из глобальных переменных и функций, которые с ними работают. Я думаю это не сложно представить. В каждый момент времени вам доступна любая переменная.

    То есть по сути наше приложение - один объект. У него внутри вообще все. У этого объекта есть один метод - обработай запрос. Когда внешний мир его вызывает, меняются значения каких-то переменных, вызываются какие-то внутренние "приватные" для внешнего мира функции, и делается работа.

    Теперь задумаемся о декомпозиции всего этого хаоса. Мы находим какую-то задачу, которую выполняет наш код (например какую функцию вызвать для обработки каждого конкретного запроса) и выносим это в отдельный объект. Отправка email-ов - отдельный объект. Весь SQL зашиваем в отдельный объект. Соединение с базой - объект. Пользователи - объекты. Все - объекты.

    И главное, у каждого объекта есть своя область ответственности. UNIX way. Каждый объект делает что-то одно и делает это хорошо. Бывает так что ну... нужно сделать так что бы один объект делал две вещи. НЕ вопрос, мы можем его попросить сделать что-то сложное, а он будет как хороший менеджер тупо делегировать работу другим объектом. То есть он и сложную штуку сделает, и сам не будет знать как она делается.

    А все безхозные функции, которые не пренадлежат никаким объектам (например функции порождающие объекты) можно вынести в статические методы. Главное что бы статичесих переменных у нас небыло (ибо это те же глобальные переменные). И поменьше публичного ибо черт его знает что эти разработчики будут использовать. Причем "те разработчики" это вы завтра.

    Вообщем писав всё время на процедурке, сложно перейти на ооп.


    Просто не думайте что это что-то "принципиально другое". Это та же самая процедурка, просто благодаря классам и объектам, вы можете порезать систему на маленькие модули. Данные будут лежать рядом с процедурами и у вас будет больше контроля за происходящим.

    Вы можете начать погружаться в ООП с того, что разобраться "почему глобальные переменные это плохо", почему "состояние порождает сложность" и что такое эта "сложность" (многие почему-то думают что сложность выражается в написании кода а не в его чтении или поддержке), почему "изоляция" (и как следствие инкапсуляция) - это хорошо. Как это все соотносится с декомпозицией. Что такое "ответственность", что такое зависимости, связанности

    Подскажите, какой проект начать писать (гостевая, блог), или может начать изучать фреймворк.


    Фреймворки универсальны, а значит чистого ООП там быть не может. Во всяком случае нет ни одного фреймворка на котором стоит учиться ООП.

    Есть хорошие упражнения на развитие понимания объектно-ориентированного проектирования. Например вот: https://habrahabr.ru/post/206802/

    Сразу хочу отметить что это крайности. Упражнения же. Они должны ограничивать вас что бы заставлять думать и задавать правильные вопросы.

    Или может подскажите книгу/сайт где пошагово в ооп написан какой-то проект, чтобы быстрее пришло понимание.


    Так вы научитесь делать один конкретный проект а на втором вы уже проиграете. Так дела не делаются. Надо разобраться с причинами появления идеи ООП. Ну то есть что было до. Можно еще с функциональным программированием попробовать разобраться. В PHP оно слабо применимо, но основные идеи очень тесно переплетаются с ООП и познав немного функциональщины ваше ООП будет лучше. Да и если про ООП вы можете найти много булшита, про функциональщину врут мало.
    Ответ написан
    3 комментария
  • Хочу перенести сайт с mysql на PDO или mysqli прочитал много статей хочу внести ясность по некоторым пунктам?

    Adamos
    @Adamos
    Если сайт совсем не вариант переписать на чем-нибудь нормальном (в вашем спагетти проблема не только в запросах) - можно как паллиатив использовать phpfaq.ru/safemysql
    Но не валяйте запросы по коду, соберите их в классы, работающие с конкретными таблицами и выполняющие абстрагированную от конкретного запроса работу. Так легче будет и сопровождать код, и развивать его дальше.
    Ответ написан
    8 комментариев
  • Как научиться разбираться в коде CMS?

    Читать код и еще раз читать. Почитайте, что такое Шаблоны проектирования и какие они бывают. В каком порядке работает код, что куда прыгает, какие данные куда в каком виде передаются можно легко отследить в дебагере, Настройте phpstorm + xdebug и вперед.
    MVC везде реализован по разному, но основная концепция не меняется. Очень часто во всяких обучалках не достаточно раскрывают, или вообще не раскрывают тему с Routing (маршрутами), хотя это, можно сказать, самое базовое и важное в реализации MVC. Попробуйте написать свой мини движок так, как Вы понимаете, что такое MVC -
    понимание сразу придет.
    Ответ написан
    Комментировать
  • Как загрузить div самым первым?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Это называется ленивой загрузкой (lazy load) ссылка
    Ответ написан
    Комментировать
  • Как осуществить функционал гравировки?

    @Sashqa
    Ответ написан
    Комментировать
  • С чего начать создание простого календаря с возможностью записи на приём с проверкой на доступность выбранного термина?

    @Narts
    с проектирования
    неважно, будет это простой календарь или же высоконагруженный проект, нужно на берегу обдумать: что будет, как реализовывать, чем пользоваться
    так вам не придется кучу раз всего переделывать

    проанализируйте, как реализован тот или иной функционал в похожих проектах, это сэкономит вам время на изобретении велосипедов

    далее уже приступайте к работе: дизайн, фронт, бек
    Ответ написан
    2 комментария