#вакансия #PHP #релокация #Кипр #fulltime #relocation
🔍Ищу PHP разработчика с релокацией на Кипр☀️ или удаленно
🔷Локация: Кипр, Лимасол
🔷Формат работы: fulltime, офис, гибкий график, можно удаленно
🔷З/П: от 3000-5000 eur net.
💙Про проект: эко-система Freedom24 для удобной торговли ценными бумагами и участия в IPO
✌️Оплата билетов и полная поддержка с документами, в том числе для членов семьи, если вы переезжаете.
👉 Что потребуется от Вас:
✔️ опыт backend или full stack разработки от 5-и лет
✔️ опыт с PHP7 от 3 лет
✔️ опыт работы с высоконагруженными проектами
✔️ опыт интеграции сторонних сервисов
✔️ понимание принципов ООП
✔️ знание различий версий PHP7, принципов SOLID, KISS, DRY
✔️ общее знание SQL, понимание принципов работы БД, опыт с PostgreSQL
✔️ знание HTML/CSS, умение разобраться не в табличной верстке
✔️ знание JavaScript/JQuery, желательно опыт работы с каким-либо фреймворком (Angular/React/Vue)
✔️ опыт работы с Git на уровне командной строки
✔️ понимание принципов и знание типов данных Redis
✔️ опыт работы с nginx, Vagrant/Docker
✔️ знание командной строки Linux
✔️ умение и желание писать unit-тесты
Будет большим плюсом:
✔️глубокое понимание
предметной области биржевой торговли
👌Мы предлагаем:
🔷крутой проект, возможность
профессионального и карьерного роста в быстро развивающейся и коммерчески успешной компании;
🔷работу в офисе в Лимассоле, Кипр
🔷контракт с кипрским юрлицом;
🔷абсолютно белый доход;
оплату больничных и отпусков итд.
🔷возможна удаленная работа
📞telegram:@faina_kleinman
🔍Ищу PHP разработчика с релокацией на Кипр☀️ или удаленно
🔷Локация: Кипр, Лимасол
🔷Формат работы: fulltime, офис, гибкий график, можно удаленно
🔷З/П: от 3000-5000 eur net.
💙Про проект: эко-система Freedom24 для удобной торговли ценными бумагами и участия в IPO
✌️Оплата билетов и полная поддержка с документами, в том числе для членов семьи, если вы переезжаете.
👉 Что потребуется от Вас:
✔️ опыт backend или full stack разработки от 5-и лет
✔️ опыт с PHP7 от 3 лет
✔️ опыт работы с высоконагруженными проектами
✔️ опыт интеграции сторонних сервисов
✔️ понимание принципов ООП
✔️ знание различий версий PHP7, принципов SOLID, KISS, DRY
✔️ общее знание SQL, понимание принципов работы БД, опыт с PostgreSQL
✔️ знание HTML/CSS, умение разобраться не в табличной верстке
✔️ знание JavaScript/JQuery, желательно опыт работы с каким-либо фреймворком (Angular/React/Vue)
✔️ опыт работы с Git на уровне командной строки
✔️ понимание принципов и знание типов данных Redis
✔️ опыт работы с nginx, Vagrant/Docker
✔️ знание командной строки Linux
✔️ умение и желание писать unit-тесты
Будет большим плюсом:
✔️глубокое понимание
предметной области биржевой торговли
👌Мы предлагаем:
🔷крутой проект, возможность
профессионального и карьерного роста в быстро развивающейся и коммерчески успешной компании;
🔷работу в офисе в Лимассоле, Кипр
🔷контракт с кипрским юрлицом;
🔷абсолютно белый доход;
оплату больничных и отпусков итд.
🔷возможна удаленная работа
📞telegram:@faina_kleinman
👍2🌭1
#vacancy #remote #вакансия #php #senior
Вакансия: Senior PHP Developer в FUNCORP
Зарплата: от 4000 до 5000 EUR на руки
Стэк: PHP, Laravel, PostgreSQL.
Удаленная работа, полная занятость, релокация
FUNCORP — международная компания, которая с 2004 года разрабатывает развлекательные технологичные UGC-сервисы с миллионами пользователей по всему миру. Сейчас мы запускаем новый проект в сфере digital traffic и ищем Senior PHP Developer в команду.
Поскольку продукт еще находится на ранней стадии разработки, данная роль подразумевает, что вы будете отвечать за архитектуру приложения, разработку и релиз.
Требования:
- Не менее 5 лет опыта в разработке с указанным стэком технологий
- Опыт работы с библиотеками Laravel Backpack или Nova
- Готовность отвечать за дизайн, разработку, тестирование и релиз приложения
- Опыт управления проектами удаленно
Откликнуться на вакансию можно здесь https://bit.ly/427GaGC, а отправить резюме - по почте job@fun.co.
Это #партнерский пост
Вакансия: Senior PHP Developer в FUNCORP
Зарплата: от 4000 до 5000 EUR на руки
Стэк: PHP, Laravel, PostgreSQL.
Удаленная работа, полная занятость, релокация
FUNCORP — международная компания, которая с 2004 года разрабатывает развлекательные технологичные UGC-сервисы с миллионами пользователей по всему миру. Сейчас мы запускаем новый проект в сфере digital traffic и ищем Senior PHP Developer в команду.
Поскольку продукт еще находится на ранней стадии разработки, данная роль подразумевает, что вы будете отвечать за архитектуру приложения, разработку и релиз.
Требования:
- Не менее 5 лет опыта в разработке с указанным стэком технологий
- Опыт работы с библиотеками Laravel Backpack или Nova
- Готовность отвечать за дизайн, разработку, тестирование и релиз приложения
- Опыт управления проектами удаленно
Откликнуться на вакансию можно здесь https://bit.ly/427GaGC, а отправить резюме - по почте job@fun.co.
Это #партнерский пост
👍9❤3🤔2🍌2
#вакансия #php #senior #middle #кипр #релокация #удаленно
🌍Кипр, Лимасол (релокация или удаленный формат)
💶3 500 – 5 000 Евро
Международный финансовый холдинг приглашает senior/middle PHP Developer
💙Про проект: эко-система Freedom24 для удобной торговли ценными бумагами и участия в IPO
🔵Чем предстоит заниматься:
- поддержка и доработка учетной системы
- внедрение новых модулей в учетную систему
- интеграция со сторонними сервисами
- оценка поставленных задач
- код-ревью
🔵Что ждём от кандидата:
- опыт работы backend или full stack разработчиком от 5-и лет
- опыт работы с PHP8
- опыт работы с высоконагруженными проектами
- опыт интеграции сторонних сервисов
- понимание принципов ООП
- знание различий версий PHP
- знание принципов SOLID, KISS, DRY
- общее знание SQL, понимание принципов работы БД (индексы, уровни изоляции транзакций, оптимизация запросов)
- опыт работы с PostgreSQL
- знание HTML/CSS, умение разобраться не в табличной верстке
- знание JavaScript/JQuery, желательно опыт командной строки
- опыт работы с любым PHP-фреймворком (Zend, Laravel, Symfony, Yii, etc)
- понимание принципов и знание типов данных Redis
- опыт работы с nginx
- опыт работы с Vagrant/Docker
- знание командной строки Linux
- умение и желание писать unit-тесты
- знание шаблонов проектирования
- умение разбираться в чужом коде, использовать дебаггер
🔵Что мы предлагаем:
-Релокация на Кипр (полностью за счёт компании) или удалённый формат
-Высокий уровень заработной платы
-Комфортный офис в Лимасоле -Интересный проект, приятная рабочая атмосфера.
📩 @hr_freedom
Это #партнерский пост
🌍Кипр, Лимасол (релокация или удаленный формат)
💶3 500 – 5 000 Евро
Международный финансовый холдинг приглашает senior/middle PHP Developer
💙Про проект: эко-система Freedom24 для удобной торговли ценными бумагами и участия в IPO
🔵Чем предстоит заниматься:
- поддержка и доработка учетной системы
- внедрение новых модулей в учетную систему
- интеграция со сторонними сервисами
- оценка поставленных задач
- код-ревью
🔵Что ждём от кандидата:
- опыт работы backend или full stack разработчиком от 5-и лет
- опыт работы с PHP8
- опыт работы с высоконагруженными проектами
- опыт интеграции сторонних сервисов
- понимание принципов ООП
- знание различий версий PHP
- знание принципов SOLID, KISS, DRY
- общее знание SQL, понимание принципов работы БД (индексы, уровни изоляции транзакций, оптимизация запросов)
- опыт работы с PostgreSQL
- знание HTML/CSS, умение разобраться не в табличной верстке
- знание JavaScript/JQuery, желательно опыт командной строки
- опыт работы с любым PHP-фреймворком (Zend, Laravel, Symfony, Yii, etc)
- понимание принципов и знание типов данных Redis
- опыт работы с nginx
- опыт работы с Vagrant/Docker
- знание командной строки Linux
- умение и желание писать unit-тесты
- знание шаблонов проектирования
- умение разбираться в чужом коде, использовать дебаггер
🔵Что мы предлагаем:
-Релокация на Кипр (полностью за счёт компании) или удалённый формат
-Высокий уровень заработной платы
-Комфортный офис в Лимасоле -Интересный проект, приятная рабочая атмосфера.
📩 @hr_freedom
Это #партнерский пост
👍4🌭2❤1
Последнее слово об «unfinalize»
Автор создал запрос на объединение в PHP-CS-Fixer, чтобы предотвратить установку stevebauman/unfinalize вместе с friendsofphp/php-cs-fixer. Это вызвало оживленные обсуждения в сообществе PHP относительно использования ключевого слова «final» в коде. Запрос на объединение был воспринят как полушутка, направленная на предотвращение интеграции инструмента unfinalize с PHP-CS-Fixer.
Драма разгорелась, когда запрос на объединение был принят, и unfinalize был заблокирован в PHP-CS-Fixer. Автор столкнулся с критикой и дизлайками со стороны сообщества, что привело к отмене запроса на объединение. Он аргументировал, что модификация вендорного кода не является стандартом кодирования, и высказал опасения относительно потенциального вреда от разрешения запрещенного наследования.
В статье обсуждаются причины запроса на объединение, включая убеждение в том, что «final by default» — хороший подход, и что unfinalize может быть вредным для пользователей. Автор также рассматривает контраргументы, такие как существование Composer patches и dg/bypass-finals.
Автор создал запрос на объединение в PHP-CS-Fixer, чтобы предотвратить установку stevebauman/unfinalize вместе с friendsofphp/php-cs-fixer. Это вызвало оживленные обсуждения в сообществе PHP относительно использования ключевого слова «final» в коде. Запрос на объединение был воспринят как полушутка, направленная на предотвращение интеграции инструмента unfinalize с PHP-CS-Fixer.
Драма разгорелась, когда запрос на объединение был принят, и unfinalize был заблокирован в PHP-CS-Fixer. Автор столкнулся с критикой и дизлайками со стороны сообщества, что привело к отмене запроса на объединение. Он аргументировал, что модификация вендорного кода не является стандартом кодирования, и высказал опасения относительно потенциального вреда от разрешения запрещенного наследования.
В статье обсуждаются причины запроса на объединение, включая убеждение в том, что «final by default» — хороший подход, и что unfinalize может быть вредным для пользователей. Автор также рассматривает контраргументы, такие как существование Composer patches и dg/bypass-finals.
blog.codito.dev
Final word about `unfinalize`
Recently I’ve created pull request to #PHP-CS-Fixer that aimed to prevent installing stevebauman/unfinalize along with friendsofphp/php-cs-fixer, effectively blocking Fixer to be installed as a dev dependency for that tool. That escalated quickly 😅!
👍10
Библиотека для удобной работы с Telegram Bot API от Сергея Предводителева, одного из разработчиков Yii3.
Полностью поддерживается самая актуальная на текущий момент версия Telegram Bot API 7.7 от 7 июля 2024 года.
Из коробки идёт PSR-клиент, но при желании, можно использовать свой, сделав реализацию интерфейса TelegramClientInterface.
// Telegram bot authentication token
$token = '110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw';
// Dependencies
$streamFactory = new StreamFactory();
$responseFactory = new ResponseFactory();
$requestFactory = new RequestFactory();
$client = new Client($responseFactory, $streamFactory);
// API
$api = new TelegramBotApi(
new PsrTelegramClient(
$token,
$client,
$requestFactory,
$streamFactory,
),
);
Типизированные PHP-классы для всех типов и методов. Результатом вызова методов API будут соответствующие объекты. Например, в результате отправки сообщения получаем объект Message.
$message = $api->sendMessage(
chatId: 22351,
text: 'Hello, world!',
);
Update
можно создать из PSR-запроса или из JSON-строки:$update = Update::fromServerRequest($request);
$update = Update::fromJson($jsonString);
Для логирования запросов к API, результатов ответов и ошибок можно использовать любой PSR-совместимый логгер. Например, Monolog или Yii Log.
/**
* @var TelegramClientInterface $telegramClient
* @var LoggerInterface $logger
*/
$api = new TelegramBotApi(
$telegramClient,
$logger,
);
Пакет одобрен разработчиками Telegram и добавлен на сайт telegram.org.
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - vjik/telegram-bot-api: PHP library to interact with Telegram Bot API
PHP library to interact with Telegram Bot API. Contribute to vjik/telegram-bot-api development by creating an account on GitHub.
👍20🤔5🔥4👏4❤1
Fizz-Buzz за 56 символов?
На сайте code-golf.io вы можете посоревноваться в написании самых коротких решений простых задач по программированию. Например, попробуйте написать самый короткий код FizzBuzz на PHP — на данный момент он составляет всего 56 символов!
Задача состоит в следующем:
🔸Напечатайте числа от 1 до 100 включительно, каждое на своей строке.
🔸Если, однако, число кратно трем, то вместо него выведите Fizz, а если число кратно пяти, то выведите Buzz.
🔸Если верно несколько условий, то должны быть выведены все замены, например 15 — FizzBuzz.
Вот пример на 72 символа:
На сайте code-golf.io вы можете посоревноваться в написании самых коротких решений простых задач по программированию. Например, попробуйте написать самый короткий код FizzBuzz на PHP — на данный момент он составляет всего 56 символов!
Задача состоит в следующем:
🔸Напечатайте числа от 1 до 100 включительно, каждое на своей строке.
🔸Если, однако, число кратно трем, то вместо него выведите Fizz, а если число кратно пяти, то выведите Buzz.
🔸Если верно несколько условий, то должны быть выведены все замены, например 15 — FizzBuzz.
Вот пример на 72 символа:
for(;$i++<100;)echo$i%15?($i%3?($i%5?$i:'Buzz'):'Fizz'):'FizzBuzz',"\n»;
❤4👍2👏1😁1
Forwarded from PHP jobs — вакансии по PHP, Symfony, Laravel
Удаленно/Офис (Санкт-Петербург)
от 250 000 до 350 000 ₽
#php@proglib_jobs
SoftWise — компания в сфере adtech, которая создает сложные программные решения для бизнеса: programmatic-платформы для рекламных бирж, мобильные игры, технологии ретаргетинга, интерфейсы для пользователей ПО.
Требования:
— Знание одного из PHP-фреймворков, Symfony/Laravel (пишем бизнес-код, используем компоненты фреймворков).
— Работа с СУБД PostgreSQL, на уровне оптимизации таблиц и написания запросов как простых, так и сложных (приветствуются знания ОRM Doctrine, Active Record).
— Английский на уровне чтения технической документации.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1🤔1
🐘 PHP для начинающих: JSON CRUD API
Современные веб-приложения не обходятся без JSON API: они позволяют создавать, читать, обновлять и удалять данные (CRUD) с помощью лёгкого и универсального формата JSON.
Что полезного можно вынести из этой статьи:
CRUD операции: POST — добавить, GET — получить, PUT/PATCH — изменить, DELETE — удалить.
JSON vs БД: JSON файлы подходят для маленьких проектов, для масштабных приложений лучше базы данных.
Среда PHP: PHP 8.0+ с расширениями
Фреймворк или нативный PHP: Laravel и Slim ускоряют разработку сложных API, нативный PHP — для простых или кастомных решений.
Безопасность: проверка и очистка входных данных, CSRF-токены, подготовленные SQL-запросы, корректные права доступа к файлам.
Масштабирование: кэширование, пагинация, профилирование производительности, переход на базу данных при росте проекта.
Статья также показывает, как структурировать проект, готовить API к переходу с JSON на БД и использовать инструменты для управления API, например Zuplo.
👉 Читать статью
Библиотека пхпшника
#php_азбука
Современные веб-приложения не обходятся без JSON API: они позволяют создавать, читать, обновлять и удалять данные (CRUD) с помощью лёгкого и универсального формата JSON.
Что полезного можно вынести из этой статьи:
CRUD операции: POST — добавить, GET — получить, PUT/PATCH — изменить, DELETE — удалить.
JSON vs БД: JSON файлы подходят для маленьких проектов, для масштабных приложений лучше базы данных.
Среда PHP: PHP 8.0+ с расширениями
ext-json
и ext-pdo
, Composer, Docker, PHPUnit.Фреймворк или нативный PHP: Laravel и Slim ускоряют разработку сложных API, нативный PHP — для простых или кастомных решений.
Безопасность: проверка и очистка входных данных, CSRF-токены, подготовленные SQL-запросы, корректные права доступа к файлам.
Масштабирование: кэширование, пагинация, профилирование производительности, переход на базу данных при росте проекта.
Статья также показывает, как структурировать проект, готовить API к переходу с JSON на БД и использовать инструменты для управления API, например Zuplo.
👉 Читать статью
Библиотека пхпшника
#php_азбука
🌚1
Внутреннее устройство PHP-массива (HashTable)
На поверхности
📦 Базовая структура
PHP хранит массив как
Два режима работы:
Packed — когда ключи 0..n-1 без дыр, работает как плотный список.
Mixed — как ассоциативный словарь (строковые и целочисленные ключи). Переключение прозрачно.
🔑 Хеш и распределение
Строковые ключи хешируются внутренней функцией движка; индекс вычисляется по маске таблицы (степень двойки → быстрый
Числовые ключи идут напрямую как индексы (в packed) или как int-ключи (в mixed).
Порядок обхода = порядок вставки.
🌊 Коллизии
Коллизии разрешаются через связные цепочки внутри хеш-слотов (указатели между бакетами). Деревьев, как в Java 8, нет — в худшем случае поиск линейный по цепочке. На практике за счёт маски/resize средняя сложность операций остаётся O(1).
⚡️ Ресайзинг
При росте элементов таблица увеличивается (обычно ×2), элементы перераскладываются в новые слоты по той же маске. Это дорогая операция, но амортизированно остаётся дешёвой.
📊 Производительность (в среднем)
⚖️ Важные нюансы
Порядок важен: массив — упорядоченная структура (вставочный порядок сохраняется).
Типы ключей: только int и string. Числовые строки автоматически приводятся к int (например,
Копирование при записи (COW): присваивание массива создаёт «разделяемую» копию; реальное копирование — при первой модификации. Это экономит память и часто снимает страх «дорого скопировал».
Итерация не fail-fast:
🧮 Когда массив — не то, что нужно
В PHP массив не принимает объекты как ключи. Для кейсов «ключ = объект» есть специальные структуры:
🔍 Частые подводные камни
«Почему
«Почему копия массива не дорога?» — из-за Copy-On-Write: реальный дубликат появится только при изменении.
Библиотека пхпшника
#php_азбука
На поверхности
array
— просто «ключ-значение». Под капотом — компактная hash-таблица Zend Engine с режимами для разных сценариев и сохранением порядка вставки. Официально: «array в PHP — упорядоченная карта».📦 Базовая структура
PHP хранит массив как
HashTable
(Zend): есть таблица хеш-слотов и массив «бакетов» с элементами. С PHP 7 реализация компактная: меньше аллокаций и память/кэш-локальность лучше по сравнению с PHP 5.Два режима работы:
Packed — когда ключи 0..n-1 без дыр, работает как плотный список.
Mixed — как ассоциативный словарь (строковые и целочисленные ключи). Переключение прозрачно.
🔑 Хеш и распределение
Строковые ключи хешируются внутренней функцией движка; индекс вычисляется по маске таблицы (степень двойки → быстрый
& (n-1)
).Числовые ключи идут напрямую как индексы (в packed) или как int-ключи (в mixed).
Порядок обхода = порядок вставки.
🌊 Коллизии
Коллизии разрешаются через связные цепочки внутри хеш-слотов (указатели между бакетами). Деревьев, как в Java 8, нет — в худшем случае поиск линейный по цепочке. На практике за счёт маски/resize средняя сложность операций остаётся O(1).
⚡️ Ресайзинг
При росте элементов таблица увеличивается (обычно ×2), элементы перераскладываются в новые слоты по той же маске. Это дорогая операция, но амортизированно остаётся дешёвой.
📊 Производительность (в среднем)
isset($a[$k])
/ чтение / запись — O(1); в крайне «плохих» случаях — O(n) из-за цепочек. Хорошее распределение ключей и разумный размер таблицы держат вас в O(1).⚖️ Важные нюансы
Порядок важен: массив — упорядоченная структура (вставочный порядок сохраняется).
Типы ключей: только int и string. Числовые строки автоматически приводятся к int (например,
«8»
→ 8
; «08»
останется строкой). Объекты/массивы как ключи — нельзя.Копирование при записи (COW): присваивание массива создаёт «разделяемую» копию; реальное копирование — при первой модификации. Это экономит память и часто снимает страх «дорого скопировал».
Итерация не fail-fast:
foreach
не бросает исключения при изменении массива во время обхода; поведение «слабо-консистентное», ориентируйтесь на читаемость и аккуратность. (Специального fail-fast механизма как в JDK нет; официальная дока описывает лишь общие правила итерации массива.) 🧮 Когда массив — не то, что нужно
В PHP массив не принимает объекты как ключи. Для кейсов «ключ = объект» есть специальные структуры:
SplObjectStorage
— map/set для объектов-ключей. Удобно для учёта уникальных объектов, привязки метаданных к объекту. WeakMap
(PHP 8+) — как map «объект → значение», но не удерживает объект от GC: когда объект больше нигде не живёт, пара удаляется из карты. Идеально для кэшей, завязанных на жизненный цикл объекта. 🔍 Частые подводные камни
«Почему
«123»
стал ключом 123
?» — потому что numeric string → int по правилам массива. Если хотите именно строковый ключ, сделайте его явно невалидной «десятичной» формой (например, «+123»
или «00123»
), или храните в другой структуре.«Почему копия массива не дорога?» — из-за Copy-On-Write: реальный дубликат появится только при изменении.
Библиотека пхпшника
#php_азбука
👍10❤1
🐘 PHP для начинающих: Blade Components и Slots — чистый код без усилий
Когда шаблоны в Laravel начинают превращаться в HTML-спагетти, на помощь приходят Blade Components и Slots.
Они позволяют разбивать интерфейс на модульные и переиспользуемые элементы, избавляясь от копипаста и упрощая поддержку проекта.
🔧 Зачем они нужны
Компоненты дают возможность описать один раз кусок интерфейса (например, карточку, алерт или модалку) и использовать его где угодно в проекте.
Slots позволяют вставлять внутрь таких компонентов любой контент — текст, разметку, другие компоненты.
🎨 В итоге вы получаете
🔸 чище и понятнее Blade-шаблоны
🔸 меньше повторений
🔸 гибкую структуру с возможностью передачи данных и кастомизации
🔸 переиспользуемые куски UI, похожие на React-компоненты
👉 Читать статью
Это уже не «Hello World» писать. Для таких решений нужно знать не только язык. Подтянуть архитектуру можно на нашем интенсиве. До конца октября со скидкой!
Библиотека пхпшника
#php_азбука
Когда шаблоны в Laravel начинают превращаться в HTML-спагетти, на помощь приходят Blade Components и Slots.
Они позволяют разбивать интерфейс на модульные и переиспользуемые элементы, избавляясь от копипаста и упрощая поддержку проекта.
🔧 Зачем они нужны
Компоненты дают возможность описать один раз кусок интерфейса (например, карточку, алерт или модалку) и использовать его где угодно в проекте.
Slots позволяют вставлять внутрь таких компонентов любой контент — текст, разметку, другие компоненты.
🎨 В итоге вы получаете
🔸 чище и понятнее Blade-шаблоны
🔸 меньше повторений
🔸 гибкую структуру с возможностью передачи данных и кастомизации
🔸 переиспользуемые куски UI, похожие на React-компоненты
👉 Читать статью
Это уже не «Hello World» писать. Для таких решений нужно знать не только язык. Подтянуть архитектуру можно на нашем интенсиве. До конца октября со скидкой!
Библиотека пхпшника
#php_азбука
🐘 PHP для начинающих: жизненный цикл приложений на Laravel
Статья объясняет жизненный цикл Laravel (Laravel Lifecycle) — то есть путь, который проходит HTTP-запрос от пользователя до формирования ответа в браузере.
Она предназначена для начинающих PHP-разработчиков и часто встречается на собеседованиях.
Ключевые идеи:
Laravel Lifecycle — это последовательность шагов, через которые проходит запрос внутри фреймворка.
Основные этапы:
Service Providers — инициализируют основные функции: БД, кэш, маршрутизацию, аутентификацию.
Middleware — фильтры, проверяющие запросы (например, авторизацию).
Routing и Controller — определяют, какой метод контроллера должен обработать запрос.
Models и Database — при необходимости извлекаются данные из БД.
View и Response — данные преобразуются в HTML-ответ и отправляются пользователю.
Авторы объясняют это на примере ресторана:
вход —
кухня —
повар — контроллер,
блюдо — ответ пользователю.
Понимание жизненного цикла Laravel помогает лучше дебажить, писать оптимизированный код и осознать, как фреймворк превращает обычный HTTP-запрос в готовую HTML-страницу.
👉 Читать статью
Библиотека пхпшника
#php_азбука
Статья объясняет жизненный цикл Laravel (Laravel Lifecycle) — то есть путь, который проходит HTTP-запрос от пользователя до формирования ответа в браузере.
Она предназначена для начинающих PHP-разработчиков и часто встречается на собеседованиях.
Ключевые идеи:
Laravel Lifecycle — это последовательность шагов, через которые проходит запрос внутри фреймворка.
Основные этапы:
public/index.php
— точка входа, с которой всё начинается.bootstrap/app.php
— создаётся экземпляр приложения и подгружается ядро (Kernel).Service Providers — инициализируют основные функции: БД, кэш, маршрутизацию, аутентификацию.
Middleware — фильтры, проверяющие запросы (например, авторизацию).
Routing и Controller — определяют, какой метод контроллера должен обработать запрос.
Models и Database — при необходимости извлекаются данные из БД.
View и Response — данные преобразуются в HTML-ответ и отправляются пользователю.
Авторы объясняют это на примере ресторана:
вход —
index.php
,кухня —
app.php
,повар — контроллер,
блюдо — ответ пользователю.
Понимание жизненного цикла Laravel помогает лучше дебажить, писать оптимизированный код и осознать, как фреймворк превращает обычный HTTP-запрос в готовую HTML-страницу.
👉 Читать статью
Библиотека пхпшника
#php_азбука
❤2👍1