Ответы пользователя по тегу PHP
  • PHP область видимости

    Вам надо почитать про шаблоны проектирования, например это.
    Есть несколько вариантов избавления от глобальных переменных, один из них Service Locator, который по сути является тем, что было в первом ответе, то есть подвидом шаблона Registry. Делать самописный Dependency Injection Container наверное неразумно.

    Ключевое отличие от использования глобальных переменных в том, что это гибче в плане управления и как следствии тестировании, когда может понадобиться эмуляция какого-то глобального сервиса
    Ответ написан
    Комментировать
  • Joomla! SEBLOD и кастомные поля категории. Как использовать в шаблоне вывода категории?

    Надо выяснить на какое событие вешается контент из плагина (я с ним не знаком).
    Судя по тому, что я посмотрел в Joomla, плейсхолдеры для плагинов реализованы под вывод article, т.е. в blog представлении у категории, но не под категорию в целом.
    Смотрите /components/com_content/views/category/view.html.php (с 120-й строки), а также /components/com_content/views/category/tmpl/blog_item.php, если у вас не переопределен шаблон.
    Ответ написан
  • Как спарсить количество результатов при поиске через Google с помощью PHP

    А точно ли стоит изобретать велосипед?
    http://stackoverflow.com/questions/4082966/google-web-search-api-deprecated-what-now
    Там сказано как прикрутить Google Custom Search engine для глобального поиска
    Ответ написан
  • Имеет ли смысл использовать актуальное ПО на веб-сервере?

    Разумеется всё зависит от конкретного проекта или задачи сервера. В некоторых случаях можно вообще никогда не обновлять. Но всё же обновляться лучше регулярно, главное чтобы ничего не ломалось, а для этого сперва надо тестировать/обкатывать.
    Вот типичный пример, с которым я сталкивался в том или ином виде. Допустим есть сервер с одним крупным проектом или кучей мелких сайтов, которые создавались лет 5 назад или ранее. На них ничего не обновлялось и используется версия php 5.1-5.2. Попытка обновиться хотя бы до 5.3 во-первых вызвала трудности обновления сервера (стояла убунту 8.04 со своими какими-то неведомыми настройками), во-вторых, при тестировании на новой версии часть веб-проектов не завелась, одни баги лечились легко, а другие были порыты где-то в недрах древних CMS. В итоге пришлось делать вторую чистую виртуалку и переносить то, что можно было перенести.
    Чтобы подытожить, в результате отсутствия своевременных обновлений была потеряна куча времени. Если бы миграция на новые версии происходила постепенно, то трудозатраты были бы распределены более равномерно. Я говорю и о серверном софте, и проектах.
    Ну а ставить заплатки это вообще не обсуждается.
    Ответ написан
    Комментировать
  • Применение паттернов проектирования в web-разработке. Как начать, когда, где и какие применять?

    Начать стоит с ревизии подручного инструментария. Без полноценной IDE (уже даже не знаю, насколько актуален NetBeans, перешёл на PhpStorm) невозможно перейти на качественно новый уровень, когда мозги освобождаются для обдумывания архитектуры.
    Прикрутить туда phpcs и phpmd.
    Пользоваться зрелым современным фреймворком.

    Из почитать есть смысл ознакомиться с тем, что voff рекомендовал.
    Я лично ещё советую Robert Martin "Clean code", чтобы пересмотреть взгляд на понятие "качественный код".
    Ответ написан
  • Нужно принять архитектурное решение по проекту…?

    1. Сложно сказать что лучше. Но можно попробовать сравнить. У нас onPHP со своим ORM. ORM удобен тем, что из сущностей можно автоматически генерировать формы с правилами полей. В результате импорт данных из фронт-енда сводится к импорту в форму, валидацию (можно еще навешать кастомные правила-проверки), заполнение ORM-объекта формой и метода-сохранения. Экспорт объекта в общем-то и так очевиден до безобразия.
    Насколько такой механизм проще или сложнее — думайте сами. Но как я понимаю использование подобной технологии вынудит капитально переписывать ядро.

    2. Никакие паттерны не подходят? Например Strategy.

    3. См. п. 1

    Я может ещё не совсем понял, но зачем логгировать именно все действия, особенно если это на уровне БД?
    Ответ написан
    Комментировать
  • Как вы ушли от PHP?

    1) Причина перехода

    Я еще никуда не перешел и думаю не буду переходить в обозримом будущем. Это весьма лакомый кусок.
    Но вот давайте подумаем о другом. Раньше в основном интернет-контент потребляли через компы. Были всякие развлекательные сайты, мини-сайты и т.д. Сегодня это нахрен никому не надо, поскольку акцент масс сместился на область мобильных гаджетов.
    Поэтому если хочется что-то сделать небольшое и полезное, то где это лучше выложить, чтобы людям было удобно пользоваться (не говоря уж о монетизации): на сайте или в репозитариях AppStore/GooglePlay? Вопрос риторический.
    Короче говоря, надо осваивать дальше ObjectiveC или Java.

    2) Используемый в настоящее время язык программирования. (Можно так же назвать framework, который используете)

    PHP, фреймворк onPHP
    В чистом виде PHP не приемлю уже.

    3) Какую пользу вы получили от перехода (если получили).

    Потенциально сторонний доход и просто удовлетворение от мелких сайд проектов. PHP тут тоже пригодиться может для backend-серверного программирования.
    Ответ написан
    Комментировать
  • Использование тернарного оператора ?: с подавлением ошибки?

    Это не нормально. К E_NOTICE следует относиться как к настоящей ошибке.
    Ответ написан
    7 комментариев
  • PHP+PDO Mysql, не выполняются query после exec с несколькими запросами внутри?

    Я бы предпочёл юзать PDOStatement в любом случае.

    $sth = $db->prepare($sql);
    $sth->execute($params);
    $sth->closeCursor();
    Ответ написан
    Комментировать
  • Как вы пришли в PHP ?

    Я о PHP узнал еще в начале 2000х от одного админа чата, где зависал, который изначально на Perl писал. После перехода на PHP он сильно радовался.
    Позже, в 2007-м я не знал ни о каких более достойных альтернативах PHP, поэтому купил книжку и начал потихоньку изучать))
    Ответ написан
    Комментировать
  • Утверждения PHP (PHP assertions)?

    Мы юзаем фреймворк onPHP, в котором присутствует класс Assert. Пользуемся не то, чтобы активно, но всё же.
    Самый типовой случай: надо проверить, что конфиг заполнен нужными параметрами. Гораздо компактнее использовать assert, вместо кучи if.
    В случае чего исключение кидается WrongStateException, а обрабатывается уж это по-разному. В крайнем случае остановка приложения и запись в лог.
    Ответ написан
    Комментировать
  • Выбор БД: MySQL vs MongoDB?

    Насколько мне известно MySQL производительнее MongoDB на простых структурах данных. Смысл в MongoDB только в бессхемности на уровне БД, что правда не отменяет некоторое подобие схем на уровне приложения. И иногда это может работать шустрее RDBMS.

    Если запись в таблицы будет происходить часто и в больших объемах или потребуется хороший механизм транзакций, то я бы посмотрел на PostgreSQL.
    Ответ написан
    2 комментария
  • Как исправить кодировку в AJAX? "Статика" отдается в правильной кодировке?

    Можно явно указывать кодировку при ajax-запросе из jquery в параметрах функции ajax
    scriptCharset: "utf-8"
    
    Ответ написан
    Комментировать
  • Как найти работу PHP Junior'у?

    Я прошу прощения, что вклиниваюсь в тему, но похоже, что у нас есть кое-что общее с автором. Хабр же не позволяет создать вопрос, выдавая 404-ую ошибку (кармы не хватает или какой-то баг?).

    Более года разрабатываю сайты на Joomla, но нетиповые, для «дочек» компании. То есть требовалось написание модулей, плагинов и компонентов.
    Всё это время интересовался, как писать грамотно, изучал вопросы серверной оптимизации и т.п.
    Вопрос в том, что я не очень понимаю кем себя позиционировать на рынке труда, если начать искать работу.
    Тоже php junior? Или web-эникейщик?
    Проблема осложняется тем, что зарплата сейчас вполне адекватная, судя по обзору аналогичных предложений на рынке труда, а пожертвовать деньгами ради устройства на стажерскую позицию я не могу — семью кормить надо.
    Ответ написан
    Комментировать
  • Будет ли интересна статья по PHP?

    Недавно один человек высказал умную мысль, что по большому счёту мало кому интересно читать или слушать доклады с сухими цифрами, статистикой и т.п.
    Что реально всем интересно — это истории.
    Ответ написан
  • Какие СMS вы используете в разработке сайтов на php?

    Мне нравится Joomla. Хоть её многие и ругают — причин не использовать не вижу. В разработке достаточно удобна и для конечного пользователя админка вполне понятна, что тоже не маловажно. Кроме того, платформа последний год активно развивается, что тоже не может не радовать.
    Ответ написан
  • Какой php фреймворк выбрать для небольшой социальной сети?

    Yii действительно очень хорош и в плане удобства разработки, и в плане высокой производительности.
    В своё время писал сайта на Social Engine 3.x — всё элементарно было и работало шустро. Но он не бесплатен.
    Ответ написан
    Комментировать