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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Download Telegram
Что такое динамические переменные?

Вы можете передать имя одной переменной в другую, а затем использовать эту переменную “динамически”.

Их следует использовать с большой осторожностью, так как они могут значительно усложнить как чтение, так и поддержку кода (зачастую без запуска кода невозможно понять что в переменной), однако они могут быть очень полезны в абстракциях. Документация.

#вопросы_с_собеседований
6👾1
Источник читабельности

Здесь излагаются правила, следуя которым можно начать писать намного более читабельный и понятный другим людям код
👍3
Синглтоны и как их использовать

В этой статье автор выражает свою негодование по отношению к использованию синглтонов в программировании и обсуждает их недостатки. Вот основные моменты:

Синглтоны как глобальное состояние: Синглтоны, по мнению автора, представляют собой глобальные переменные, что делает их использование проблематичным из-за статической природы. Изменение синглтона может затронуть всю систему, что делает отладку сложной.

Скрытые зависимости: Синглтоны создают скрытые зависимости, так как не всегда ясно, что синглтон используется внутри класса или метода. Это усложняет понимание кода.

Сложности в тестировании: Использование синглтонов усложняет тестирование, так как создается жесткая зависимость от класса, который не может быть легко заменен на мок-объект в тестах.

Автор предлагает альтернативу синглтонам, основанную на принципе Dependency Injection (внедрение зависимостей) и использовании интерфейсов. Это позволяет избежать скрытых зависимостей, упрощает тестирование и делает код более понятным.

Он также отмечает, что синглтоны могут быть оправданы в случаях, когда они являются неизменными или не влияют на поведение системы при их удалении. Примерами таких синглтонов являются логгеры или сервис-локаторы.
5👍2
Безопасные PHP API с проверкой подписи с использованием OpenSSL

Здесь обсуждается важность проверки подлинности запросов в API и прилагается руководство по реализации проверки подписи API с использованием PHP и библиотеки OpenSSL.

Основные этапы процесса проверки подписи API с использованием OpenSSL включают:

1️⃣Генерация пары ключей (открытый и закрытый) для шифрования и дешифрования данных.
2️⃣Загрузка ключей в приложении.
3️⃣Генерация подписи на стороне клиента с использованием закрытого ключа.
4️⃣Проверка подписи на стороне сервера с использованием открытого ключа.
5️⃣Использование SDK для упрощения вызовов API и проверки подписи.

Важно, что эти шаги обеспечивают безопасность обмена данными между клиентом и сервером, предотвращая подделку запросов и обеспечивая их целостность. Этот подход также обеспечивает защиту от несанкционированного доступа.
👍42
#дайджест #phpdevjob

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

PHP-программист в Intelsib
Новосибирск. Поисковое продвижение, контекстная реклама, поисковый аудит.
Подробнее

Backend-разработчик в Itwis
Новосибирск. Разработка информационных бизнес-систем.
Подробнее

PHP-программист в ЛЕКО
Тверь. Разработка крупных интернет-проектов.
Подробнее

Backend-developer в Формула
Москва. Сеть автошкол.
Подробнее

Программист PHP в Intask
Москва. Разработка ПО для электронной торговли.
Подробнее

Понравились вакансии?
👍 — да
👎 — нет
😁10👍31
🦸 9 способов настройки градиента цели для поддержания мотивации

Разбираемся, как настроить себя идти до конца, преодолевая препятствия и лень.

Читать статью

#саморазвитие
🥱8👍2
#хочу_спросить

Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
👍21
Принятие разумной политики поддержки версий PHP

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

Политика поддержки версий PHP для PHP-приложений:

Разработчики PHP-приложений должны определить, как часто они обновляют свои приложения до новых версий PHP в соответствии с жизненным циклом PHP.

Политика может определять, что приложение будет обновлено до новой версии PHP в течение определенного срока после ее выпуска.

Эта политика может быть ужесточена по мере улучшения навыков и способностей команды.

Политика поддержки версий PHP для PHP-пакетов:

Разработчики PHP-пакетов также должны определить, какие версии PHP они поддерживают и как часто добавляют и удаляют поддержку для этих версий.

Поддержка нескольких версий PHP в пакете может упростить обновление PHP-приложений, использующих этот пакет.

Добавление и удаление поддержки версий PHP может требовать разработки и учета изменений в новых версиях PHP.

Статья также обсуждает пользу и сложности, связанные с обновлением PHP-пакетов и приложений, а также воздействие на окружающую среду и пользователей. Автор подчеркивает важность управления ожиданиями и коммитмента к политике поддержки версий PHP для облегчения обновлений и продвижения экосистемы PHP вперед.
👍32
Напишите функцию Фибоначчи.

Числа Фибоначчи – это ряд чисел, в котором каждое следующее число равно сумме двух предыдущих: 1, 1, 2, 3, 5, 8, 13…

Конечно, нужно понимать формулу для того, чтобы заложить ее в код:

Fn = Fn-1 + Fn-2 , n — порядковый номер элемента.
👍13😁41
Руководство по call-site variance

