Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
11.3K subscribers
1.34K photos
20 videos
26 files
4.03K links
Все самое полезное для пхпшника в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/bca892d6

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Download Telegram
Обновление Laravel: с 5.7 до 10.x

В Laravel есть возможность прямого перехода к последней версии (Laravel 10.x) независимо от текущей версии, обходя инкрементальные обновления. Процесс подробно описывается в пяти шагах:

1️⃣Настройка окружения:
Создание окружения для Laravel 10.x, требующего PHP 8.1 и указанных расширений.

2️⃣Обновление только Laravel:
Изначально фокус на обновлении базовых пакетов Laravel.
Создание нового файла composer.json на основе ветки Laravel 10.x из GitHub.
Запуск composer install для выявления и пошагового устранения ошибок.

3️⃣Установка зависимостей:
Решение проблем, связанных с фреймворком, сравнив изменения между текущей версией и Laravel 10.x на GitHub.
Ручное объединение изменений там, где это необходимо, особенно в файлах с пользовательскими модификациями.

4️⃣Установка оставшихся зависимостей:
Установка оставшихся зависимостей, учитывая изменения между файлами composer.json.back и новым composer.json.
Использование сравнения в Git для выявления и избегания установки зависимостей, удаленных Laravel.

5️⃣Финальные рекомендации:
Уделять особое внимание тестированию для обеспечения успешного обновления и правильной работы системы.
Регулярная проверка обновлений в репозитории Laravel и обращение к руководствам по обновлению Laravel для дополнительных идей.
🥱8🔥42
#хочу_спросить

Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
3👍2
Узнавайте обо всех ваших уведомлениях Laravel с помощью нового пакета Paragraphs.

Это представление нового пакета от компании Paragraph, который обеспечивает более полный контроль над процессом отправки уведомлений. Речь идет о том, как этот инструмент может улучшить видимость и анализ исходящих коммуникаций.
2
В чем разница между «echo» и «print»?

В PHP разница между echo и print заключается в следующем:

1.Возвращаемое значение:

echo: Не возвращает значение. Может принимать несколько аргументов, разделенных запятыми, и выводит их.
print: Всегда возвращает 1, поэтому может использоваться в выражениях.

2.Аргументы:

echo: Может принимать несколько аргументов, и их использование разделяется запятыми.
print: Принимает только один аргумент. Если вы пытаетесь передать ему более одного аргумента или использовать запятые для разделения, это вызовет ошибку.

3.Использование:

echo: Чаще используется для вывода HTML-кода и других строковых данных.
print: Часто используется для вывода единственного значения или переменной, особенно в контексте, где требуется возвращаемое значение.

#вопросы_с_собеседований
👍17🥱91🤔1
Как решить исключение «Маршрут не найден» в Laravel 10

Исключение «Маршрут не найден» является распространенной проблемой в Laravel, особенно в 10 версии. В большинстве случаев отображается страница 404, но здесь предлагается возможность перенаправления на любую другую страницу:

🟠На страницу 404
🟠На домашнюю страницу
🟠Перенаправление назад, если маршрут не существует
🟠Перенаправление с использованием обработчика исключений

Осталось только выбрать, что вам по вкусу
🥱6🥰4
Обзор LiveWire 3 и Volt

Эта статья-обзор новой, уже третьей версии Livewire. Помимо текстовой версии, есть также видео. Также рассматривается новинка — Volt. Довольно интересный и подробный материал, авторы которого постарались грамотно всё разложить по полочкам
👍1🌚1
В сети часто можно увидеть спор на тему лайвкодинга на собесах. Как к этому относитетсь? Достаточно ли тестового задания?
🔥6👍1
🔍Коммуникация в разработке продукта играет ключевую роль. Команда, владеющая навыками коммуникации, может сократить потребность в менеджерах продукта и оптимизировать процессы разработки продукта. Также подчеркивается сложность эффективной коммуникации, особенно при масштабировании команды.

