TG Telegram Group Link
Channel: Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
Back to Bottom
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
1
Как проверить емейл в PHP: regex, filter_var() и API

Существует три способа проверки емейл адреса:

Функция filter_var(): Эта встроенная функция проста и эффективна для базовой проверки, обеспечивая правильность формата электронной почты.
Регулярные выражения (Regex): Предлагают настраиваемую проверку путем определения определенных шаблонов, но требуют тщательной проработки для обработки всех допустимых форматов электронной почты.
API: Эти службы обеспечивают расширенную проверку, проверяя не только формат, но и существование и возможность доставки адреса электронной почты.
У каждого метода есть свои преимущества и варианты использования в зависимости от требуемого уровня проверки.

Подробные объяснения и примеры кода читайте в полной версии статьи здесь.
6👍2👾2
💬 Что вас мотивирует в работе?

❤️ — развитие своих профессиональных скиллов
👍 — преимущественно деньги
🤔 — я просто не хочу умереть с голоду
🌚 — одобрение коллег, поддержка определённого статуса
👾 — я верю, что занимаюсь чем-то полезным и ценным

#интерактив
👍9844🤔31👾24🌚5
CSV Blueprint

Строгая и автоматизированная построчная проверка CSV на основе настраиваемых схем Yaml.
За считанные секунды вы можете убедиться, что каждый символ в гигабайтном файле соответствует вашим ожиданиям.
👍4
#дайджест #phpdevjob

Вакансии PHP разработчиков уровня Junior

▪️Веб-разработчик
Тула. ИнтерЛабс — маркетинговое агентство полного цикла
Подробнее

▪️PHP-разработчик
Волгоград. ИНТЕРВОЛГА — веб-разработка, маркетинг, сопровождение нагруженных проектов
Подробнее

Вакансии PHP разработчиков уровня Middle

▪️Backend разработчик
Набережные Челны. PROFFIT GO — разработка ПО
Подробнее

▪️PHP Laravel разработчик
Удаленка. Офис в Казани. Акцент на результат — маркетинговое агентство
Подробнее

Вакансии PHP разработчиков уровня Senior

▪️Программист Full Stack
Удаленка. Офис в Москве. Астони — сопровождение и SEO-продвижение сайтов
Подробнее

▪️Fullstack разработчик
Удаленка. Офис в Екатеринбурге. amgroup — разработка ПО
Подробнее

Понравились вакансии?
❤️ — да
🤔 — нет
😁92👍2
Symfony — это фреймворк, основанный на конфигурации или соглашениях?

Symfony — это фреймворк, основанный на соглашениях. Документ Coding Standards иллюстрирует нормы кодирования для проектов Symfony, а также внутренних и сторонних пакетов. Он определяет стандарты кодирования и соглашения, используемые в ядре фреймворка, чтобы сделать его более единообразным и предсказуемым.

#вопросы_с_собеседований
🌚6❤‍🔥1
Преобразование запросов и ответов API в Laravel 11

Автор рассказывает о своем опыте работы с приложением, использующим Next.js на фронтенде и Laravel на бэкенде в качестве традиционного REST API. Он столкнулся с проблемой различных соглашений по именованию в PHP и JavaScript, где в первом случае принято использовать snake_case, а во втором — camelCase. Это вызвало трудности при форматировании API-ответов, так как таблицы и колонки базы данных также использовали snake_case.

Для решения этой проблемы предложено использовать Laravel resources для создания чистых API-ответов, где каждый ключ можно было указать в camelCase. Он представил класс ProductResource, который наследует JsonResource и позволяет преобразовывать ресурс в массив с ключами в camelCase.

Однако, поскольку форматирование каждого API-ответа в camelCase может быть трудоемким, особенно при наличии отношений Eloquent, которые также нужно форматировать, автор предложил создать базовый класс BaseResource, который расширяет класс JsonResource и форматирует все ключи в camelCase. Этот класс использует метод Str::camel() из Laravel для преобразования ключей и рекурсивно обрабатывает вложенные массивы.

В результате, у автора получилось два сценария использования:

1. Простое наследование от класса BaseResource для отображения видимых полей таблицы без форматирования отношений или скрытых полей, исключенных из API-ответа.

2. Форматирование API-ответа с сохранением snake_case, расширением класса BaseResource и реализацией метода toCamelCase().
👍5🌚1
⚡️Proglib запускает канал про ИИ для генерации звука

Там мы будем рассказывать про все существующие нейросети, которые генерируют музыку и голос — с пошаговыми инструкциями, инструментами и лайфхаками.

⭐️генерация голоса и музыки
⭐️замена и перевод речи
⭐️распознавание звуков

👉Подписывайтесь!
Please open Telegram to view this post
VIEW IN TELEGRAM
2
В Laravel с версии 10.7 появилась поддержка конвейера для процессов, который легко позволяет связывать вывод одного процесса с входными данными для другого.
👍21🔥6
какая из следующих функций используется для получения значения предыдущего элемента массива
Anonymous Quiz
8%
last()
22%
previous()
8%
before()
62%
prev()
🥱6👍31😁1
Использование Symfony Messenger для управления очередями сообщений в Symfony

Symfony Messenger — компонент, который помогает приложениям отправлять и получать сообщения между другими приложениями или через очереди сообщений.

Messenger предоставляет шину сообщений с возможностью отправки сообщений и немедленной обработки их в вашем приложении или отправки через транспорты (например, очереди) для обработки позже.

В Symfony Messenger вы создаете два класса:
🟢Класс сообщения, который содержит данные.
🟢Обработчик(и) сообщения, который будет вызван при отправке этого сообщения. Обработчик читает класс сообщения и выполняет одну или несколько задач.

