Ответы пользователя по тегу PHP
  • Как перенять объектно-ориентированное мышление?

    tzlom
    @tzlom
    Очень просто.
    Для начала - признайтесь себе что процедурное программирование у вас тоже страдает (иначе бы у вас не было этого вопроса), это не страшно, но с этим тоже надо что-то решать.
    Берёте любой свой процедурный проект (лучше маленький чтобы не застрять в рутине).
    Шаг первый - всё есть функция, поэтому весь код вне функций кладёте в функции, итого у вас получается что вне функций идёт только вызов main() (или как вы её назовёте)
    Второй шаг - функции работают только с тем, что в них передали. Удаляете глобальные переменные.
    Появляется проблема глубокой вложености, т.е. у вас внутри вызова А вызывается Б а в ней В которая хочет переменную из области видимости А, и таких случаев много. Тащить в Б все эти переменные - грустно и печально, поэтому делаем хитрость, каждая функция первым аргументом получает массив неких значений. Правило одно - функции не меняют имена и количество переменных в массиве, только значения.
    Третий шаг - функции должны быть короткими, выносите повторяющийся код в отдельные функции, если в функции используется много переменных - это повод разбить её на несколько меньших.
    Четвёртый шаг - вы уже пишете на ООП. Если 3 шага правильно сделаны, то осталось только оформить это дело согласно новым правилам - первый аргумент-массив это члены класса, соответственно функции использующие одинаковый массив - методы этого класса, прийдётся разобраться с доступом к полям и отдельными зависимостями, но это уже будет просто и понятно когда ты до этого доберёшься.
    Ответ написан
    4 комментария
  • Как лучше обработать такой вебхук?

    tzlom
    @tzlom
    проверяем входные данные
    fastcgi_finish_request
    и после этого уже начинаем работу

    только надо помнить что лимиты на время исполнения это не снимает
    Ответ написан
  • В чем заключается ошибка в запросе SQL?

    tzlom
    @tzlom
    возможно - strict режим сервера, а у вас $count === "5" (в смысле это строка)
    Ответ написан
    Комментировать
  • В чем проблема неявного поведения при создании двух экземпляров одного класса?

    tzlom
    @tzlom
    require_once включает файл только один раз, на втором вызове файл не подключается и $$config не существует
    Ответ написан
  • Чем сгенерировать PHP-классы из XSD-схем?

    tzlom
    @tzlom
    Гуглите WSDL to PHP , на том же гитхабе десятки подобных проектов, сам ничего из этого не использовал поэтому советовать не могу.
    Из собственной практики - вопрос о работе с WSDL вставал один раз (и это была эпоха до композера, тогда всё было гораздо грустнее в плане количества и качества библиотек), решился он просто - какой-то популярной джавовой тулзой я попытался делать запросы и был послан сервером, от всего стека был только WSDL файл, сами запросы не работали.
    Ответ написан
    Комментировать
  • Какой язык программирования выбрать?

    tzlom
    @tzlom
    Ну вы уже поняли что PHP брать нельзя ни в коем случае, а то питонисты и рубисты обидятся, но вообще-то это тоже отличный язык для веба (и самый распространённый, как по количеству установок так и по инфраструктуре что бы там не говорили).
    Вообще как я посмотрю шаг от сисадмина до программиста это большой и трудный шаг, не у всех получается и не всегда это нравится, поэтому тут вопрос в том был ли у вас какой-нибудь бекграунд серьёзного программирования вообще (да, вы сисадмин и наверняка писали скрипты, но это обычно не то что делает программист, хотя и выглядит так же). Если не был и вы не разбираетесь как работает веб ( а это иметь чёткое представление о том что такое и как оно вместе работает: nginx/apache, cgi ,HTTP, браузер, HTML ,AJAX) то возможно стоит начать не сразу с веб разработки а с программирования вообще.
    Ответ написан
    1 комментарий
  • Как запретить сторонним сайтам извлекать информацию со страниц моего сайта?

    tzlom
    @tzlom
    Трюк прост - заведите куку которая выставляется посетителю при первом заходе на сайт, если куки нет - выставляйте куку и отдавайте страницу где редирект будет оформлен как JS или средствами html , но не 403. Для пользователя заметно не будет, а для робота можно сделать целый лендинг.
    Только надо будет предусмотреть чтобы поисковики не умирали от этого, но это уже проще - они не прячутся.
    Ответ написан
    2 комментария
  • PHP: memory_get_peak_usage под eAccelerator?

    tzlom
    @tzlom
    вас так волнует лишние 4 МБ?
    если да, считайте тогда уж средневзвешенное с весами по веремени исполнения, возможно вы только выигрываете
    и да, новая версия кода не всегда означает хорошая )
    Ответ написан
    4 комментария
  • Посоветуйте CMS

    tzlom
    @tzlom
    joomla — быстро и паршиво, куча говнокода в расширениях, но работает вполне порядочно
    Ответ написан
    Комментировать
  • Существует ли в природе form-builder (PHP) + validator (client+server) в одном флаконе?

    tzlom
    @tzlom
    использую самописную штуку для генерации правил валидации на основе вёрстки, правда валидатор только серверный
    Ответ написан
    Комментировать