🧩 Упакуйте свой код правильно
В предыдущей статье «Как организовать структуру приложения» рассматривались различные подходы к организации кода, включая монолитную архитектуру, многослойную архитектуру и принципы чистой архитектуры. Особое внимание уделялось важности понятной структуры кода, способствующей упрощению его понимания, внедрению новых функций и снижению вероятности ошибок. Были рассмотрены критерии понятности, такие как чёткое назначение файлов и папок, разделение логики по модулям или функциональным зонам, использование самодокументируемых названий и соблюдение стандартов кодирования. Также поднимались проблемы, возникающие при неструктурированной организации кода, включая сложность навигации, отсутствие модульности и нарушение принципов SOLID и GRASP.
👉Читать полностью
В предыдущей статье «Как организовать структуру приложения» рассматривались различные подходы к организации кода, включая монолитную архитектуру, многослойную архитектуру и принципы чистой архитектуры. Особое внимание уделялось важности понятной структуры кода, способствующей упрощению его понимания, внедрению новых функций и снижению вероятности ошибок. Были рассмотрены критерии понятности, такие как чёткое назначение файлов и папок, разделение логики по модулям или функциональным зонам, использование самодокументируемых названий и соблюдение стандартов кодирования. Также поднимались проблемы, возникающие при неструктурированной организации кода, включая сложность навигации, отсутствие модульности и нарушение принципов SOLID и GRASP.
👉Читать полностью
Forwarded from Библиотека программиста | программирование, кодинг, разработка
📊 Как себя чувствует IT-рынок в 2025 году?
Друзья, запускаем важное исследование рынка труда в IT!
Нам очень важно понять:
• Как изменились зарплаты
• Что происходит с наймом
• Есть ли сокращения или рост
🔐 Опрос полностью анонимный
⏱️ Займёт всего 3-5 минут
📈 Результаты опубликуем в подробной статье
Ваши ответы помогут составить реальную картину происходящего в индустрии.
👉 Пройти опрос
Друзья, запускаем важное исследование рынка труда в IT!
Нам очень важно понять:
• Как изменились зарплаты
• Что происходит с наймом
• Есть ли сокращения или рост
🔐 Опрос полностью анонимный
⏱️ Займёт всего 3-5 минут
📈 Результаты опубликуем в подробной статье
Ваши ответы помогут составить реальную картину происходящего в индустрии.
👉 Пройти опрос
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
This media is not supported in your browser
VIEW IN TELEGRAM
🛠️ navi — утилита для командной строки
Это утилита, которая поможет быстро находить готовые команды для терминала и сразу их выполнять. Вы можете использовать готовые шпаргалки или создать свои, а navi покажет возможные значения аргументов прямо в интерфейсе.
➡️ Как использовать
1️⃣ Устанавливаем через Homebrew:
2️⃣ Запускаем командой:
navi — доступ ко всем шпаргалкам
3️⃣ Встраиваем как shell-виджет или tmux-виджет для быстрого доступа
4️⃣ Создаем свои шпаргалки или импортируем из других источников (например, tldr или cheat.sh)
🌻 Что еще умеет
▪️ Поддерживает кастомные конфиги, цвета и пути для шпаргалок
▪️ Работает в любом терминале или через Tmux
▪️ Можно использовать как скриптовый инструмент или даже через Alfred
🔗 Репозиторий
Это утилита, которая поможет быстро находить готовые команды для терминала и сразу их выполнять. Вы можете использовать готовые шпаргалки или создать свои, а navi покажет возможные значения аргументов прямо в интерфейсе.
➡️ Как использовать
1️⃣ Устанавливаем через Homebrew:
brew install navi
2️⃣ Запускаем командой:
navi — доступ ко всем шпаргалкам
3️⃣ Встраиваем как shell-виджет или tmux-виджет для быстрого доступа
4️⃣ Создаем свои шпаргалки или импортируем из других источников (например, tldr или cheat.sh)
🌻 Что еще умеет
▪️ Поддерживает кастомные конфиги, цвета и пути для шпаргалок
▪️ Работает в любом терминале или через Tmux
▪️ Можно использовать как скриптовый инструмент или даже через Alfred
🔗 Репозиторий
👍4❤1
Автотесты | Как мокировать классы с помощью PHPUnit
Моки — это, по сути, клоны ваших классов. Они переопределяют ваш класс, сохраняя тот же тип и тип возврата, что и исходный класс. Убедиться в правильности возвращаемого типа в процессе создания мока очень важно, в противном случае будут возникать ошибки.
👉Читать статью
Моки — это, по сути, клоны ваших классов. Они переопределяют ваш класс, сохраняя тот же тип и тип возврата, что и исходный класс. Убедиться в правильности возвращаемого типа в процессе создания мока очень важно, в противном случае будут возникать ошибки.
👉Читать статью
👍3❤1
⬆️ Используйте состояния фабрик
Знаете ли вы, что фабрики Laravel позволяют определять состояния? Вы можете использовать несколько состояний для описания объекта и применять к нему различные модификации. Это также делает код более читабельным 🚀
#совет
Знаете ли вы, что фабрики Laravel позволяют определять состояния? Вы можете использовать несколько состояний для описания объекта и применять к нему различные модификации. Это также делает код более читабельным 🚀
#совет
👍8❤1🔥1🌚1
PVM — менеджер версий PHP
Простой bash-скрипт для управления несколькими версиями PHP в Unix-системах(в том числе MacOS).
Установка через Curl:
🔗Github
#инструменты
Простой bash-скрипт для управления несколькими версиями PHP в Unix-системах(в том числе MacOS).
Установка через Curl:
curl -o /usr/local/bin/pvm https://raw.githubusercontent.com/smoqadam/pvm/main/pvm
chmod +x /usr/local/bin/pvm
export PATH="$HOME/.pvm/current:$PATH
"🔗Github
#инструменты
👍29😁4❤1
Как использовать кэширование в Laravel?
Кэширование в Laravel — это мощная функция, которая может значительно улучшить производительность вашего веб-приложения за счет хранения часто используемых данных в кэше.
1. Конфигурация: Сначала убедитесь, что ваше приложение Laravel правильно настроено для кэширования. Файл конфигурации находится в config/cache.php, где вы можете указать драйвер кэша по умолчанию и другие параметры. Laravel поддерживает различные драйверы кэша, такие как file, database, redis, memcached и другие.
2. Хранение данных в кэше: Вы можете хранить данные в кэше, используя фасад Cache или вспомогательную функцию cache(). Например, чтобы сохранить значение в кэше на 10 минут, вы можете использовать:
3. Извлечение данных из кэша: Чтобы получить данные из кэша, вы можете использовать метод get:
// или используя вспомогательную функцию
4. Проверка наличия данных: Перед извлечением данных вы можете проверить, существуют ли они в кэше:
5. Удаление данных из кэша: Чтобы удалить данные из кэша, используйте метод forget:
6. Очистка всего кэша: Если вам нужно очистить весь кэш, вы можете использовать метод flush:
#вопросы_с_собеседований
Кэширование в Laravel — это мощная функция, которая может значительно улучшить производительность вашего веб-приложения за счет хранения часто используемых данных в кэше.
1. Конфигурация: Сначала убедитесь, что ваше приложение Laravel правильно настроено для кэширования. Файл конфигурации находится в config/cache.php, где вы можете указать драйвер кэша по умолчанию и другие параметры. Laravel поддерживает различные драйверы кэша, такие как file, database, redis, memcached и другие.
2. Хранение данных в кэше: Вы можете хранить данные в кэше, используя фасад Cache или вспомогательную функцию cache(). Например, чтобы сохранить значение в кэше на 10 минут, вы можете использовать:
Cache::put('key', 'value', 600);
3. Извлечение данных из кэша: Чтобы получить данные из кэша, вы можете использовать метод get:
$value = Cache::get('key');
// или используя вспомогательную функцию
$value = cache('key');
4. Проверка наличия данных: Перед извлечением данных вы можете проверить, существуют ли они в кэше:
Cache::has('key');
5. Удаление данных из кэша: Чтобы удалить данные из кэша, используйте метод forget:
Cache::forget('key');
6. Очистка всего кэша: Если вам нужно очистить весь кэш, вы можете использовать метод flush:
Cache::flush();
#вопросы_с_собеседований
👍8
✅ RFC: Поддержка замыканий в константных выражениях
В PHP 8.5 появится возможность использовать замыкания в:
🔸В параметрах атрибутов,
🔸В значениях по умолчанию свойств и параметров.
🔸В константах и константах классов.
👉Читать на сайте PHP
В PHP 8.5 появится возможность использовать замыкания в:
🔸В параметрах атрибутов,
🔸В значениях по умолчанию свойств и параметров.
🔸В константах и константах классов.
👉Читать на сайте PHP
🤔11🤩10👾2
🐋 История создания идеального Docker для Laravel
Казалось бы, упаковать PHP в контейнер и настроить GitHub Actions — дело пяти минут. Однако, как это часто бывает, реальность оказалась сложнее. Это история о возвращении к разработке на PHP и решении накопившихся проблем с деплоем Laravel-проекта. О том, как готовился Docker-образ, несколько раз переписывался процесс деплоя, находились компромиссы там, где это было возможно, и полностью перестраивалась архитектура там, где компромиссы были неприемлемы.
💻 Хабр
Казалось бы, упаковать PHP в контейнер и настроить GitHub Actions — дело пяти минут. Однако, как это часто бывает, реальность оказалась сложнее. Это история о возвращении к разработке на PHP и решении накопившихся проблем с деплоем Laravel-проекта. О том, как готовился Docker-образ, несколько раз переписывался процесс деплоя, находились компромиссы там, где это было возможно, и полностью перестраивалась архитектура там, где компромиссы были неприемлемы.
💻 Хабр
👍8
Знакомство с новыми стартовыми наборами Laravel
Laravel 12 представил три новых стартовых набора для React, Vue и Livewire. Каждый из них также доступен в варианте с WorkOS AuthKit. Эти наборы обеспечивают удобное начало работы как с кодом, так и с пользовательским интерфейсом.
💬 Официальный сайт
Laravel 12 представил три новых стартовых набора для React, Vue и Livewire. Каждый из них также доступен в варианте с WorkOS AuthKit. Эти наборы обеспечивают удобное начало работы как с кодом, так и с пользовательским интерфейсом.
💬 Официальный сайт
👍4❤1
Офер от Сбера за один клик 💼
Мечтаешь работать в Сбере, теперь это проще, чем когда-либо!
💡 AI-интервью за 15 минут – и ты уже на шаг ближе к своей новой работе.
Как получить офер?
📌 Зарегистрируйся
📌 Пройди AI-интервью
📌 Получи обратную связь сразу же!
После прохождения твои ответы получат рекрутеры и свяжутся с тобой в течение нескольких дней! 🚀
Реклама. ПАО СБЕРБАНК, ИНН 7707083893. Erid 2VtzqxS96Na
Мечтаешь работать в Сбере, теперь это проще, чем когда-либо!
💡 AI-интервью за 15 минут – и ты уже на шаг ближе к своей новой работе.
Как получить офер?
📌 Зарегистрируйся
📌 Пройди AI-интервью
📌 Получи обратную связь сразу же!
После прохождения твои ответы получат рекрутеры и свяжутся с тобой в течение нескольких дней! 🚀
Реклама. ПАО СБЕРБАНК, ИНН 7707083893. Erid 2VtzqxS96Na
🥱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
🌚23👍8😁4🤔4
🔧 Рефакторинг PHP-кода: промт для ИИ
Ловите промт для ChatGPT, который поможет сделать код чище, быстрее и безопаснее за пару кликов 🚀
💡 Скопируй и вставь этот промт в ChatGPT или Claude:
«
💬 Делитесь в комментах результатом, а также можете показать свои промты и фишки, связанные с нейронками, которые используете в работе.
Библиотека пхпшника #буст
Ловите промт для ChatGPT, который поможет сделать код чище, быстрее и безопаснее за пару кликов 🚀
💡 Скопируй и вставь этот промт в ChatGPT или Claude:
«
Refactor the following PHP code to improve readability, performance, and adherence to modern coding standards (PSR-12).
Remove code duplication
Replace outdated constructs with modern alternatives
Enforce strict typing (declare(strict_types=1);)
Break down long functions into smaller, more manageable ones
Add comments and PHPDoc for better documentation
Improve security (e.g., prevent SQL injections)
Here is the code:
// Paste your code here
Return the updated code
with explanations on what was improved and why
.»💬 Делитесь в комментах результатом, а также можете показать свои промты и фишки, связанные с нейронками, которые используете в работе.
Библиотека пхпшника #буст
🥱5👍4
php-ext — Расширение для хрома, показывающее консоль PHP (Laravel) devtools
Простое расширение Chrome для создания фрейма консоли PHP. Этот пакет использует пакет Spaties Laravel Web Tinker и помещает его в панель devtools, делая его доступным из любой точки панели.
🔗Github
#инструменты
Простое расширение Chrome для создания фрейма консоли PHP. Этот пакет использует пакет Spaties Laravel Web Tinker и помещает его в панель devtools, делая его доступным из любой точки панели.
🔗Github
#инструменты
❤3🥰1
ℹ️ Laravel: фильтрация моделей через whereRelation
Как это работает
Метод
Этот подход особенно полезен при построении сложных фильтров в e-commerce, CMS и других приложениях, где важно учитывать связанные данные.
Пример: получение одобренных комментариев:
Как использовать
1. Используйте whereRelation в Eloquent-запросах
2. Укажите связь, поле и условие
3. Комбинируйте с
Где применять
— Фильтрация товаров в интернет-магазинах
— Отбор статей по комментариям и реакциям
— Работа с вложенными структурами данных
💬 Уже используете этот метод? Делитесь опытом.
Библиотека пхпшника #буст
Как это работает
Метод
whereRelation
упрощает фильтрацию моделей на основе атрибутов их связей. Вместо сложных подзапросов и джойнов — читаемый и поддерживаемый код.Этот подход особенно полезен при построении сложных фильтров в e-commerce, CMS и других приложениях, где важно учитывать связанные данные.
Пример: получение одобренных комментариев:
Post::whereRelation('comments', 'is_approved', true)->get();
Как использовать
1. Используйте whereRelation в Eloquent-запросах
2. Укажите связь, поле и условие
3. Комбинируйте с
orWhereRelation
и другими методами запросаГде применять
— Фильтрация товаров в интернет-магазинах
— Отбор статей по комментариям и реакциям
— Работа с вложенными структурами данных
💬 Уже используете этот метод? Делитесь опытом.
Библиотека пхпшника #буст
👍4