🤔Основная проблема, обсуждаемая здесь, — наличие несогласованных ожиданий, предположений и использование неудачных средств коммуникации. Приводится личный пример, когда месяцы работы над проектом пришлось пересматривать из-за недостаточной эффективной коммуникации. Расширенные документы и долгие разговоры не привели к успешной передаче информации.

🛠️ Решение:

Выбор правильного канала:
📈 Подстраивайте коммуникацию под потребности различных заинтересованных сторон, например, короткие пункты для генеральных директоров, макеты для клиентов и технические требования для разработчиков.

Запрос обратной связи:
🙋 Активно запрашивайте обратную связь по эффективности коммуникации, особенно в отношении понимания проекта и наличия информации.

Показывайте, не рассказывайте:
🎥 Используйте визуальные средства, макеты и демонстрации, чтобы передать информацию более эффективно, чем устные или письменные описания.

Глупые вопросы:
🤷 Запрашивайте ясность, когда это необходимо, поскольку задавание на первый взгляд простых вопросов может улучшить общее понимание.

Удобочитаемость сообщений:
📋 Формулируйте сообщения кратко, структурировано, включайте задачи на действие или четкие указания. Предоставляйте различные форматы для сложной информации, такие как краткое изложение или видеозапись экрана.

Руководства пользователя:
📘 Разрабатывайте индивидуальные руководства, описывающие предпочтения в коммуникации, стиль ответа и предпочтительные средства общения для каждого члена команды. Поощряйте членов команды составлять свои собственные руководства.
👍41😁1
#дайджест новостей по PHP за неделю:

🔎Выпущена CakePHP 4.5.2. — Улучшения включают в себя: Значения даты сортировки больше не задают часовой пояс. Исправлено несоответствие между Error.beforeRender и Exception.beforeRender и много чего другого.

🔎Выпущена версия Filament v3.1 — После более чем 100 выпусков патчей для версии Filament v3.0 (это не шутка), наконец-то вышел одно из самых крупных минорных обновлений

🔎Выпущена версия Laravel 10.37 — На этой неделе команда Laravel выпустила версию 10.37 с возможностью хранить пакетные метаданные в DynamoDB, выявлять множественные ошибки в поле и многое другое.

🔎Интеграция MongoDB с Laravel теперь официально поддерживается

🔎Laravel Octane теперь поддерживает FrankenPHP. — Laravel Octane повышает производительность вашего приложения, обслуживая его с помощью мощных серверов приложений, таких как Open Swoole, Swoole и RoadRunner. Начиная с сегодняшнего дня, он также будет поддерживать FrankenPHP.

🔎 Неделя Symfony #885 (11–17 декабря 2023 г.)
👍4
4 новых метода округления, которые могут появиться в PHP 8.4

В предложенных изменениях версии 8.4 предусмотрено добавление четырех новых методов округления в функцию round(), что призвано обеспечить PHP-сообщество улучшенной гибкостью для тонкой настройки статистического анализа. Это обновление является ответом на отсутствие стандартизации методов округления, что становится критическим аспектом при работе с числами, где важна точность операций.

Джорг Зова предлагает внедрение четырех новых методов округления: PHP_ROUND_CEILING, PHP_ROUND_FLOOR, PHP_ROUND_AWAY_FROM_ZERO и PHP_ROUND_TOWARD_ZERO, дополняя уже существующий набор режимов округления.

В предложении:

1️⃣PHP_ROUND_CEILING: Округление до ближайшего целого числа большего заданного.
2️⃣PHP_ROUND_FLOOR: Округление до ближайшего целого числа меньшего заданного.
3️⃣PHP_ROUND_AWAY_FROM_ZERO: Округление в сторону от нуля.
4️⃣PHP_ROUND_TOWARD_ZERO: Округление в сторону нуля.

Важно отметить, что NumberFormatter уже реализует четыре из предложенных режимов (ROUND_CEILING, ROUND_FLOOR, ROUND_DOWN и ROUND_UP). Предложение также вводит два псевдонима из расширения Intl: ROUND_TOWARD_ZERO (эквивалент PHP_ROUND_TOWARD_ZERO) и ROUND_AWAY_FROM_ZERO (эквивалент PHP_ROUND_AWAY_FROM_ZERO), обеспечивая последовательное наименование режимов округления.