Middleware — это компоненты, которые могут обрабатывать сообщения, когда они передаются через шину. Middleware могут выполнять различные задачи, такие как логирование, валидация сообщения, начало транзакции и т. д.

Envelope — это специфичный для Messenger концепт, который оборачивает сообщения, позволяя добавлять полезную информацию через envelope stamps. Envelope stamps — это метаданные, которые можно прикрепить к сообщению, например, контекст сериализации для транспорта или маркеры, идентифицирующие полученное сообщение.

Symfony Messenger также поддерживает различные транспорты для асинхронной обработки сообщений, такие как очереди.
🔥5👍1
🗝️ 40 незаменимых API для разработчиков

Разработчики постоянно ищут способы оптимизировать свою работу. Мы собрали 40 API, которые помогут вам сэкономить время, повысить эффективность и добавить новые функции в ваши проекты.

🔗 Читать статью
🔗 Зеркало
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
#дайджест новостей по PHP за неделю:

🔎Выпущен CakePHP 5.1.0-RC1 — Улучшения: Connection теперь создает уникальные драйверы чтения и записи, если ключи read или write присутствуют в конфигурации. При добавлении ассоциаций с дублирующимися именами теперь будут возникать исключения + многое другое.

🔎Выпущена версия Symfony 7.1.0-RC1

🔎Открыта программа раннего доступа к PhpStorm 2024.2

🔎Неделя Symfony #907 (13-19 мая 2024 года)
👍2
Работа с DynamoDB в Laravel

В статье:

✔️DynamoDB — это облачная NoSQL база данных, предоставляемая Amazon Web Services (AWS). Она мощная и гибкая благодаря своему полностью управляемому, бессерверному и масштабируемому дизайну.

✔️Рассматривается, как использовать DynamoDB для кэширования данных в Laravel. Для этого вам потребуется создать ключи доступа в панели управления AWS, чтобы Laravel мог получить доступ к DynamoDB.

✔️Объясняется, как хранить модели Laravel в DynamoDB с использованием пакета baopham/laravel-dynamodb.

✔️Содержатся инструкции по установке пакета для работы с DynamoDB.

✔️Объясняется, как использовать индексы для запроса моделей.

✔️Рассматривается, как синхронизировать модели в DynamoDB и традиционной базе данных.
1
❤️ Активация с первого взгляда: как влюбить пользователя в продукт

Хотите научиться превращать случайных посетителей в преданных фанатов? Рассказываем, как повысить активацию пользователей, отличить ее от aha-момента и использовать эти знания для кратного роста количества активных пользователей.

🔗 Читать статью
🔗 Зеркало
1👍1
Книга: «Laravel. Полное руководство. 3-е издание»

Мэтт Стаффер, известный преподаватель и ведущий разработчик, представляет полный обзор фреймворка и конкретные примеры работы с ним. Опытным PHP-разработчикам книга поможет быстро разобраться с темой, чтобы реализовать проект на Laravel. В обновленном руководстве рассматриваются в том числе совершенно новые инструменты аутентификации и разработки пользовательских интерфейсов, а также ряд сторонних инструментов, появившихся после выхода в свет второго издания.
🥱96👍3
Объясните задачи, выполняемые контроллером, и определите правила для создания методов в контроллере в Symfony?

В Symfony контроллер является важной частью архитектуры MVC (Model-View-Controller). Он отвечает за обработку HTTP-запросов и возврат HTTP-ответов. Ниже мы рассмотрим задачи, выполняемые контроллером, и правила создания методов в нем:

Задачи, выполняемые контроллером Symfony:

1. Прием запросов: Контроллеры начинают работу с приема HTTP-запроса.
2. Выполнение логики приложения: Они содержат логику, которая определяет, что происходит при переходе по URL. Это может быть запрос к базе данных, обработка данных формы или вызов других сервисов.
3. Создание ответов: После обработки запроса контроллеры создают и возвращают объект Response. Этим ответом может быть HTML-страница, JSON, XML, загрузка файла, перенаправление, ошибка 404 или что-либо еще, что приложение должно вернуть клиенту.

Правила создания методов в контроллере Symfony:

✔️Соглашение об именовании: Методы внутри класса контроллера часто называют «действиями». По традиции имена методов заканчиваются на 'Action', хотя в последних версиях Symfony это не является обязательным.
✔️Возвращение ответов: Каждое действие должно возвращать объект Response. Если вы не возвращаете Response напрямую, то, скорее всего, вы используете вспомогательный метод, например $this->render(), который в конечном итоге возвращает Response.
✔️Доступ к сервисам: Контроллеры имеют доступ к контейнеру сервисов, что означает, что вы можете использовать инъекцию зависимостей для доступа к сервисам в ваших методах.
✔️Сопоставление маршрутов: Каждый метод контроллера должен быть сопоставлен с маршрутом. Это можно сделать с помощью аннотаций, YAML, XML или PHP-файлов. Аннотации — это распространенный способ определения маршрутов непосредственно над методами контроллера.
✔️Аргументы метода: Вы можете вводить аргументы в методы контроллера для автоматической инъекции сервисов или параметров, например Request $request или UserInterface $user.
✔️Лучшие практики: Следуйте правилу 5-10-20: определяйте не более 5 переменных, содержите не более 10 действий и включайте не более 20 строк кода в каждое действие.

#вопросы_с_собеседований
👍6🤔31😁1👾1
HTML Embed Code:
2025/07/10 11:44:35
Back to Top