gram news
Библиотека PHP программиста channel avatar

Библиотека PHP программиста

@php_lib

Полезные материалы по PHP, Laravel, Symfony, CodeIgniter, CakePHP, Phalcon По всем вопросам @evgenycarter

ProjectsRUProgramming

2,060subscribers

Open the Channel

Latest posts

  • Библиотека PHP программиста

    21 Sept, 06:37

    Совет по Laravel💡Если вы хотите автоматически удалять старые записи, используйте трейт Prunable. Нет необходимости писать собственные команды.📲 Мы в MAX👉 @php_lib
    Image from a post by Библиотека PHP программистаImage from a post by Библиотека PHP программиста
  • Библиотека PHP программиста

    16 Sept, 06:31

    Совет по Laravel💡Знаете ли вы .... tap() = Tweak and Return 🪄Да, в Laravel метод tap() позволяет изменить объект и вернуть его обратно — идеально для чистого и читаемого кода.📲 Мы в MAX👉 @php_lib
    Image from a post by Библиотека PHP программистаImage from a post by Библиотека PHP программиста
  • Библиотека PHP программиста

    9 Sept, 04:57

    Совет по Laravel💡Знаете ли вы... В Laravel есть метод withProgressBar(), который позволяет добавлять прогресс-бары к консольным командам.#Laravel📲 Мы в MAX👉 @php_lib
    Image from a post by Библиотека PHP программистаImage from a post by Библиотека PHP программиста
    45241Open in Telegram
  • Библиотека PHP программиста

    7 Sept, 06:01

    💡Совет по LaravelОпределение языка пользователяLaravel использует компонент HttpFoundation из Symfony, который предоставляет полезные возможности. Если вы работаете с локализацией и нужно определить предпочитаемый язык пользователя, просто вызовите метод getPreferredLanguage 🚀📲 Мы в MAX👉 @php_lib
    Image from a post by Библиотека PHP программистаImage from a post by Библиотека PHP программиста
  • Библиотека PHP программиста

    31 Aug, 06:00

    💡Знал ли вы, что…Метод Number::abbreviate в Laravel преобразует сложные числа в удобочитаемый формат:📲 Мы в MAX👉 @php_lib
    Image from a post by Библиотека PHP программистаImage from a post by Библиотека PHP программиста
  • Библиотека PHP программиста

    20 Aug, 06:30

    Сегодня хочу поговорить про одну проблему, с которой я сталкивался сам и вижу её у других PHP-разработчиков - “магия” в коде.Что я имею в виду? Это когда ты открываешь проект, а там сервисы создаются «сами собой», данные в объект попадают неизвестно откуда, а половина зависимостей подтягивается где-то «под капотом». Вроде удобно - меньше кода писать. Но вот через пару месяцев ты сам же сидишь и думаешь: «А откуда вообще берётся этот объект? И почему тут такая зависимость?»🔹 Основная проблема магии - она убивает явность кода. Чем больше скрытых механизмов, тем сложнее поддерживать проект и подключать новых разработчиков.Примеры из практики:- Использование глобальных хелперов вместо DI. - Автоматический вызов методов через __call или __get. - Массовая магия в Laravel (facades, hidden bindings и т.д.).🛠 Что можно сделать:1. Минимизировать скрытые механизмы - лучше написать
    Image from a post by Библиотека PHP программистаImage from a post by Библиотека PHP программиста
    573311Open in Telegram
  • Библиотека PHP программиста

    17 Aug, 04:49

    Gemini API PHP ClientКлиент Google Gemini API для PHP позволяет вам использовать модель искусственного интеллекта Gemini.Установкаcomposer require gemini-api-php/clientБазовая генерация текстаuse GeminiAPI\Client; use GeminiAPI\Resources\Parts\TextPart;$client = new Client('GEMINI_API_KEY'); $response = $client->geminiPro()->generateContent( new TextPart('PHP in less than 100 chars'), );print $response->text(); // PHP: A server-side scripting language used to create dynamic web applications.
    Image from a post by Библиотека PHP программистаImage from a post by Библиотека PHP программиста
    45941Open in Telegram
  • Библиотека PHP программиста

    8 Aug, 11:59

    🚀 Подборка полезных IT каналов в MaxСистемное администрирование, DevOps 📌https://max.ru/i_odmin Все для системного администратора https://max.ru/bash_srv Bash Советы https://max.ru/sysadminof Книги для админов, полезные материалы https://max.ru/i_odmin_book Библиотека Системного Администратора https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др. https://max.ru/tipsysdmin Типичный Сисадмин https://max.ru/channel_win_sysadmin Системный Администратор Windows https://max.ru/channel_linux_admin Linux: Системный администратор https://max.ru/channel_linuxmod Linux https://max.ru/channel_i_linux Системный администратор https://max.ru/channel_devopslib DevOps, SRE, Sysadmin https://max.ru/channel_devops_star DevOps Star (Звезда Девопса)Excel лайфхак 📌 https://t.me/Excel_lifehack Excel лайфхак
    MAXСистемный Администратор | Sysadmin Windows & Linux Server. …Купить рекламу: https://telega.in/m/i_odmin Блог практикующего админа. Настройка Windows Server, Active Directory (AD), GPO и терминальных серверов (RDP). Раб…
    44522Open in Telegram
  • Библиотека PHP программиста

    6 Aug, 06:32

    Сегодня хочу поделиться одной небольшой, но очень полезной привычкой, которая здорово экономит время в работе с PHP-проектами.Когда я только начинал, я постоянно забывал про php artisan tinker (если речь про Laravel) или встроенный интерактивный шелл php -a. А ведь это супер-удобный способ быстро проверить кусок кода, протестировать работу функции или глянуть, что вернет тот или иной запрос.Например, нужно быстро понять, как работает кастомный accessor в модели? Вместо того чтобы городить временные роуты или var_dump-ить в контроллере - открываешь tinker:php artisan tinkerИ сразу работаешь с моделью:$user = App\Models\User::find(1); $user->profile->full_name;Буквально за пару секунд получаешь ответ, без лишнего мусора в коде.Еще круто использовать tinker для тестирования сервисов или вызова хелперов. Иногда я даже проверяю SQL-запросы через Eloquent, чтобы потом
    Image from a post by Библиотека PHP программистаImage from a post by Библиотека PHP программиста
    40343Open in Telegram
  • Библиотека PHP программиста

    31 Jul, 05:23

    💡 Совет по LaravelНе позволяй запросам к базе данных замедлять работу. Используй фасад Cache в Laravel для временного кэширования данных и сокращения количества обращений к базе.📲 Мы в MAX👉 @php_lib
    Image from a post by Библиотека PHP программистаImage from a post by Библиотека PHP программиста
  • Библиотека PHP программиста

    29 Jul, 09:52

    Нужно ли в PHP перед вызовом функций ставить обратный слэш?Несколько лет назад я прочитал статью «How to dump and inspect PHP OPCodes» в которой наконец увидел, что опкоды в PHP действительно существуют. И кроме того, мы, разработчики, которые пишем на PHP на эти опкоды можем влиять, тем самым оптимизируя производительность нашего кода. В статье так же рассказывалось о том, как применение бэкслэшей может ускорить выполнение программ. Я был под впечатлением...Опкодами (см. Код операции) называется некий промежуточный код, который всё ещё понятен человеку и который выполняется некой исполняющей средой. В случае PHP этой средой является Zend Virtual Machine (она же Zend Engine).https://habr.com/ru/articles/934316/📲 Мы в MAX👉 @php_lib
    Image from a post by Библиотека PHP программистаImage from a post by Библиотека PHP программиста
    50621Open in Telegram
  • Библиотека PHP программиста

    27 Jul, 05:50

    Сегодня хочу поделиться темой, которая регулярно спасает мне часы (а иногда и дни) работы — как быстро находить и устранять узкие места в производительности PHP-приложения.Когда проект начинает подтормаживать, первая реакция — «ну, наверное, сервер слабый». А на деле 80% проблем можно найти прямо в коде. Вот мой рабочий чеклист:1. Включаю профилировщик. Если проект на Laravel — laravel-debugbar или Clockwork. Для чистого PHP — Xdebug или Tideways. Они показывают, какие функции и запросы жрут время.2. Смотрю SQL-запросы. Удивительно, сколько «тормозов» сидит именно в базе. Часто помогает банальное добавление индексов или переписывание одного запроса.3. Ищу повторяющиеся операции. Иногда вижу: одна и та же функция дергается в цикле по 1000 раз, хотя результат можно закешировать.4. Анализирую работу с файлами. Если есть много file_get_contents() или операций с большими файлами —
    Image from a post by Библиотека PHP программистаImage from a post by Библиотека PHP программиста
  • Библиотека PHP программиста

    25 Jul, 11:10

    🚀 Подборка полезных IT каналов в MaxСистемное администрирование, DevOps 📌https://max.ru/i_odmin Все для системного администратора https://max.ru/bash_srv Bash Советы https://max.ru/sysadminof Книги для админов, полезные материалы https://max.ru/i_odmin_book Библиотека Системного Администратора https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др. https://max.ru/tipsysdmin Типичный Сисадмин https://max.ru/channel_win_sysadmin Системный Администратор Windows https://max.ru/channel_linux_admin Linux: Системный администратор https://max.ru/channel_linuxmod Linux https://max.ru/channel_i_linux Системный администратор https://max.ru/channel_devopslib DevOps, SRE, Sysadmin https://max.ru/channel_devops_star DevOps Star (Звезда Девопса)Excel лайфхак 📌 https://t.me/Excel_lifehack Excel лайфхак
    MAXСистемный Администратор | Sysadmin Windows & Linux Server. …Купить рекламу: https://telega.in/m/i_odmin Блог практикующего админа. Настройка Windows Server, Active Directory (AD), GPO и терминальных серверов (RDP). Раб…
  • Библиотека PHP программиста

    19 Jul, 06:11

    Сегодня хочу поделиться полезной практикой, которая реально экономит время при работе с чужим кодом — быстрая навигация и понимание проекта через composer.json.Когда попадаешь в новый проект, чаще всего первым делом начинаешь блуждать по папкам, читать контроллеры, роуты, сервисы… Но есть более быстрый способ понять архитектуру - сразу открыть composer.json.Что можно сразу понять:- Какие библиотеки используются - а значит, какие фреймворки, ORM, инструменты кеширования или логирования ждут нас внутри. - Какая версия PHP нужна — помогает избежать сюрпризов с несовместимыми функциями. - Автозагрузка - раздел autoload и autoload-dev сразу подскажет, где искать код и как он структурирован. Например, если вижу App\\ => src/, я знаю, что основной код живёт в src. - Скрипты - в scripts иногда прячутся удобные команды для деплоя, генерации, тестов, которые можно запускать через composer
  • Библиотека PHP программиста

    10 Jul, 15:37

    🔥 Полезная фича в Laravel: скрываем данные с помощью Str::mask()Метод Str::mask() позволяет легко замаскировать часть строки определенным символом (например, ).💡 Небольшой совет: Начиная с версии Laravel 8.69, этот метод встроен "из коробки" и отлично подходит для безопасного отображения email-адресов, номеров телефонов или токенов.Как это выглядит на практике:$userEmail = 'username@domain.com';$maskedEmail = Str::mask($userEmail, '', 4); // Результат: user// Если передать отрицательное число в качестве третьего аргумента, // маскировка начнется с конца строки:$maskedEmail = Str::mask($userEmail, '', -16, 6); // Результат: usedomain.com#laravel #php #webdev #советы_разработчикам
    632311Open in Telegram
  • Библиотека PHP программиста

    8 Jul, 06:03

    💡Совет по Laravel: Проверка дат с помощью CarbonУверен, тебе хоть раз приходилось проверять, истекла ли дата или находится в будущем. Так как Laravel под капотом использует Carbon, у тебя есть доступ к множеству удобных методов, которые позволяют делать это элегантно 🚀📲 Мы в MAX👉 @php_lib
    Image from a post by Библиотека PHP программистаImage from a post by Библиотека PHP программиста
  • Библиотека PHP программиста

    6 Jul, 04:58

    Как правильно работать с большими массивами данных в PHP, чтобы не убить память и сервер.Когда мы пишем скрипты, которые обрабатывают тысячи (или миллионы) строк — будь то импорт из CSV, выгрузка из БД или массовая обработка, — часто допускается ошибка: всё грузится в память сразу. В итоге сервер умирает от нехватки памяти, а скрипт - от таймаута.Что делать?1. Частями, а не всё сразу Например, если вы работаете с PDO:$stmt = $pdo->query("SELECT FROM big_table"); while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { process($row); // Обрабатываем каждую строку на лету }Так данные не будут храниться в огромном массиве — обработка идёт построчно.2. Используйте генераторы Генераторы (yield) позволяют работать с большими данными лениво:function getRows($pdo) {
    Image from a post by Библиотека PHP программистаImage from a post by Библиотека PHP программиста
    59464Open in Telegram
  • Библиотека PHP программиста

    3 Jul, 08:07

    Совет по PHP/Laravel 🚀Когда у вас есть два случая для кастомных исключений, относящихся к одному и тому же домену, вместо создания нескольких классов исключений можно использовать один класс с разными методами!Так код будет чище и лучше структурирован! 💪🔥📲 Мы в MAX👉 @php_lib
    Image from a post by Библиотека PHP программистаImage from a post by Библиотека PHP программиста
    495421Open in Telegram
  • Библиотека PHP программиста

    1 Jul, 07:18

    💡 Совет для Laravel‑разработчиковИспользуйте Crypt facade — он уже есть в Laravel:- Работает на вашем APP_KEY - Шифрует данные через AES‑256‑CBC - Защищает от подделки (MAC) 🔐Храните API‑токены, пароли и секреты безопасно — прямо из коробки.📲 Мы в MAX👉 @php_lib
    Image from a post by Библиотека PHP программистаImage from a post by Библиотека PHP программиста
  • Библиотека PHP программиста

    28 Jun, 20:09

    Простой, но полезный приём для дебага в Laravel — логирование SQL-запросов в человекочитаемом виде.По умолчанию DB::listen() в Laravel выводит запрос с плейсхолдерами ?, а значения параметров идут отдельно. Это не всегда удобно — сложно быстро понять, что реально выполняется.Вот сниппет, который собирает полный SQL-запрос с подставленными значениями:DB::listen(function ($query) { $sql = $query->sql; foreach ($query->bindings as $binding) { $binding = is_numeric($binding) ? $binding : "'{$binding}'"; $sql = preg_replace('/\?/', $binding, $sql, 1); } logger()->info("Executed query: {$sql}"); });📌 Пример:select from users where email = 'john@example.com' and age > 18Очень удобно, когда ты хочешь понять, почему условие WHERE не сработало или почему запрос медленный.
    Image from a post by Библиотека PHP программистаImage from a post by Библиотека PHP программиста