Задать вопрос
  • Какой инструмент для проверки форматирования кода (с консольной версией) выбрать?

    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 , где всего десяток параметров =)
  • Какой ноутбук выбрать для веб-разработки?

    sayber
    @sayber
    Смотря что вам требуется.
    В принципе любое железо с i5, 8gb DDR3+, SSD
    Так же вы на данное железо без проблем сможете поставить OSX (PC Intel hackintosh)
  • Вирус на сайте, что делать?

    sayber
    @sayber Куратор тега PHP
    huwesu:
    Судя по огульной рекомендации взять и все написать самому вы являетесь еще студентом, "заготовкой программиста".

    Как скажите. Правда мой первый новостной сайт вышел на perl в 1999г.

    Вообще убило.
    Нормальные системы не пишут с нуля. Они всегда базируются на тоннах уже готового чужого кода.


    Всегда пишутся с нуля и/или на основе фреймворка. (о чем я в прошлом ответе упомянул, но вы ведь не читали а только оскорбляли.).
    Простые примеры которые написаны с нуля за последние два года, на Symfony в стеке DDD/CommandBus/CQRS практически без микросервисов.

    hotelbook.ru
    hotelbook.pro
    androguide.com
    И закрытая ЧМ система с оборотом в 10 000 тяжелых запросов API в минуту для агрегатов букинг платформ. Конечно с использованием материализованных и горячих данных, на десятках стоек.

    Сразу видно, что вы только начинаете свой путь в программировании. Что видно по ответам.
  • Почему выведенные статьи криво отображаются?

    sayber
    @sayber
    Убрал тег PHP.
    То что у вас, называется HTML и CSS.
  • Вирус на сайте, что делать?

    sayber
    @sayber Куратор тега PHP
    Jimmy Neutron: Любая CMS зло. Код открыт и всем известен. Конечно людям которые в программировании полный ноль, CMS то что надо, тут спору нет. Но если есть мозги в программировании, то лучше делать свою реализацию. Банально можно взять фреймворк, нужные пакеты и дописать что необходимо.

    Александр +: Ну git ставится так же как и svn. На OSX уже идет в комплекте. К тому же все равно надо делать ветки, если лезешь в код проекта. Иначе когда то наткнешься на косяк.
    WP - успешный, ага. Даже не спорю. У нас модели автоваза тоже успешные, вон сколько их на дороге.
    Joomla - вообще прошлый век =)
  • Вирус на сайте, что делать?

    sayber
    @sayber Куратор тега PHP
    SVN ?
    Давно не слышал этой аббревиатуры =)

    Jimmy Neutron
    WP - это одно из самых ужасных творений программистов для современного мира.
    Дыры в WP или плагинах, находят ежедневно, чего уж тут удивляться про вирусы в коде.
  • Как реализовать авторизацию в Rest?

    sayber
    @sayber Куратор тега PHP
    PoodingRex: отправлять, принимать. Полноценный контроль API. (PUT, GET, POST, DELETE, PATCH)
    Удобно тестировать методы и как документация тоже хорошо.