Предлагаемые изменения обратносовместимы, что уменьшает опасения относительно возможных нарушений существующего кода. Ожидается, что улучшения в округлении будут включены в PHP 8.4, предоставляя разработчикам более широкий набор инструментов для работы с числовой точностью.
🔥12👍6👏31
Forwarded from Библиотека программиста | программирование, кодинг, разработка
This media is not supported in your browser
VIEW IN TELEGRAM
Доставка кода в продакшен: типичный workflow от ByteByteGo (Alex Xu)

#проектирование_систем
😁12🔥4👍1
Управление версиями API в Laravel

Для эффективного версионирования API для управления различными версиями API предлагается использовать метод URI-версионирования, включающий /v* в пути URI, с акцентом на ограничение основной версии для избежания проблем интеграции.

В Laravel-приложении обычно есть файлы маршрутов, такие как web.php и api.php, загружаемые через RouteServiceProvider.php. В коде RouteServiceProvider.php указана загрузка маршрутов с различными группами промежуточных обработчиков для веб- и API-маршрутов. В статье предлагается создавать отдельные каталоги для веб- и API-маршрутов, например, routes/web/routes.php и routes/api/routes.php, чтобы сохранять их организованными.
👍5
Объясните функцию сonstant() и ее назначение.

В PHP функция constant() предназначена для получения значения константы по её имени. Константы в PHP — это именованные значения, которые не могут быть изменены в течение выполнения скрипта. Они объявляются с использованием функции define() или ключевого слова const.

#вопросы_с_собеседований
🥱9👍5👏2🎉2
Как использовать UUID в Laravel 10

Здесь рассказывается, как интегрировать UUID (Универсально Уникальные Идентификаторы) в ваше приложение Laravel 10, предоставляя преимущества в распределенных системах. Вот краткое изложение шагов:

Генерация UUID с использованием Str Facade:

Используйте фасад Str в Laravel для генерации UUID.
Приведен пример в UserController с методами index и view.

Генерация UUID с использованием Composer-пакета ramsey/uuid:

Установите пакет ramsey/uuid с помощью Composer.
Обновите схему вашей базы данных, заменив традиционное поле id на поле uuid в миграциях.
Укажите UUID в качестве первичного ключа в модели и отключите инкрементирование для UUID.
Используйте метод boot для генерации UUID перед сохранением модели.
Внесите соответствующие изменения в контроллеры и представления.
Убедитесь, что маршруты принимают UUID.
Запустите миграцию для применения изменений к базе данных.
🥱18👍2
Heroicons Micro — значки для интерфейсов высокой плотности

Компания Tailwind Labs представила Heroicons Micro как часть существующего набора Heroicons . Версия Micro включает 288 новых значков, созданных специально для интерфейсов с высокой плотностью размещения. Вместо того, чтобы уменьшать существующий набор иконок, каждая иконка тщательно перерисовывается с нуля до оптимального размера 16х16
❤‍🔥15
🔍Насколько легко «войти в айти»?

Мы продолжаем собирать ваши истории о смене профессии и трудоустройстве в IT, чтобы написать большую аналитическую статью.

👉Если вы еще не рассказывали о своем опыте, пройдите короткий опрос по ссылке.
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱61
#дайджест #phpdevjob

Вакансии недели для Москвы 👨🏻‍🏫

PHP-программист в ПЛАТФОРМА
Москва. Информационные технологии, системная интеграция.
Подробнее

Программист PHP в SCORISTA
Москва. Финтех компания.
Подробнее

PHP-разработчик в Дивлаб
Москва. IT-поддержка полного цикла.
Подробнее

Backend Developer PHP в ТолкФинанс
Москва. Финтех компания.
Подробнее

Backend-разработчик в КСА
Москва. Консалтинг, проектирование, разработка решений на платформе 1С.
Подробнее

Понравились вакансии?
❤️ — да
🤔 — нет
🤔152👍1
Светлая или темная тема в IDE?

❤️ — Светлая
👍 — Темная
👍32181👾4🎉3🌚2