🤤 Икра черная, икра красная, а профессия — программирование
Сертификат на обучение от Proglib Academy — это крутой подарок для тех, кто интересуется IT, хочет освоить новую профессиюи жить в шоколаде .
Почему наши курсы — хороший презент:
🔵 Подходит для новичков и профессионалов: можно выбрать обучение под любой уровень знаний.
🔵 Помогает развивать востребованные навыки, которые пригодятся в IT.
🔵 Позволяет выбрать удобный формат обучения: можно учиться в своем темпе, когда удобно.
Сертификат оформляется за пару минут, и даже не нужно ломать голову над упаковкой.
🚀 Подарите возможность начать год с полезных знаний и карьерного роста → подробнее о сертификатах
Сертификат на обучение от Proglib Academy — это крутой подарок для тех, кто интересуется IT, хочет освоить новую профессию
Почему наши курсы — хороший презент:
Сертификат оформляется за пару минут, и даже не нужно ломать голову над упаковкой.
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱7❤1🌚1
Какова цель функции «array_map» в PHP и как её использовать?
Функция
В этом примере функция
#вопросы_с_собеседований
Функция
array_map()
в PHP используется для применения заданной функции к каждому элементу массива. Она создает новый массив, содержащий результаты применения функции к каждому элементу исходного массива. Функция обратного вызова применяется к каждому элементу последовательно, и ключи сохраняются.В этом примере функция
square()
применяется к каждому элементу массива $numbers с использованием array_map()
, что приводит к созданию нового массива $squaredNumbers, где каждый элемент является квадратом соответствующего элемента исходного массива.#вопросы_с_собеседований
❤4🔥4👍2
PHP 8.4 представил значительное обновление DOM-расширения, добавив возможность работы с элементами DOM через новый API CSS-селекторов. Эта функция, схожая с JavaScript-методами
Новый API CSS-селекторов позволяет выбрать элементы DOM с использованием знакомого синтаксиса, делая код более компактным и понятным.
Основные методы:
Преимущества
🔸Простота синтаксиса: Использование CSS-селекторов упрощает код, избавляя от необходимости создавать сложные циклы для обхода DOM.
🔸Гибкость: Можно применять сложные селекторы, включая атрибуты, псевдоклассы и вложенные структуры.
🔸Сходство с JavaScript: Разработчики, знакомые с JavaScript, быстро адаптируются к новым методам PHP.
Ограничения
1.
2. Поддержка сложных псевдоклассов, таких как
querySelector()
и querySelectorAll()
, упрощает выбор и обработку элементов в HTML и XML-документах.Новый API CSS-селекторов позволяет выбрать элементы DOM с использованием знакомого синтаксиса, делая код более компактным и понятным.
Основные методы:
querySelector()
: выбирает первый элемент, соответствующий заданному CSS-селектору.$doc = new DOMDocument();
$doc->loadHTML('<div class="header">Header Content</div>');
$element = $doc->querySelector('.header');
echo $element->textContent; // Вывод: "Header Content"
querySelectorAll()
: возвращает коллекцию всех элементов, подходящих под CSS-селектор.$doc = new DOMDocument();
$doc->loadHTML('<div class="item">Item 1</div><div class="item">Item 2</div>');
$elements = $doc->querySelectorAll('.item');
foreach ($elements as $element) {
echo $element->textContent . "\n";
}
// Вывод:
// Item 1
// Item 2
Преимущества
🔸Простота синтаксиса: Использование CSS-селекторов упрощает код, избавляя от необходимости создавать сложные циклы для обхода DOM.
🔸Гибкость: Можно применять сложные селекторы, включая атрибуты, псевдоклассы и вложенные структуры.
🔸Сходство с JavaScript: Разработчики, знакомые с JavaScript, быстро адаптируются к новым методам PHP.
Ограничения
1.
querySelectorAll()
возвращает статический список узлов, который не обновляется при изменении DOM.2. Поддержка сложных псевдоклассов, таких как
:nth-child()
, может быть ограничен🔥22👍6👏3❤1
Мы запустили свежий канал, где делимся идеями для дизайна интерфейсов. Всё самое стильное, оригинальное и вдохновляющее теперь в одном месте.
📌 Чем полезен канал?
→ Идеи для дизайна интерфейсов.
→ Анимации, которые можно повторить или адаптировать.
→ Лёгкий способ искать вдохновение перед новым проектом.
👉 Подписывайтесь и вдохновляйтесь: UX in GIF
Please open Telegram to view this post
VIEW IN TELEGRAM
Знаете ли вы, что Laravel поставляется с методом «
preventStrayRequests()
», позволяющим избежать реальных запросов во время тестирования? Это удобно не только для сторонних API, но и для локальных API. В то время как ваши тесты могут пройти локально, потому что все окружение работает, они могут провалиться в CI-конвейере. Это происходит потому, что в конвейере CI обычно активен только тот сервис, который вы тестируете, поэтому выполнение фактических запросов к недоступным API приведет к неудаче вашего набора.🎉7👾1
💬 А расскажите, над каким проектом работаете прямо сейчас?
Что это за продукт или, может быть, пэт-проект? За что вы в нём ответственны? Довольны ли вы результатом?
#интерактив
Что это за продукт или, может быть, пэт-проект? За что вы в нём ответственны? Довольны ли вы результатом?
#интерактив
🤖 Познакомьтесь с Willow, современным квантовым чипом от Google
Менее чем за 5 минут он способен выполнить тестовое вычисление, на которое одному из самых быстрых суперкомпьютеров сегодня потребовалось бы 10 септиллионов лет (это больше, чем возраст Вселенной).
👉Подробнее
Менее чем за 5 минут он способен выполнить тестовое вычисление, на которое одному из самых быстрых суперкомпьютеров сегодня потребовалось бы 10 септиллионов лет (это больше, чем возраст Вселенной).
👉Подробнее
🔥9👍2😁1
🦑👨💻 Программист в «Игре в кальмара»: каковы твои шансы выжить?
Каждый день оптимизируешь процессы, автоматизируешь задачи и решаешь сложные проблемы. Но что, если тебе придется применять свои навыки, чтобы выжить?
Окажутся ли твои скрипты, алгоритмы и багфиксы полезными в критической ситуации?
👉 Пройти тест
Каждый день оптимизируешь процессы, автоматизируешь задачи и решаешь сложные проблемы. Но что, если тебе придется применять свои навыки, чтобы выжить?
Окажутся ли твои скрипты, алгоритмы и багфиксы полезными в критической ситуации?
👉 Пройти тест
❤5
💻 Эффективное проектирование программных систем
Правильная архитектура программного обеспечения помогает создавать устойчивые и масштабируемые приложения, которые легко дорабатывать и поддерживать.
Наш интенсив «Архитектуры и шаблоны проектирования» научит вас строить программные системы без боли и стресса. Вы на практике освоите основные паттерны проектирования и прокачайте свои навыки архитектора программного обеспечения.
🎄Начните свой 2025 со скидкой 35% на все курсы. Это лучшее вложении уходящего года – https://proglib.io/w/cc21e069
Правильная архитектура программного обеспечения помогает создавать устойчивые и масштабируемые приложения, которые легко дорабатывать и поддерживать.
Наш интенсив «Архитектуры и шаблоны проектирования» научит вас строить программные системы без боли и стресса. Вы на практике освоите основные паттерны проектирования и прокачайте свои навыки архитектора программного обеспечения.
🎄Начните свой 2025 со скидкой 35% на все курсы. Это лучшее вложении уходящего года – https://proglib.io/w/cc21e069
🥰1🎉1
Front Controller и Page Controller в PHP
Архитектурные паттерны Front Controller и Page Controller помогают структурировать работу веб-приложений, но подходят для разных сценариев.
Front Controller используется для централизованной обработки запросов. Все запросы проходят через единый контроллер, который маршрутизирует их на соответствующие модули. Это упрощает управление глобальной логикой и позволяет повторно использовать общие функции. Этот подход особенно эффективен для сложных приложений с большим количеством маршрутов и общей логики.
Как это работает:
🔸Единая точка входа: Весь входящий трафик перенаправляется на один файл, например,
🔸Маршрутизация: Контроллер анализирует URL и определяет, какой компонент должен обработать запрос. Это может быть реализовано вручную или с использованием библиотек маршрутизации.
🔸Делегирование: На основе маршрута запрос передается соответствующему контроллеру или методу, который выполняет обработку.
🔸Формирование ответа: Контроллер формирует ответ (обычно в формате HTML или JSON) и отправляет его клиенту.
Page Controller фокусируется на создании отдельного контроллера для каждой страницы или группы страниц. Это улучшает изоляцию кода и облегчает модификации, так как изменения в одной странице не затрагивают другие. Такой подход удобен для небольших и средних проектов, где каждая страница требует уникальной обработки.
Каждый контроллер выполняет следующие задачи:
🔹Обработка запроса: анализирует данные, поступающие от клиента.
🔹Логика страницы: проводит проверку данных, взаимодействует с моделями или выполняет вычисления.
🔹Формирование ответа: передаёт обработанные данные в представление для генерации итогового ответа.
Оба паттерна можно комбинировать, адаптируя их под конкретные потребности приложения.
Архитектурные паттерны Front Controller и Page Controller помогают структурировать работу веб-приложений, но подходят для разных сценариев.
Front Controller используется для централизованной обработки запросов. Все запросы проходят через единый контроллер, который маршрутизирует их на соответствующие модули. Это упрощает управление глобальной логикой и позволяет повторно использовать общие функции. Этот подход особенно эффективен для сложных приложений с большим количеством маршрутов и общей логики.
Как это работает:
🔸Единая точка входа: Весь входящий трафик перенаправляется на один файл, например,
index.php
, с помощью настроек веб-сервера (например, .htaccess
для Apache или правил маршрутизации для Nginx).🔸Маршрутизация: Контроллер анализирует URL и определяет, какой компонент должен обработать запрос. Это может быть реализовано вручную или с использованием библиотек маршрутизации.
🔸Делегирование: На основе маршрута запрос передается соответствующему контроллеру или методу, который выполняет обработку.
🔸Формирование ответа: Контроллер формирует ответ (обычно в формате HTML или JSON) и отправляет его клиенту.
Page Controller фокусируется на создании отдельного контроллера для каждой страницы или группы страниц. Это улучшает изоляцию кода и облегчает модификации, так как изменения в одной странице не затрагивают другие. Такой подход удобен для небольших и средних проектов, где каждая страница требует уникальной обработки.
Каждый контроллер выполняет следующие задачи:
🔹Обработка запроса: анализирует данные, поступающие от клиента.
🔹Логика страницы: проводит проверку данных, взаимодействует с моделями или выполняет вычисления.
🔹Формирование ответа: передаёт обработанные данные в представление для генерации итогового ответа.
Оба паттерна можно комбинировать, адаптируя их под конкретные потребности приложения.
🔥5🤔4👍2🌚1
PHP Typed: Маленький Composer пакет, который нарушает PHP правила ради вас
Этот пакет использует немного магии вне Хогвартса, и будет действительно полезен любителям строгой типизации в PHP.
Этот пакет использует немного магии вне Хогвартса, и будет действительно полезен любителям строгой типизации в PHP.
Хабр
PHP Typed: Маленький Composer пакет, который нарушает PHP правила ради вас
Звучит слишком громко? Давайте уточним, чтобы избежать обманутых ожиданий: этот пакет использует немного магии вне Хогвартса, и будет действительно полезен любителям строгой типизации в PHP. Введение...
😢5🔥4
Forwarded from Библиотека собеса по PHP | вопросы с собеседований
Для чего используется переменная $_REQUEST?
Переменная $_REQUEST является суперглобальным массивом, который используется для сбора данных из HTML-форм или URL-адресов. Это комбинация массивов $_GET, $_POST и $_COOKIE. Собранные данные могут быть параметрами, переданными через методы HTTP GET или POST.
Вот разбор того, что представляет собой каждый из этих методов:
$_GET: Данные, отправленные через строку запроса URL. Они видны всем и имеют ограничение на объем передаваемых данных.
$_POST: Данные, отправленные через HTTP POST-запрос, обычно из HTML-формы с использованием метода POST. Эти данные не видны в URL-адресе и могут передавать больший объем данных по сравнению с $_GET.
$_COOKIE: Данные, хранящиеся в файлах cookie браузера пользователя.
$_REQUEST позволяет получать доступ к данным независимо от того, как они были отправлены, будь то запрос GET (параметры URL), запрос POST (отправка формы) или cookie. Однако полагаться исключительно на $_REQUEST иногда может привести к проблемам с безопасностью, поскольку он объединяет различные источники пользовательского ввода. Обычно рекомендуется использовать явно $_GET, $_POST или $_COOKIE в зависимости от предполагаемого использования и источника данных, поскольку это обеспечивает большую ясность и безопасность.
Переменная $_REQUEST является суперглобальным массивом, который используется для сбора данных из HTML-форм или URL-адресов. Это комбинация массивов $_GET, $_POST и $_COOKIE. Собранные данные могут быть параметрами, переданными через методы HTTP GET или POST.
Вот разбор того, что представляет собой каждый из этих методов:
$_GET: Данные, отправленные через строку запроса URL. Они видны всем и имеют ограничение на объем передаваемых данных.
$_POST: Данные, отправленные через HTTP POST-запрос, обычно из HTML-формы с использованием метода POST. Эти данные не видны в URL-адресе и могут передавать больший объем данных по сравнению с $_GET.
$_COOKIE: Данные, хранящиеся в файлах cookie браузера пользователя.
$_REQUEST позволяет получать доступ к данным независимо от того, как они были отправлены, будь то запрос GET (параметры URL), запрос POST (отправка формы) или cookie. Однако полагаться исключительно на $_REQUEST иногда может привести к проблемам с безопасностью, поскольку он объединяет различные источники пользовательского ввода. Обычно рекомендуется использовать явно $_GET, $_POST или $_COOKIE в зависимости от предполагаемого использования и источника данных, поскольку это обеспечивает большую ясность и безопасность.
😁10👍2❤1
Swagger — это широко используемый инструмент для документирования и тестирования API, который легко интегрируется с такими популярными веб-фреймворками, как Laravel, Spring Boot, CodeIgniter и ExpressJS.
В этой статье рассматривается интеграция Swagger с CodeIgniter.
В этой статье рассматривается интеграция Swagger с CodeIgniter.
DEV Community
Integrate Swagger UI with Codeigniter4
Swagger is a widely used API documentation and testing tool that seamlessly integrates with popular...
👍2🤩1
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍1
Создание типозащищенной функции pipe() в PHP
В статье автор рассказывает о потоковом подходе к программированию, который позволяет преобразовывать данные через последовательные операции, и показывает, как этот стиль естественно реализован в языке Scala. Благодаря мощным инструментам, таким как расширения методов и метод
Затем автор обсуждает возможность перенести этот подход в PHP, несмотря на его ограничения. Он предлагает создать специальный класс-обёртку, который позволяет организовывать цепочки преобразований для любых данных. Такой подход упрощает работу с функциями, делает код более читаемым и поддерживает типобезопасность благодаря инструментам вроде PHPStan.
Хотя реализация в PHP сложнее и менее изящна, чем в Scala, она может быть полезна для разработчиков, которым нравится функциональный стиль программирования и необходимость писать чистый и логичный код.
В статье автор рассказывает о потоковом подходе к программированию, который позволяет преобразовывать данные через последовательные операции, и показывает, как этот стиль естественно реализован в языке Scala. Благодаря мощным инструментам, таким как расширения методов и метод
pipe
, в Scala легко создавать цепочки операций, сохраняя читаемость и типобезопасность кода.Затем автор обсуждает возможность перенести этот подход в PHP, несмотря на его ограничения. Он предлагает создать специальный класс-обёртку, который позволяет организовывать цепочки преобразований для любых данных. Такой подход упрощает работу с функциями, делает код более читаемым и поддерживает типобезопасность благодаря инструментам вроде PHPStan.
Хотя реализация в PHP сложнее и менее изящна, чем в Scala, она может быть полезна для разработчиков, которым нравится функциональный стиль программирования и необходимость писать чистый и логичный код.
Refactorer's Journal
Creating a type-safe pipe() in PHP
💡The code in this article is superseded by a new and improved version. For additional context I decided to leave up this article as well, but for the fixed code, check out part 2 instead.Type-safe pipe() in PHP: part 2In a previous article I explained how…
👍7🌚2
Forwarded from PHP jobs — вакансии по PHP, Symfony, Laravel
#дайджест #PHPdevjob
Вакансии PHP разработчиков уровня Junior
▪️ Junior PHP-разработчик
Гибрид (Москва), Издательство МОЗАИКА-СИНТЕЗ
Подробнее
▪️ Junior backend разработчик (PHP, laravel)
Офис (Санкт-Петербург), НаПоправку
Подробнее
Вакансии PHP разработчиков уровня Middle
▪️ Backend-разработчик PHP (Middle)
Удалёнка, Simtech Development
Подробнее
▪️ Middle/Senior PHP-разработчик (Laravel)
Офис (Москва, Ростов-на-Дону) / Удалёнка, A3F Group
Подробнее
Вакансии PHP разработчиков уровня Senior
▪️ Senior PHP Developer
Удалёнка, BORK
Подробнее
▪️ Team Lead PHP Backend Developer (МК+ОТА/ЦТ)
Удалёнка / Офис (Санкт-Петербург), Bnovo
Подробнее
Понравились вакансии?
❤️ — да
🤔 — нет
Вакансии PHP разработчиков уровня Junior
▪️ Junior PHP-разработчик
Гибрид (Москва), Издательство МОЗАИКА-СИНТЕЗ
Подробнее
▪️ Junior backend разработчик (PHP, laravel)
Офис (Санкт-Петербург), НаПоправку
Подробнее
Вакансии PHP разработчиков уровня Middle
▪️ Backend-разработчик PHP (Middle)
Удалёнка, Simtech Development
Подробнее
▪️ Middle/Senior PHP-разработчик (Laravel)
Офис (Москва, Ростов-на-Дону) / Удалёнка, A3F Group
Подробнее
Вакансии PHP разработчиков уровня Senior
▪️ Senior PHP Developer
Удалёнка, BORK
Подробнее
▪️ Team Lead PHP Backend Developer (МК+ОТА/ЦТ)
Удалёнка / Офис (Санкт-Петербург), Bnovo
Подробнее
Понравились вакансии?
❤️ — да
🤔 — нет
hh.ru
Вакансия Junior PHP-разработчик в Москве, работа в компании Издательство МОЗАИКА-СИНТЕЗ (вакансия в архиве c 13 января 2025)
Зарплата: не указана. Москва. Требуемый опыт: 1–3 года. Полная. Дата публикации: 10.01.2025.
🤔5😁3👍2❤1🔥1