• Как сделать предупреждение если ввели буквы?

    sayber
    @sayber
    Дмитрий Гаджиев, Как это не проверять на сервере?
    Ну да, для бложика может и не надо, а в серьезных системах надо.
    И не только проверять, а еще явно указывать тип и работать по средством DTO + Vallydate
  • Как сделать предупреждение если ввели буквы?

    sayber
    @sayber
    rusgayfer, так он в мануале есть.
    $str  = "1,2,3,4,5, имя_лол";
    $array = explode(",", $str);
    
    foreach ($array as $item) {
        if (!intval($item)) {
             die('херах, буковки есть');
        }
    }


    https://ideone.com/cpFdHa#stdin
  • Как отредатировать такой скрипт jquery?

    sayber
    @sayber
    Зачем было ставить тег PHP, когда тут его нет?
  • Лучший способ нахождения попутчиков?

    sayber
    @sayber Куратор тега PHP
    Делаете матрицу смежности и вычленяете то что требуется.
  • Какой инструмент для проверки форматирования кода (с консольной версией) выбрать?

    sayber
    @sayber Куратор тега PHP
    Максим Барулин: Я думаю, такую информацию стоит указывать в вопросе.
  • Какой инструмент для проверки форматирования кода (с консольной версией) выбрать?

    sayber
    @sayber Куратор тега PHP
    Стандартные средства PHPStorm / PHP уже не котируются?
    Если нет, то обратите свое внимание на phpfmt
  • Какой фреймворк выбрать?

    sayber
    @sayber Куратор тега PHP
    В фреймворках вы пишите не функции а методы.
    В принципе любой фреймворк. Я за Symfony/Laravel/Lumen/Silex
    Четвертый пункт к фреймворку не имеет отношения. Это отдельные зависимости, которые вы ставите на свое усмотрение. Опять же, есть под все популярные фреймворки.
  • Как работать со статусами в frontend?

    sayber
    @sayber
    Вопрос не совсем по теме.
    У вас в подписи PHP developer, каким боков вы относитесь к фронтендеру?
    Это головная боль фронтенда, как реализовать объект который будет все распределять.
    Вы же отдаете список ролей в jwt токене и соответственно каждый API объект имеет пермишены на то или иное действие.
  • Как сделать обработку данных без перезагрузки страницы?

    sayber
    @sayber Куратор тега PHP
    Вы же поставили тег ajax и расписали логику.
    В чем проблема то?)
  • Как научиться разбираться в коде CMS?

    sayber
    @sayber Куратор тега PHP
    avr1972: Да.
    И конечно смотрите composer.
  • Как правильно реализовать JWT в PHP?

    sayber
    @sayber Куратор тега PHP
    PoodingRex: дополню.
    https://github.com/search?l=PHP&q=jwt&type=Reposit...
    700+ реализаций jwt, так же есть для всех популярных фреймворков и не только PHP.

    При реализации RESTful API, советую для разработки/документации использовать swagger
    Так же на git есть куча готовых решений.

    P.S.
    JWT - проще говоря токен с суммой данных внутри.
    Вы запрашиваете токен на сервере и используя его, обращаетесь к API.
    На сервере идет его проверка, если все ок, то выполняется какой-либо код.
    Жизнь (ttl) токена и др. параметры так же настраиваются.
  • Как научиться разбираться в коде CMS?

    sayber
    @sayber Куратор тега PHP
    avr1972: Обычно в проектах в главном публичном файле (точка входа index.php) идет сначала autoload, где подгружаются основные классы (чаще из vendor директории). Далее идет вызов какого либо bootstrap объекта/кеша и т.д. и в конце вызов ядра (чаще объект называется Kernel ) и главного метода.

    Возьмите к примеру микрофреймворк (что бы много не копаться) lumen, silex или slim - посмотрите как там все устроенно.
    Большинство фреймворком, cms имеют схожую архитектуру.
  • Как научиться разбираться в коде CMS?

    sayber
    @sayber Куратор тега PHP
    avr1972:
    Зачем писать столько ответом, когда можно в один?
    Пришлось объединить все ваши ответы в один, а то читать трудно.

    1) Плохо вы знаете студию Лебедева. Сейчас вакансия закрыта, но год-полтора назад была Senior PHP (Symfony). У них под разные проекты свои системы. Крайняя писалась на Go (ну это веяние тренда).
    Вы представляете объемы работ по крупным проектам?
    К примеру butik.ru писали 5-6 человек в течении полугода. И это по моему мнению маленький проект.
    Сейчас я работаю в команде, где 12 разработчиков, 2 тестера, юзеркейсер, тесткейсер, продуктонер и еще несколько людей на разных должностях, делают проект 8 месяцев и бета-релиз только на конец Августа.

    2) Заказчиков которые готовы отдать за хороший проект много сотен, полно. К примеру крайний заказ у меня был на 1.5 миллиона за 6 месяцев работы. Далее проект стал меняться а инвестиции перестали поступать в нормальном объеме. Пришлось разорвать договор. Что бы найти подобных заказчиков/инвестором, надо конечно иметь хороший опыт, знания и иногда рекомендации.

    3) Студии Лебедева и Горбунова, это миллионные заказы, всегда новый код и новый подход. И зачастую это не веб проекты. Сначала изучите деятельность тех о ком говорите.

    4) Битрикс, выбирают те, кому сели на уши. Ни одна компания, которая изначально имеет штат разработчиков, не возьмет Битрикс. И отвечая на ваш вопрос - да, это полное дерьмо (хотя сейчас исправляются, переписывают мясо с каждым релизом.)

    5) Я встречал людей которые довольны кодом. Но чаще встречаю тех, кто говорит что код говно а сам не может банально реализовать DTO объект и подцепить на хендлер.

    6) Цены:
    • в интернете нет регионов, областей и т.д. Я работал с инвестором из Нидерландов 4 месяца за 10к евро (2013г.), находясь за 1200км от Москвы
    • Его цены низкие, т.к. он делает на opensource решениях, тупо подправляя конфиг и выдавая сырой продукт. Скажем интернет магазин - тупо prestashop. Для Васи который продает что то простое, вполне хватит.
    7) те кто хотят Мерседес, берут его но в поддержанном состоянии. А те кто берут ОКА, обычно долго не ездят. Понятно сравнение? Нет? - Вам сделали проект за копейки, но дальше вы не можете его развивать и/или он валится от 10 пользователей. Запомните - нормальный бизнес не будет экономить на самом важном.

    Подробнее о изучении ООП?
    Сначала стоит хотя бы по документации и видео - урокам с youtube по PHP7 OOP.
    Получить понимание принципов и взаимодействия. Написать простые рабочие примеры, но не с урока а придумать самому. Если что то не понятно, гуглите и смотрите запросы в ютубе. Ответы будут найдены.
    Изучите автолоадеры и композер.
    Когда подготовитесь, вооружитесь PHPStorm + xdebug. Ставите останову на начальный вызов ядра (index.php, app.php -> Kernel) и по клавише F7 путешествуете по всем объектам, смотря где, что и как вызывается.

    P.S.
    Жалко вы не упомянули mail.ru - я бы много "хорошего" об этом написал. Работал там Perl а затем и php разработчиком.
    По поводу моего опыта - проекты которые я разрабатывал соло или в команде, имеются в профайле.
    Могу сказать, что текущий проект намного сложнее и объемнее чем booking.com и он является всего лишь очередным нашим клиентом по получению информации о отелях/квота/номерах и т.д.
  • Как научиться разбираться в коде CMS?

    sayber
    @sayber Куратор тега PHP
    manwe_ru: Вот и я о чем.
    Сайт под ключ, на текущий момент - это целая экосистема, на несколько месяцев разработки и сотни тысяч рублей. Правда гастарбайтеры всегда будут.
  • Как научиться разбираться в коде CMS?

    sayber
    @sayber Куратор тега PHP
    avr1972: Цены и сайт говорят о многом про данного товарища (это ИП вообще).
    Только дебил у таких что либо закажет и выкинет деньги в трубу.
    ea609f2d01b64367a5912677d12c7137.png
  • Как научиться разбираться в коде CMS?

    sayber
    @sayber Куратор тега PHP
    avr1972: Конечно нет. Статья вероятно из начала нулевых .
    1) Писал человек который совершенно не разбирается в вопросе.
    2) Там нет ни одного реального минуса. Какая нафиг веб-студия?
    3) Системы пишутся под конкретный проект а не для всех сразу.
    4) Я говорил не о "самописных CMS" в вашем понимании.
    5) Любой нормальный программист разберется в хорошем и грамотном коде проекта. Т.к. для основы выбирается фреймворк, то и программиста берут с знанием конкретного фреймворка.
    ... и еще сотня пунктов.

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

    sayber
    @sayber Куратор тега PHP
    Arris: Читаем второе и третье сообщение а не кусками. Перестаем выдергивать из контекста.

    Для более глубокого понимания:
    6 -7 лет назад писал CRM для финансовых проводок банка. Сначала потратил время на реализацию микрофреймворка (что то типа slim/microCMF/Yii (ублюдский singelton сделал свое дело) под те реалии php. (бизнес это стерпел как то)), затем в ключе DDD нарастил бизнес логику. Далее по накатанной. (как жалко, что тогда не было какой либо документации по DDD, костылей наделал. Правда ее и сейчас толком нет)
    Если код пишется с чистого листа, на выходе у вас получится все равно один из существующих фреймворков. Плюс/минус какой то индивидуальный функционал.
  • Вирус на сайте, что делать?

    sayber
    @sayber Куратор тега PHP
    huwesu: На Go делал микросервис по обработки сообщения (типа месседжера в VK), но на текущем проекте это не пойдет.
    У нас одновременно и API и работа из интерфейса.
    Опять же, вы говорите о Go а я о PHP.
  • Вирус на сайте, что делать?

    sayber
    @sayber Куратор тега PHP
    huwesu: Для разработки 8 библиотек (фикстуры, тесты, дебаги, сваггер и т.д.).
    Для работы две всего библиотеки. От FOS (friends of symfony). RESTful и Redis.

    8к запросов в секунду, это банальный post/get.
    А реализовать 8к запросов в сек. на террабайтном хранилище (хоть и разбитом) с множеством тяжелых поисковых логик (один запрос на поиск свободного номера, это около 20 связанных сущностей и примерно столько же параметров), слишком проблематично.
    Это не https://www.booking.com , где всего десяток параметров =)