Гайд описывает концепцию "call-site variance" (вариантность на момент вызова) в контексте использования языка PHP с использованием инструмента PHPStan для статической типизации. Он объясняет, как можно управлять вариантностью (ковариантностью и контравариантностью) в интерфейсах и функциях, чтобы обеспечить безопасность типов данных.
👍31
Используете ли Copilot или ChatGPT в работе? Если да, то когда использовали последний раз?
🥱8👍3
Laravel 11: дата выпуска и новые возможности

С нетерпением ждем релиза Laravel 11, запланированного на первый квартал 2024 года. Есть информация о том, что дата релиза будет 6 февраля 2024 года.

Главное изменение в Laravel 11 - это упрощенная структура проекта (skeleton). Будут внесены изменения в конфигурацию, middleware, обработку ошибок в API и многое другое.

Что касается упрощенной структуры проекта, все файлы конфигурации будут иметь аналоги в ядре фреймворка, что позволит более гибко настраивать приложение с использованием переменных окружения.

✔️В middleware будут добавлены новые методы, включая возможность перенаправления с использованием замыканий, а также улучшена обработка запросов, ожидающих JSON.

✔️Artisan команды получат псевдонимы и команду для планирования выполнения замыканий.

✔️Сервис-провайдеры получат новые функции для загрузки дополнительных провайдеров.

✔️Будет введен ApplicationBuilder для упрощения настройки различных функций фреймворка, а также Middleware application builder class для определения новых групп middleware.

✔️Существующие middleware будут обогащены новыми методами для настройки исключений и дополнительных параметров.

Также будут внесены изменения в обработчик исключений и добавлены новые команды для установки дополнительных пакетов.

Общее впечатление - Laravel 11 представляет собой крупное обновление с множеством улучшений и изменений, которые сделают разработку более удобной и производительной.
🥱97👍74🌚1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
💼🖥️ Топ лучших бирж фриланса и платформ для программистов

Где начинающему разработчику найти работу и получить первый коммерческий заказ? В этом могут помочь фриланс-биржи и human-cloud платформы. Но какие именно — расскажем в статье.

📌 Полезные материалы по теме:

🧒 Как найти работу junior-разработчику: 5 самых неочевидных способов
👍 Тесты на собеседовании: как к ним подготовиться и получить оффер
📝 Как правильно составить сопроводительное письмо программисту
🔍 ТОП-12 джоб-сайтов: где программисту разместить резюме и найти работу
🤖 40 сервисов на базе AI, которые помогут найти работу в 2023 году
💼 ТОП-9 не самых очевидных компаний для стажировки в ИТ
🗺️ Как программисту искать (и найти) работу за границей в 2023 году
🔝 Подборка полезных материалов для улучшения профиля на LinkedIn и не только
💾 Список каналов «Библиотеки программиста» с вакансиями

🫶Понравился пост? Проголосуйте за нас, чтобы мы могли публиковать сторис (требуется премиум).
👍4🥱42
State of Laravel 2023

Результаты ежегодного опроса разработчиков, использующих Laravel
👍41
Golang глазами PHP-программиста

Автор статьи рассказывает про свой опыт изучения языка программирования Go (Golang). Он начал интересоваться Go из-за его происхождения от Google, компилируемой природы, активного развития и высоких зарплат разработчиков на этом языке. По его мнению, Go легко изучить, и он быстро освоил базовые концепции языка.

Автор отмечает простоту установки и автоформатирование кода в Go. Он также обсуждает обработку ошибок в Go, отмечая, что язык не использует исключения, но вместо этого функции могут возвращать несколько значений, одно из которых может быть ошибкой.

Автор рассматривает работу с типами данных и массивами в Go, обсуждает особенности объектно-ориентированного программирования в языке, отмечая отсутствие классического наследования, и обсуждает многопоточность в Go. Он также подчеркивает, что Go обладает хорошей производительностью, хотя не всегда быстрее некоторых компилируемых языков, таких как C и C++.

Наконец, автор касается сообщества Go, отмечая, что, несмотря на активное развитие языка, сообщество Go не так обширно, как у некоторых других языков программирования, и что поиск готовых решений и ответов на вопросы может быть сложным. В заключение, автор выражает положительное впечатление от языка, но остается вопрос, будет ли это достаточным для утверждения позиции Go среди наиболее популярных языков программирования.
👍13🥱10🌚21😁1
Расскажите, что такое $_GET и $_POST и в чем их разница?

Вопрос классический и основополагающий, если кандидат не отвечает на него, значит скорее всего это «мимо».

$_GET — это великодушно созданный для нас языком суперглобальный ассоциативный массив, в котором находятся расфасованные GET параметры — то есть те, что передались в адресной строке или URL после знака ?

$_POST — такой же ассоциативный массив, но уже собранный из POST параметров — то есть тех, что передаются в теле запроса.

Вопрос на засыпку: (почему-то многие не отвечают) «а как еще можно получить POST параметры в PHP«?

Ответ: $_POST это форматированное и подготовленное для удобной работы тело запроса, но есть вариант получить тело запроса «как есть» с помощью:
file_get_contents('php://input')

#вопросы_с_собеседований
🥱237👍4