Задать вопрос
  • Почему плохо писать код в шаблонах?

    ThunderCat
    @ThunderCat Куратор тега PHP
    Евгений Ромашкан, нуда нуда, что эти недопрогеры из зенд могут понимать в программировании...
  • Как создать простой сайт в учебных целях?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    локалхост + томкат?
  • Почему плохо писать код в шаблонах?

    ThunderCat
    @ThunderCat Куратор тега PHP
    Евгений Ромашкан,
    MVC это паттерн про десктопные приложения, и модель там представлена не так.
    Ему уже почти пол века, если что. В вебе MVC нет.
    Вах, как много сразу глупостей в двух предложениях. Про пол века единственная адекватная фраза, и та к делу не относится, так тот же солид постарше даже будет, и ниче так, работает.
    Модель в "тру мвц", которое у вас в "десктопные приложения" абсолютно такая же. Другое дело что взаимодействие ее с контроллером строится иначе, нежели в десктопе, ибо умирание/сессионность, отсутствие стейта и вот это все в вебе чуть иначе. Модель не поменялась ровно никак. В плане "В вебе MVC нет" - вообще без комментариев. То что он там другой (немного) не значит что его нет. Паттерн тем и хорош что весьма адаптивен, даже в разных по сути средах исполнения.

    AR - антипаттерн, а вы его как "в идеале должно быть" представляете.
    Ну вот опять, детская принципиальность... Во первых - я не писал что это в идеале должно быть, скорее наоборот - есть AR (как упрощенный вариант все-в-одном) и есть классическая модель с разделением ответственности на классы. И во-вторых - AR тоже нормально использовать, если конечно нимб кулхацкера на глаза не падает и сущностей в проекте 4-5 штук, вполне себе нормальное решение.
  • Почему плохо писать код в шаблонах?

    ThunderCat
    @ThunderCat Куратор тега PHP
    Евгений Ромашкан,
    Термин "Модель" в данном случае я не использую

    ...
    Только если это отдельная read-модель
    та-дааа...

    Сущность это класс описывающий бизнес логику, её жизненный цикл не зависит от экземпляров других классов.
    Вот как раз сущность это непонятный термин, а в MVC модель - совокупность классов отвечающая за функционирование отдельно взятой абстракции, включающая в себя данные, бизнес-логику и репозиторий. В реализации AR - это один класс, в класическом мвц - два и более, в зависимости от архитектуры.
  • Почему плохо писать код в шаблонах?

    ThunderCat
    @ThunderCat Куратор тега PHP
    NubasLol, Очень просто, котики например понимают что какать и писять нужно в лоток, а не там где захотелось. Котик который так не делает быстро огребает, по тому что хозяин не находит каки в лотке, а ищет их по всей хате по запаху. То же самое и с едой - адекватный хозяин не насыпает еду в лоток для какашек. Для всего есть место. В коде это особенно важно, так как он имеет свойство как меняться, так и ломаться, и искать в таких случаях какой-то функционал не на своем месте - крайне печально для того кто ищет, и крайне опасно для того кто писал, ибо завтра такой несговорчивый товарищ может уже нарваться на классовый квест по поиску новой работы.
  • Почему плохо писать код в шаблонах?

    ThunderCat
    @ThunderCat Куратор тега PHP
    Евгений Ромашкан, Модель она и есть модель, в нее может входить в том числе и репозиторий и бизнес-логика как отдельные компоненты модели. Как то у вас странно все, сущность оторвана от репозитория и бизнес-логики что ли?
  • Почему плохо писать код в шаблонах?

    ThunderCat
    @ThunderCat Куратор тега PHP
    NubasLol, тем что будут бить. Больно. Как минимум за запросы в цикле. Ну и до кучи так как в контроллере вы не определились - что вам нужно во вьюшке и начали фигачить код там "где понадобилось", вместо "где надо".

    Правильно: Если во вью вам понадобился список - в контроллере создаете объект модели (если модель не имеет статического фасада), а затем получаете из модели необходимый список по нужным параметрам, список отправляете во вьюшку, и там уже вы себе итерируете как хотите.
  • Почему плохо писать код в шаблонах?

    ThunderCat
    @ThunderCat Куратор тега PHP
    edward_freedom, в таком случае не надо делиться вашими "профитными стратегиями успеха", которые противоречат как здравому смыслу, так и элементарной профессиональной грамотности.
  • Почему плохо писать код в шаблонах?

    ThunderCat
    @ThunderCat Куратор тега PHP
    edward_freedom, Вас коллеги часто бьют?
  • Почему SQL-запрос не захватывает строки с NULL?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    Nujabes37, да, точно, поправил.
  • Как убрать повторяющие теги strong на php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    Антон Р., пишут не они, пишут клиенты.
  • Как убрать повторяющие теги strong на php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    Антон Р., Ситуации они разные бывают, конкретно по данному вопросу - у самого есть такая проблема, заказчики присылают для новостного портала док файлы, из которых лезет куча левых тегов. Причем перенос в едитор сохраняет как форматирование, так и левые теги, и тут для нормальной работы проще написать обработчик, чем учить контентщиц лазить в сырцы и вылавливать левые теги, ибо это время, причем каждый раз, дешевле потратить 1 раз время на скрипт в 2 строки, чем каждый раз объяснять и учить. И тут больше проблема того же ворда, чем писателей и контентщиков. Но надо как то работать, и в этом плане автоматизация решает, однозначно.
  • Как убрать повторяющие теги strong на php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    Антон Р., скорее всего из ворда копирует в ckeditor, а при редактировании в ворде долго возится с разметкой текста, выделяя разные куски то болдом то курсивом, то объединяя блоки болда... Короче при переносе из ворд документа такая дичь с тегами это еще мелочи.
  • Безопасная аутентификая пользователей без сессий?

    ThunderCat
    @ThunderCat
    Александр,
    за исключением того, что токен могут увести.
    Еще раз - ВСЕ могут увести, все к чему может дотянуться яваскрипт (а он может дотянуться практически до всего что можно отправить в качестве ключа серверу) может быть скомпрометировано на стороне клиента. Это не ваша проблема, и это не проблема сервиса, по крайней мере если сервис обезопасил приложение от внешних вредоносных скриптов ЧЕРЕЗ САЙТ. Ничего не гарантирует защиты пользователя от действия третьих лиц, например левых плагинов в браузере, вирусов, подсмотренных паролей в браузере, просто тупо бумажки с логином и паролем на столе... Но все это не проблемы безопасности сервиса, это персональная защита данных, которую должен обеспечить пользователь самостоятельно. Все проблемы которые вы себе придумали (и в частности короткие сессии, которые кроме того что регулируются программно, еще и могут быть дублированы каким-то ключом в куках, как сделано на многих сайтах, где есть галочка "запомнить меня") в основном к вам как к разработчику никак не относятся.
  • Как сделать хлебные крошки на всех страницах кроме главной?

    ThunderCat
    @ThunderCat Куратор тега PHP
    Юрий, спасибо, у меня своих поиграться 8 штук. Думаю предыдущий мой коммент вам подойдет как решение.
  • Как сделать хлебные крошки на всех страницах кроме главной?

    ThunderCat
    @ThunderCat Куратор тега PHP
    Юрий, сложно работать с говносистемой.... Тогда просто проверяйте $_SERVER['REQUEST_URI'] на значения "" и "/".
  • Как сделать хлебные крошки на всех страницах кроме главной?

    ThunderCat
    @ThunderCat Куратор тега PHP
    Юрий, ну вот и сравнивайте с null, или оно у вас везде выдает нулл? Учтите, что туда попадает конторллер не в самом начале, а только после срабатываения роутера и диспатчера (ну, если таковые есть вообще).
  • Безопасная аутентификая пользователей без сессий?

    ThunderCat
    @ThunderCat
    Александр, Прежде чем искать решение несуществующей проблемы, возможно стоит изучить в чем может быть проблема (и есть ли она вообще). А искать решение для проблемы которую озвучил ваш "очень крутой друг хакер из старшего класса", даже не разобравшись в вопросе, как минимум не зрело и не профессионально. Ну или к вопросу добавьте аргументацию - хочу сменить это на вот это, по тому что гладиолус...
  • Как сделать хлебные крошки на всех страницах кроме главной?

    ThunderCat
    @ThunderCat Куратор тега PHP
    Юрий,
    Вывод только в каталоге (отслеживание по контролеру)
    <?php if(MG::get('controller')=="controllers_catalog"): ?>
    Этот текст будет выводиться на всех страницах каталога
    <?php endif; ?>

    Что мешает сделать var_dump(MG::get('controller')) на главной и проверять потом на соответствие этому значению?
  • Где вы храните запросы к базе в коде или используйте хранимые процедуры?

    ThunderCat
    @ThunderCat Куратор тега PHP
    Сергей,
    подумайте, почему энтерпрайз до сих пор хардкодит в БД?
    По тому что это в большинстве случаев не так? Я как бы работал с несколькими конторами, поддерживающими весьма крупные проекты, в том числе на оракле + ява, и на С++ + МССкуль, никто уже давно не хранит код в процедурах. Во первых неудобно, во вторых сейчас многие системы имеют не одно хранилище, что делает размазывание кода еще больше при хранении кода в бд. Пару хранимок вполне нормально, там где критично быстродействие. Остальное в коде.

    есть приложения которые ПОЛНОСТЬЮ находятся в БД, а клиентское приложение наподобие браузера (тонкий клиент) в нем вообще никакой логики нет, кроме как XML в UI переводить.
    Есть, и тут имеет смысл хранить все в одном месте. Как бы логично. Но опять же, это не тот случай что у ТС.

    код пишут программисты БД и они вовсе не DBA
    Как ни странно, обычно это именно одно и то же, хотя конечно есть чисто программисты SQL, но в большинстве случаев все они стараются получить и ДБА сертификат. На моей памяти чисто прогеров эскуеля я не встречал, возможно это чисто местная специфика.

    В моей практике в 2 проектах было решено "хранить в процедурах". В первом случае - МССКУЛ (2005 год), от которого в итоге отказались в пользу мускуля, и все написанные процедуры пошли по бороде, и в итоге все легло в код. Второй - ЦРМ (2012), до сих пор жива, правда обслуживают ее ребята которые каждый раз при запрашиваемых изменениях от руководства вспоминают добрым словом нашего архитектора приложения. В общем - не удобно это, иногда оправдано, но поддержка в разы сложнее и геморнее.