Гайд по Query Scopes в Laravel
В Laravel имеются локальные и глобальные запросные области (query scopes), которые позволяют определять ограничения в запросах Eloquent, делая их повторно используемыми и более читаемыми.
Локальные области запросов необходимо применять вручную, а глобальные области запросов автоматически применяются ко всем запросам модели.
В Laravel имеются локальные и глобальные запросные области (query scopes), которые позволяют определять ограничения в запросах Eloquent, делая их повторно используемыми и более читаемыми.
Локальные области запросов необходимо применять вручную, а глобальные области запросов автоматически применяются ко всем запросам модели.
Laravel News
Learn to master Query Scopes in Laravel - Laravel News
In this article, we're going to take a look at local query scopes and global query scopes
❤4👍1
Как вы используете пагинацию в Laravel?
Laravel предоставляет простой способ постраничной обработки записей базы данных с помощью метода paginate.
В этом примере мы используем метод paginate для получения коллекции пользователей и разбивки результатов на страницы по 10 записей в каждой. Затем мы можем выполнить итерацию по пагинированной коллекции с помощью цикла foreach.
Чтобы отобразить ссылки на пагинацию в представлении, мы можем использовать метод links для пагинационной коллекции.
#вопросы_с_собеседований
Laravel предоставляет простой способ постраничной обработки записей базы данных с помощью метода paginate.
В этом примере мы используем метод paginate для получения коллекции пользователей и разбивки результатов на страницы по 10 записей в каждой. Затем мы можем выполнить итерацию по пагинированной коллекции с помощью цикла foreach.
Чтобы отобразить ссылки на пагинацию в представлении, мы можем использовать метод links для пагинационной коллекции.
#вопросы_с_собеседований
❤5👍1
Как использовать шаблонизатор Laravel Blade в проекте на чистом PHP
Можно интегрировать шаблонизатор Blade из Laravel в проект на чистом PHP. Автор делится пошаговыми инструкциями по реализации этого подхода.
Можно интегрировать шаблонизатор Blade из Laravel в проект на чистом PHP. Автор делится пошаговыми инструкциями по реализации этого подхода.
DEV Community
How to Use Laravel Blade Templating Engine with a Pure Vanilla PHP Project?
Today, I challenged myself to implement a Laravel MVC (Model, View, Controller) approach using pure...
👍7🔥1🌚1
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
В этом видео рассматривается функция whereAny(), которая была выпущена в Laravel 10.47. Это очень элегантный способ захвата данных на основе условного «любой из следующих столбцов»
👾2
Forwarded from PHP jobs — вакансии по PHP, Symfony, Laravel
#дайджест #phpdevjob
Вакансии PHP разработчиков уровня Junior
▪️PHP-программист
Липецк, WL — создание и продвижение сайтов
Подробнее
▪️PHP Laravel/Symfony разработчик
Ульяновск, FrameWork Team — аутсорс-разработка
Подробнее
Вакансии PHP разработчиков уровня Middle
▪️PHP-разработчик
Удаленка, ДосЛаб — разработка ПО
Подробнее
▪️Full-stack developer
Удаленка, Первый Бит — интегратор IT-решений
Подробнее
Вакансии PHP разработчиков уровня Senior
▪️Team Lead
Москва, Драфтер — разработка ПО
Подробнее
▪️PHP-программист
Москва, СИНЬЮС — оперативные новости и аналитические материалы
Подробнее
Понравились вакансии?
❤️ — да
🤔 — нет
Вакансии PHP разработчиков уровня Junior
▪️PHP-программист
Липецк, WL — создание и продвижение сайтов
Подробнее
▪️PHP Laravel/Symfony разработчик
Ульяновск, FrameWork Team — аутсорс-разработка
Подробнее
Вакансии PHP разработчиков уровня Middle
▪️PHP-разработчик
Удаленка, ДосЛаб — разработка ПО
Подробнее
▪️Full-stack developer
Удаленка, Первый Бит — интегратор IT-решений
Подробнее
Вакансии PHP разработчиков уровня Senior
▪️Team Lead
Москва, Драфтер — разработка ПО
Подробнее
▪️PHP-программист
Москва, СИНЬЮС — оперативные новости и аналитические материалы
Подробнее
Понравились вакансии?
❤️ — да
🤔 — нет
lipetsk.hh.ru
Вакансия PHP-программист (junior) в Липецке, работа в компании Интерактивное агентство WL (вакансия в архиве c 9 августа 2024)
Зарплата: от 50000 ₽. Липецк. Требуемый опыт: 1–3 года. Полная занятость. Дата публикации: 06.08.2024.
👍5🤔3🎉1
Привет, друзья! 👋
Мы готовим статью о самых раздражающих вопросах на собеседованиях и хотим узнать ваше мнение! 🤔💼
📌 Какой вопрос на собеседовании вы считаете самым бесящим или нелепым? Почему?
🎭 Как вы обычно отвечаете на вопрос «Расскажите о своих недостатках»? Поделитесь своими лайфхаками!
🚀 Какой самый неожиданный или креативный вопрос вам задавали на собеседовании? Как вы на него ответили?
Ваши ответы помогут другим кандидатам подготовиться к собеседованиям! Самые интересные истории и советы попадут в нашу статью.
Ждём ваших комментариев! 👇😊
Мы готовим статью о самых раздражающих вопросах на собеседованиях и хотим узнать ваше мнение! 🤔💼
📌 Какой вопрос на собеседовании вы считаете самым бесящим или нелепым? Почему?
🎭 Как вы обычно отвечаете на вопрос «Расскажите о своих недостатках»? Поделитесь своими лайфхаками!
🚀 Какой самый неожиданный или креативный вопрос вам задавали на собеседовании? Как вы на него ответили?
Ваши ответы помогут другим кандидатам подготовиться к собеседованиям! Самые интересные истории и советы попадут в нашу статью.
Ждём ваших комментариев! 👇😊
👏1
Опишите жизненный цикл HTTP-запроса.
Жизненный цикл HTTP-запроса в PHP можно разделить на следующие этапы:
1️⃣ Инициация запроса: Когда клиент отправляет HTTP-запрос на сервер, он инициирует процесс обработки запроса. В PHP это может быть инициировано, например, через браузер или с помощью команды curl в командной строке.
2️⃣ Маршрутизация: После получения запроса сервер должен определить, какой код или файл должен обрабатывать этот запрос. В PHP это может быть определено с помощью файла .htaccess или механизма маршрутизации, такого как маршрутизатор в фреймворке.
3️⃣ Обработка запроса: Когда PHP определяет, какой код или файл должен обработать запрос, он запускает этот код или файл. Этот этап включает выполнение кода, чтение и обработку данных, выполнение операций с базой данных и другие операции, необходимые для обработки запроса.
4️⃣ Генерация и отправка ответа: После обработки запроса PHP генерирует данные, которые должны быть отправлены обратно клиенту. Это может включать в себя генерацию HTML-страницы, отправку изображений, создание и отправку JSON-ответов и т. д. Затем PHP отправляет созданный ответ обратно на клиентскую сторону.
5️⃣ Завершение обработки запроса: После отправки ответа PHP завершает обработку запроса, освобождает ресурсы, которые были использованы во время обработки, и завершает свое выполнение.
#вопросы_с_собеседований
Жизненный цикл HTTP-запроса в PHP можно разделить на следующие этапы:
1️⃣ Инициация запроса: Когда клиент отправляет HTTP-запрос на сервер, он инициирует процесс обработки запроса. В PHP это может быть инициировано, например, через браузер или с помощью команды curl в командной строке.
2️⃣ Маршрутизация: После получения запроса сервер должен определить, какой код или файл должен обрабатывать этот запрос. В PHP это может быть определено с помощью файла .htaccess или механизма маршрутизации, такого как маршрутизатор в фреймворке.
3️⃣ Обработка запроса: Когда PHP определяет, какой код или файл должен обработать запрос, он запускает этот код или файл. Этот этап включает выполнение кода, чтение и обработку данных, выполнение операций с базой данных и другие операции, необходимые для обработки запроса.
4️⃣ Генерация и отправка ответа: После обработки запроса PHP генерирует данные, которые должны быть отправлены обратно клиенту. Это может включать в себя генерацию HTML-страницы, отправку изображений, создание и отправку JSON-ответов и т. д. Затем PHP отправляет созданный ответ обратно на клиентскую сторону.
5️⃣ Завершение обработки запроса: После отправки ответа PHP завершает обработку запроса, освобождает ресурсы, которые были использованы во время обработки, и завершает свое выполнение.
#вопросы_с_собеседований
👍9🌚1👾1
Использование вспомогательных функций для преобразования Markdown в HTML в Laravel 11
В этом руководстве показано, как создать вспомогательную функцию в приложении Laravel для преобразования содержимого Markdown в HTML с использованием библиотеки league/commonmark.
В этом руководстве показано, как создать вспомогательную функцию в приложении Laravel для преобразования содержимого Markdown в HTML с использованием библиотеки league/commonmark.
DEV Community
Using Helper Functions to Convert Markdown to HTML in Laravel 11
In this tutorial, we'll create a helper function in a Laravel application to convert Markdown content...
PHP функции и способы их применения
В PHP становится все больше способов работы с функциями. Хотя ООП и является основной парадигмой для этого языка, процедурный и функциональный подходы тоже имеет право на жизнь в PHP. Давайте рассмотрим различные примеры работы с функциями в PHP 8.3
В PHP становится все больше способов работы с функциями. Хотя ООП и является основной парадигмой для этого языка, процедурный и функциональный подходы тоже имеет право на жизнь в PHP. Давайте рассмотрим различные примеры работы с функциями в PHP 8.3
Хабр
PHP функции и способы их применения
В PHP становится все больше способов работы с функциями. Хотя ООП и является основной парадигмой для этого языка, процедурный и функциональный подходы тоже имеет право на жизнь в PHP. Давайте...
👍2❤1
Руководство по событиям модели в Laravel
В Laravel, события моделей (model events) позволяют автоматически запускать определенную логику при выполнении действий с моделями Eloquent, таких как создание, обновление или удаление записей. Это может быть очень удобно, но важно правильно их использовать, чтобы избежать нежелательных побочных эффектов.
События моделей
В Laravel некоторые события моделей автоматически запускаются при выполнении определенных действий с моделями Eloquent. Вот некоторые из них:
retrieved — запись извлечена из базы данных.
creating — запись создается.
created — запись создана.
updating — запись обновляется.
updated — запись обновлена.
saving — запись сохраняется (создается или обновляется).
saved — запись сохранена.
deleting — запись удаляется.
deleted — запись удалена.
trashed — запись помечена как удаленная (soft delete).
forceDeleting — запись принудительно удаляется.
forceDeleted — запись принудительно удалена.
restoring — запись восстанавливается после soft delete.
restored — запись восстановлена после soft delete.
replicating — запись клонируется.
Прослушивание событий моделей
Существует несколько способов прослушивания событий моделей:
🔸Свойство dispatchesEvents в модели: Позволяет связать события моделей с классами событий, которые должны быть запущены.
🔸Замыкания (closures) в методе booted модели: Позволяют определять слушатели прямо в модели.
🔸Наблюдатели (observers): Классы, которые содержат методы для обработки различных событий модели.
Возможные проблемы и альтернативные подходы
🔸События моделей: События не запускаются, если манипуляции с данными выполняются напрямую через фасад DB или при массовых операциях (bulk operations).
🔸Альтернативы: Для более сложных операций или если нежелательные побочные эффекты вызывают проблемы в тестах, можно использовать сервисы или классы действий (actions) для более явного управления логикой.
В Laravel, события моделей (model events) позволяют автоматически запускать определенную логику при выполнении действий с моделями Eloquent, таких как создание, обновление или удаление записей. Это может быть очень удобно, но важно правильно их использовать, чтобы избежать нежелательных побочных эффектов.
События моделей
В Laravel некоторые события моделей автоматически запускаются при выполнении определенных действий с моделями Eloquent. Вот некоторые из них:
retrieved — запись извлечена из базы данных.
creating — запись создается.
created — запись создана.
updating — запись обновляется.
updated — запись обновлена.
saving — запись сохраняется (создается или обновляется).
saved — запись сохранена.
deleting — запись удаляется.
deleted — запись удалена.
trashed — запись помечена как удаленная (soft delete).
forceDeleting — запись принудительно удаляется.
forceDeleted — запись принудительно удалена.
restoring — запись восстанавливается после soft delete.
restored — запись восстановлена после soft delete.
replicating — запись клонируется.
Прослушивание событий моделей
Существует несколько способов прослушивания событий моделей:
🔸Свойство dispatchesEvents в модели: Позволяет связать события моделей с классами событий, которые должны быть запущены.
🔸Замыкания (closures) в методе booted модели: Позволяют определять слушатели прямо в модели.
🔸Наблюдатели (observers): Классы, которые содержат методы для обработки различных событий модели.
Возможные проблемы и альтернативные подходы
🔸События моделей: События не запускаются, если манипуляции с данными выполняются напрямую через фасад DB или при массовых операциях (bulk operations).
🔸Альтернативы: Для более сложных операций или если нежелательные побочные эффекты вызывают проблемы в тестах, можно использовать сервисы или классы действий (actions) для более явного управления логикой.
🔥3👏2
Forwarded from Библиотека девопса | DevOps, SRE, Sysadmin
🍇 18 основных паттернов микросервисной архитектуры
Рассказываем о паттернах, которые представляют собой набор проверенных решений типичных проблем и задач в микросервисной архитектуре. Их правильное применение может значительно улучшить масштабируемость и надежность системы.
Читать статью
Рассказываем о паттернах, которые представляют собой набор проверенных решений типичных проблем и задач в микросервисной архитектуре. Их правильное применение может значительно улучшить масштабируемость и надежность системы.
Читать статью
👍3🌚1
😨 Страх ошибок: как он мешает вам писать код
Страх совершить ошибку при внесении изменений в код может серьезно ограничивать профессиональный рост программиста. Как преодолеть этот психологический барьер и стать более эффективным разработчиком? Ответы — в нашей статье.
Страх совершить ошибку при внесении изменений в код может серьезно ограничивать профессиональный рост программиста. Как преодолеть этот психологический барьер и стать более эффективным разработчиком? Ответы — в нашей статье.
🔥1
«Я перестал использовать Copilot после 2 месяцев. И вот почему»
Автор делится своим опытом работы с Copilot, приводя как положительные, так и отрицательные аспекты его использования. В статье рассмотрены следующие моменты:
Сетап: Copilot использовался с языками PHP (Laravel) и TypeScript (React) в редакторе nvim, работая над фронтендом, бекендом и тестами.
Плюсы:
✅Copilot впечатляет способностью предугадывать код, особенно если он повторяющийся.
✅Он предлагает простые решения, которые могут не приходить сразу в голову программисту.
✅Автокомплит Copilot помогает быстро генерировать шаблонный код, который затем можно исправить.
Минусы:
❗Уменьшение продуктивности: Copilot требует постоянного внимания к предлагаемому коду, что снижает моторную память и замедляет работу.
❗Импорты: Copilot не всегда корректно вставляет импорты, что приводит к путанице и необходимости вручную проверять зависимости.
❗Ошибки: Инструмент иногда подсказывает неверные команды или синтаксически некорректный код, что приводит к ошибкам и требует дополнительных исправлений.
Итог:
Copilot полезен для больших кусков кода, но в коротких командах он больше мешает, чем помогает.
Обычный автокомплит вместе с моторной памятью оказывается быстрее и приятнее в использовании.
В некоторых случаях проще использовать копипасту и обращаться к ChatGPT для уточнения вопросов.
Автор делится своим опытом работы с Copilot, приводя как положительные, так и отрицательные аспекты его использования. В статье рассмотрены следующие моменты:
Сетап: Copilot использовался с языками PHP (Laravel) и TypeScript (React) в редакторе nvim, работая над фронтендом, бекендом и тестами.
Плюсы:
✅Copilot впечатляет способностью предугадывать код, особенно если он повторяющийся.
✅Он предлагает простые решения, которые могут не приходить сразу в голову программисту.
✅Автокомплит Copilot помогает быстро генерировать шаблонный код, который затем можно исправить.
Минусы:
❗Уменьшение продуктивности: Copilot требует постоянного внимания к предлагаемому коду, что снижает моторную память и замедляет работу.
❗Импорты: Copilot не всегда корректно вставляет импорты, что приводит к путанице и необходимости вручную проверять зависимости.
❗Ошибки: Инструмент иногда подсказывает неверные команды или синтаксически некорректный код, что приводит к ошибкам и требует дополнительных исправлений.
Итог:
Copilot полезен для больших кусков кода, но в коротких командах он больше мешает, чем помогает.
Обычный автокомплит вместе с моторной памятью оказывается быстрее и приятнее в использовании.
В некоторых случаях проще использовать копипасту и обращаться к ChatGPT для уточнения вопросов.
🎉13💯3🥱2👍1🔥1
NumPower
Расширение PHP для эффективных научных вычислений и работы с массивами данных с поддержкой GPU.
Посмотрите эту простую нейронную сеть, созданную на PHP с нуля с помощью NumPower.
Расширение PHP для эффективных научных вычислений и работы с массивами данных с поддержкой GPU.
Посмотрите эту простую нейронную сеть, созданную на PHP с нуля с помощью NumPower.
GitHub
GitHub - NumPower/numpower: PHP extension for efficient scientific computing and array manipulation with GPU support
PHP extension for efficient scientific computing and array manipulation with GPU support - NumPower/numpower
🔥11👍4❤1