Автоматизация Laravel CI/CD с помощью GitHub Actions на Namecheap
Здесь рассматривается автоматизация процессов непрерывной интеграции и развертывания (CI/CD) для приложений на Laravel с использованием GitHub Actions на платформе Namecheap.
Здесь рассматривается автоматизация процессов непрерывной интеграции и развертывания (CI/CD) для приложений на Laravel с использованием GitHub Actions на платформе Namecheap.
DEV Community
Automating Laravel CI/CD with GitHub Actions on Namecheap
Who is this article for? Have you had some struggles hosting your Laravel application on namecheap?...
❤🔥5🤔2
PHP c 2014 по 2024
В видео обсуждается, как за последние десять лет PHP стал более мощным и функциональным.
В видео обсуждается, как за последние десять лет PHP стал более мощным и функциональным.
YouTube
PHP from 2014 to 2024
PHP has come a long way, let's highlight some of the most impactful features.
Check out my channel for more videos about awesome PHP! https://www.youtube.com/@phpannotated
If you want to learn more about how PHP has evolved, check out my blog series about…
Check out my channel for more videos about awesome PHP! https://www.youtube.com/@phpannotated
If you want to learn more about how PHP has evolved, check out my blog series about…
🔥11🥱2👍1
php-vips
Очень быстрый пакет для работы с изображениями, который в ~5 раз быстрее Imagick или GD и потребляет меньше памяти. Это хороший пример FFI.
Очень быстрый пакет для работы с изображениями, который в ~5 раз быстрее Imagick или GD и потребляет меньше памяти. Это хороший пример FFI.
GitHub
GitHub - libvips/php-vips: php binding for libvips
php binding for libvips. Contribute to libvips/php-vips development by creating an account on GitHub.
👍23❤1
Какова разница между веб-маршрутами и API-маршрутами в Laravel?
В Laravel и веб-маршруты, и API-маршруты служат точками входа для обработки входящих запросов, но обычно они используются для разных целей.
Веб-маршруты:
✔️Веб-маршруты в Laravel в основном используются для обслуживания HTML-представлений и обработки веб-запросов от браузеров.
✔️Они отвечают за отображение веб-страниц, обработку отправленных форм и управление сеансами.
✔️Веб-маршруты определяются по умолчанию в файле routes/web.php.
✔️Они часто включают взаимодействие с пользовательским интерфейсом, такое как отображение форм, представлений и обработка аутентификации пользователей.
API-маршруты:
✔️API-маршруты, напротив, предназначены для обработки запросов и ответов для точек входа API.
✔️Они обычно используются для создания RESTful API или предоставления данных для мобильных приложений, одностраничных приложений (SPA) или других служб.
✔️API-маршруты определяются по умолчанию в файле routes/api.php.
✔️Они обычно возвращают данные в формате JSON или XML, а не отображают HTML-представления.
✔️API-маршруты часто включают операции CRUD (Create, Read, Update, Delete) с ресурсами, такие как извлечение данных из базы данных, создание новых записей, обновление существующих записей или удаление записей.
Таким образом, веб-маршруты используются для обслуживания веб-страниц и обработки запросов браузера, в то время как API-маршруты используются для предоставления данных и взаимодействия с приложениями или службами программным способом.
#вопросы_с_собеседований
В Laravel и веб-маршруты, и API-маршруты служат точками входа для обработки входящих запросов, но обычно они используются для разных целей.
Веб-маршруты:
✔️Веб-маршруты в Laravel в основном используются для обслуживания HTML-представлений и обработки веб-запросов от браузеров.
✔️Они отвечают за отображение веб-страниц, обработку отправленных форм и управление сеансами.
✔️Веб-маршруты определяются по умолчанию в файле routes/web.php.
✔️Они часто включают взаимодействие с пользовательским интерфейсом, такое как отображение форм, представлений и обработка аутентификации пользователей.
API-маршруты:
✔️API-маршруты, напротив, предназначены для обработки запросов и ответов для точек входа API.
✔️Они обычно используются для создания RESTful API или предоставления данных для мобильных приложений, одностраничных приложений (SPA) или других служб.
✔️API-маршруты определяются по умолчанию в файле routes/api.php.
✔️Они обычно возвращают данные в формате JSON или XML, а не отображают HTML-представления.
✔️API-маршруты часто включают операции CRUD (Create, Read, Update, Delete) с ресурсами, такие как извлечение данных из базы данных, создание новых записей, обновление существующих записей или удаление записей.
Таким образом, веб-маршруты используются для обслуживания веб-страниц и обработки запросов браузера, в то время как API-маршруты используются для предоставления данных и взаимодействия с приложениями или службами программным способом.
#вопросы_с_собеседований
👍12🥱10🌚2
Оптимизируйте свои запросы Eloquent с помощью ИИ
Пакет Laravel Slower предоставляет команды для анализа и очистки старых записей в зависимости от конфигурации планировщика приложения. Рекомендации, созданные с помощью команды slower:analyze, сохраняются в таблице базы данных, созданной этим пакетом, и могут быть просмотрены после завершения анализа ИИ.
Основные особенности пакета включают:
- Настройку порога медленности запросов.
- Использование конфигурируемых моделей ИИ, таких как GPT-4, для анализа.
- Возможность отключения анализа медленных запросов.
- Настройку подсказок для ИИ.
В качестве примера в статье, пакет может предложить добавление комбинированного (составного) индекса на столбцы product_id, price и discount_total для ускорения выполнения запроса
Пакет Laravel Slower предоставляет команды для анализа и очистки старых записей в зависимости от конфигурации планировщика приложения. Рекомендации, созданные с помощью команды slower:analyze, сохраняются в таблице базы данных, созданной этим пакетом, и могут быть просмотрены после завершения анализа ИИ.
Основные особенности пакета включают:
- Настройку порога медленности запросов.
- Использование конфигурируемых моделей ИИ, таких как GPT-4, для анализа.
- Возможность отключения анализа медленных запросов.
- Настройку подсказок для ИИ.
В качестве примера в статье, пакет может предложить добавление комбинированного (составного) индекса на столбцы product_id, price и discount_total для ускорения выполнения запроса
Laravel News
Optimize Your Eloquent Queries with AI - Laravel News
The Laravel Slower package identifies slow queries and suggests optimizations such as indexing and other improvements.
🥱6👏1
📣 Используйте through вместо map в Laravel, когда используете пагинацию. Когда вы хотите отобразить данные из пагинации и вернуть только подмножество полей, используйте through вместо map.
map разрушает объект пагинации и изменяет его идентификатор. В то время как through работает с самими пагинационными данными.
map разрушает объект пагинации и изменяет его идентификатор. В то время как through работает с самими пагинационными данными.
👏17👍7❤3👾1
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
❤1
Как проверить емейл в PHP: regex, filter_var() и API
Существует три способа проверки емейл адреса:
Функция filter_var(): Эта встроенная функция проста и эффективна для базовой проверки, обеспечивая правильность формата электронной почты.
Регулярные выражения (Regex): Предлагают настраиваемую проверку путем определения определенных шаблонов, но требуют тщательной проработки для обработки всех допустимых форматов электронной почты.
API: Эти службы обеспечивают расширенную проверку, проверяя не только формат, но и существование и возможность доставки адреса электронной почты.
У каждого метода есть свои преимущества и варианты использования в зависимости от требуемого уровня проверки.
Подробные объяснения и примеры кода читайте в полной версии статьи здесь.
Существует три способа проверки емейл адреса:
Функция filter_var(): Эта встроенная функция проста и эффективна для базовой проверки, обеспечивая правильность формата электронной почты.
Регулярные выражения (Regex): Предлагают настраиваемую проверку путем определения определенных шаблонов, но требуют тщательной проработки для обработки всех допустимых форматов электронной почты.
API: Эти службы обеспечивают расширенную проверку, проверяя не только формат, но и существование и возможность доставки адреса электронной почты.
У каждого метода есть свои преимущества и варианты использования в зависимости от требуемого уровня проверки.
Подробные объяснения и примеры кода читайте в полной версии статьи здесь.
DEV Community
How to Validate Emails in PHP: regex, filter_var(), and API Explained
Be it marketing or transactional emails, email address validation is a necessity, or you could risk...
❤6👍2👾2
💬 Что вас мотивирует в работе?
❤️ — развитие своих профессиональных скиллов
👍 — преимущественно деньги
🤔 — я просто не хочу умереть с голоду
🌚 — одобрение коллег, поддержка определённого статуса
👾 — я верю, что занимаюсь чем-то полезным и ценным
#интерактив
❤️ — развитие своих профессиональных скиллов
👍 — преимущественно деньги
🤔 — я просто не хочу умереть с голоду
🌚 — одобрение коллег, поддержка определённого статуса
👾 — я верю, что занимаюсь чем-то полезным и ценным
#интерактив
👍98❤44🤔31👾24🌚5
CSV Blueprint
Строгая и автоматизированная построчная проверка CSV на основе настраиваемых схем Yaml.
За считанные секунды вы можете убедиться, что каждый символ в гигабайтном файле соответствует вашим ожиданиям.
Строгая и автоматизированная построчная проверка CSV на основе настраиваемых схем Yaml.
За считанные секунды вы можете убедиться, что каждый символ в гигабайтном файле соответствует вашим ожиданиям.
GitHub
GitHub - JBZoo/CSV-Blueprint: CSV Validator - Strict and automated line-by-line CSV checking tool based on customizable Yaml schemas
CSV Validator - Strict and automated line-by-line CSV checking tool based on customizable Yaml schemas - JBZoo/CSV-Blueprint
👍4
Forwarded from PHP jobs — вакансии по PHP, Symfony, Laravel
#дайджест #phpdevjob
Вакансии PHP разработчиков уровня Junior
▪️Веб-разработчик
Тула. ИнтерЛабс — маркетинговое агентство полного цикла
Подробнее
▪️PHP-разработчик
Волгоград. ИНТЕРВОЛГА — веб-разработка, маркетинг, сопровождение нагруженных проектов
Подробнее
Вакансии PHP разработчиков уровня Middle
▪️Backend разработчик
Набережные Челны. PROFFIT GO — разработка ПО
Подробнее
▪️PHP Laravel разработчик
Удаленка. Офис в Казани. Акцент на результат — маркетинговое агентство
Подробнее
Вакансии PHP разработчиков уровня Senior
▪️Программист Full Stack
Удаленка. Офис в Москве. Астони — сопровождение и SEO-продвижение сайтов
Подробнее
▪️Fullstack разработчик
Удаленка. Офис в Екатеринбурге. amgroup — разработка ПО
Подробнее
Понравились вакансии?
❤️ — да
🤔 — нет
Вакансии PHP разработчиков уровня Junior
▪️Веб-разработчик
Тула. ИнтерЛабс — маркетинговое агентство полного цикла
Подробнее
▪️PHP-разработчик
Волгоград. ИНТЕРВОЛГА — веб-разработка, маркетинг, сопровождение нагруженных проектов
Подробнее
Вакансии PHP разработчиков уровня Middle
▪️Backend разработчик
Набережные Челны. PROFFIT GO — разработка ПО
Подробнее
▪️PHP Laravel разработчик
Удаленка. Офис в Казани. Акцент на результат — маркетинговое агентство
Подробнее
Вакансии PHP разработчиков уровня Senior
▪️Программист Full Stack
Удаленка. Офис в Москве. Астони — сопровождение и SEO-продвижение сайтов
Подробнее
▪️Fullstack разработчик
Удаленка. Офис в Екатеринбурге. amgroup — разработка ПО
Подробнее
Понравились вакансии?
❤️ — да
🤔 — нет
tula.hh.ru
Вакансия Веб-разработчик (junior) в Туле, работа в компании ИнтерЛабс (вакансия в архиве c 12 июня 2024)
Зарплата: от 50000 ₽ за месяц. Тула. Требуемый опыт: не требуется. Полная занятость. Дата публикации: 09.06.2024.
😁9❤2👍2
Symfony — это фреймворк, основанный на конфигурации или соглашениях?
Symfony — это фреймворк, основанный на соглашениях. Документ Coding Standards иллюстрирует нормы кодирования для проектов 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().
Автор рассказывает о своем опыте работы с приложением, использующим 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().
DEV Community
Transforming API requests and responses in Laravel 11 - The easy way
The problem I've been working on an application using Next.js on the front-end and Laravel...
👍5🌚1
Там мы будем рассказывать про все существующие нейросети, которые генерируют музыку и голос — с пошаговыми инструкциями, инструментами и лайфхаками.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Forwarded from Библиотека задач по PHP | тесты, код, задания
какая из следующих функций используется для получения значения предыдущего элемента массива
Anonymous Quiz
8%
last()
22%
previous()
8%
before()
62%
prev()
🥱6👍3⚡1😁1
Использование Symfony Messenger для управления очередями сообщений в Symfony
Symfony Messenger — компонент, который помогает приложениям отправлять и получать сообщения между другими приложениями или через очереди сообщений.
Messenger предоставляет шину сообщений с возможностью отправки сообщений и немедленной обработки их в вашем приложении или отправки через транспорты (например, очереди) для обработки позже.
В Symfony Messenger вы создаете два класса:
🟢Класс сообщения, который содержит данные.
🟢Обработчик(и) сообщения, который будет вызван при отправке этого сообщения. Обработчик читает класс сообщения и выполняет одну или несколько задач.
Middleware — это компоненты, которые могут обрабатывать сообщения, когда они передаются через шину. Middleware могут выполнять различные задачи, такие как логирование, валидация сообщения, начало транзакции и т. д.
Envelope — это специфичный для Messenger концепт, который оборачивает сообщения, позволяя добавлять полезную информацию через envelope stamps. Envelope stamps — это метаданные, которые можно прикрепить к сообщению, например, контекст сериализации для транспорта или маркеры, идентифицирующие полученное сообщение.
Symfony Messenger также поддерживает различные транспорты для асинхронной обработки сообщений, такие как очереди.
Symfony Messenger — компонент, который помогает приложениям отправлять и получать сообщения между другими приложениями или через очереди сообщений.
Messenger предоставляет шину сообщений с возможностью отправки сообщений и немедленной обработки их в вашем приложении или отправки через транспорты (например, очереди) для обработки позже.
В Symfony Messenger вы создаете два класса:
🟢Класс сообщения, который содержит данные.
🟢Обработчик(и) сообщения, который будет вызван при отправке этого сообщения. Обработчик читает класс сообщения и выполняет одну или несколько задач.
Middleware — это компоненты, которые могут обрабатывать сообщения, когда они передаются через шину. Middleware могут выполнять различные задачи, такие как логирование, валидация сообщения, начало транзакции и т. д.
Envelope — это специфичный для Messenger концепт, который оборачивает сообщения, позволяя добавлять полезную информацию через envelope stamps. Envelope stamps — это метаданные, которые можно прикрепить к сообщению, например, контекст сериализации для транспорта или маркеры, идентифицирующие полученное сообщение.
Symfony Messenger также поддерживает различные транспорты для асинхронной обработки сообщений, такие как очереди.
DEV Community
Using Symfony Messenger to Manage Message Queues in Symfony
Symfony, the famous PHP framework, offers a wide range of powerful tools and components for...
🔥5👍1
🗝️ 40 незаменимых API для разработчиков
Разработчики постоянно ищут способы оптимизировать свою работу. Мы собрали 40 API, которые помогут вам сэкономить время, повысить эффективность и добавить новые функции в ваши проекты.
🔗 Читать статью
🔗 Зеркало
Разработчики постоянно ищут способы оптимизировать свою работу. Мы собрали 40 API, которые помогут вам сэкономить время, повысить эффективность и добавить новые функции в ваши проекты.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5