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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Download Telegram
Может ли абстрактный класс содержать частный(private) метод?

Да, в абстрактном классе можно иметь частный конкретный метод.

Этот частный метод будет отображаться ТОЛЬКО этому абстрактному классу. Это означает, что он должен будет использоваться каким-либо другим конкретным методом в абстрактном классе.

Дочерние классы не смогут вызвать его напрямую.

#вопросы_с_собеседований
👍142🥰2
Введение в Swoole (и асинхронный PHP)

Статья обсуждает опыт перехода от синхронного PHP к использованию Swoole — библиотеки, которая позволяет внедрить асинхронные и параллельные возможности программирования в PHP. Она представляет собой повествование в виде диалога, иллюстрируя плюсы и минусы работы с Swoole через серию «хороших» и «плохих» сценариев.
🔥12
Орбита: self-hosted блог с подписками

Автор представляет пет-проект под названием «Орбита» — это платформа для публикации контента с возможностью монетизации. В отличие от аналогичных сервисов, «Орбита» предоставляет полный контроль над функционалом, так как работает на собственном сервере и является Open Source проектом.

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

«Орбита» также предоставляет возможность интеграции с различными платежными системами, создание статических страниц, управление контентом и пользователями через административный интерфейс, а также реализует функции реакций, комментариев и email-уведомлений. Важным аспектом является наличие темного режима.

Проект разработан с использованием Docker, фронтенд написан на Vue 3 (Nuxt), а бэкенд на PHP 8.1 (Slim, Eloquent и Phinx). Планируется дальнейшее развитие проекта, включая улучшение функционала и поиск реальных проектов для его применения.
🥱5👍2
Запуск блога Wordpress вместе с приложением Laravel

Здесь показана интеграция блога WordPress в существующее приложение Laravel для различных экспериментов, таких как микро-проекты SaaS или сайты, сосредоточенные на SEO. Автор описывает несколько соображений и вариантов для внедрения блога, включая создание пользовательского решения, использование Statamic или интеграцию WordPress.

В конечном итоге автор выбирает использование WordPress наряду с Laravel, несмотря на некоторые проблемы с маршрутизацией и интеграцией. Он предлагает решение, в котором WordPress выступает в качестве CMS без головы, с его данными, которые извлекаются в приложение Laravel. Настройка включает установку WordPress в отдельный каталог и настройку его для совместного использования той же базы данных, что и приложение Laravel.

Для пользователей PostgreSQL в статье также предоставляются инструкции по интеграции WordPress с PostgreSQL вместо MySQL. Кроме того, обсуждается настройка переменных среды для конфигурации WordPress, обеспечивая гибкость и безопасность.
🌚10👍6🤔1
#хочу_спросить

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

Однофайловый бинарник с нулевыми зависимостями, включающий Composer и другие инструменты PHP. Он вдохновлен rustup и позволяет устанавливать PHP для каждого проекта на основе вашего composer.json.
👍14😁41
Самые полезные каналы для программистов в одной подборке!

Сохраняйте себе, чтобы не потерять 💾

🔥Для всех

Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы

🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion

#️⃣C#

Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel

☁️DevOps

Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования

🐘PHP

Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты

🐍Python

Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты

Java

Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков

👾Data Science

Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту

🦫Go

Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go

🧠C++

Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++

💻Другие каналы

Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности

📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈

Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT

Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *

* Организация Meta запрещена на территории РФ
👍4🥱2
Потребление всех транспортов в Symfony 6.4

В Symfony до версии 7.1 опция --all для команды messenger:consume была недоступна. В более ранних версиях необходимо было явно передавать список транспортов в выполняемую команду. Однако, если вам нужна эта функция, ее можно легко перенести на версию 6.4.
👍2
PHP: 8 уровней логов

Большинство фреймворков и пакетов следуют стандарту PSR-3, который описывает, как работает система ведения логов. Это интерфейс, на который вы должны опираться при отправке логов в систему. В PHP чаще всего используют имплементацию Monolog, как очень гибкий и простой в понимании.

Реализация PSR-3 описывает 8 уровней логов. В порядке убывания «строгости»: Emergency, Alert, Critical, Error, Warning, Notice, Info и Debug. Попытка решить, какой из них выбрать, иногда сбивает с толку. Здесь рассказывается об этом подробно.
👍5
💬 Удается ли вам отдыхать вне работы?

👍 — да, почти всегда
🙏 — да, иногда
🤔 — нет, всегда работа в голове
🥱 — какой отдых? Я же айтишник

#холивар
🥱62👍47🙏32🤔132
Flexhub — хранилище приватных рецептов symfony/flex

Self-hosted решение для управления приватными рецептами symfony/flex. Flex-рецепты позволяют автоматизировать установку и конфигурацию Symfony-бандлов.

Приложение создано с использованием PHP 8.2 + Symfony 6.4 и TypeScript + Vue 3.
Поставляется в виде Docker-образа, который упращает развертывание сервера рецептов в своей инфраструктуре.
👍3
Еще один #дайджест новостей по PHP за неделю:

🔎Сборки NativePHP для Windows уже здесь — Была объявлена поддержка NativePHP для Windows, а это значит, что теперь вы можете создавать приложения для платформы Windows.

🔎Выпущен Symfony 7.1.0-BETA1 — Только что состоялся релиз Symfony 7.1.0-BETA1. Вот список наиболее важных изменений с версии 7.0.

🔎Выпущен CakePHP 5.0.8 — Улучшения включают: Улучшена совместимость с искателями 4.x. Журналы ошибок, возникающих при откате в WebExceptionRenderer, теперь включают трассировку стека, что упрощает отладку + многое другое.

🔎Выпущены PHP 8.3.7 и PHP 8.2.19!

🔎Rule::array() и whereJsonOverlaps() для MySQL в Laravel 11.7 — На этой неделе команда Laravel выпустила версию 11.7, в которой появились метод валидации Rule::array(), метод whereJsonOverlaps() для MySQL, провайдер Slack OpenID для Laravel Socialite и многое другое.

🔎Неделя Symfony #906 (6-12 мая 2024 г.)
👍3🎉1
Автоматизация Laravel CI/CD с помощью GitHub Actions на Namecheap

Здесь рассматривается автоматизация процессов непрерывной интеграции и развертывания (CI/CD) для приложений на Laravel с использованием GitHub Actions на платформе Namecheap.
❤‍🔥5🤔2
php-vips

Очень быстрый пакет для работы с изображениями, который в ~5 раз быстрее Imagick или GD и потребляет меньше памяти. Это хороший пример FFI.
👍231
Какова разница между веб-маршрутами и API-маршрутами в Laravel?

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

Веб-маршруты:

✔️Веб-маршруты в Laravel в основном используются для обслуживания HTML-представлений и обработки веб-запросов от браузеров.
✔️Они отвечают за отображение веб-страниц, обработку отправленных форм и управление сеансами.
✔️Веб-маршруты определяются по умолчанию в файле routes/web.php.
✔️Они часто включают взаимодействие с пользовательским интерфейсом, такое как отображение форм, представлений и обработка аутентификации пользователей.

API-маршруты:

✔️API-маршруты, напротив, предназначены для обработки запросов и ответов для точек входа API.
✔️Они обычно используются для создания RESTful API или предоставления данных для мобильных приложений, одностраничных приложений (SPA) или других служб.
✔️API-маршруты определяются по умолчанию в файле routes/api.php.
✔️Они обычно возвращают данные в формате JSON или XML, а не отображают HTML-представления.
✔️API-маршруты часто включают операции CRUD (Create, Read, Update, Delete) с ресурсами, такие как извлечение данных из базы данных, создание новых записей, обновление существующих записей или удаление записей.

Таким образом, веб-маршруты используются для обслуживания веб-страниц и обработки запросов браузера, в то время как API-маршруты используются для предоставления данных и взаимодействия с приложениями или службами программным способом.

#вопросы_с_собеседований
👍12🥱10🌚2
Оптимизируйте свои запросы Eloquent с помощью ИИ

Пакет Laravel Slower предоставляет команды для анализа и очистки старых записей в зависимости от конфигурации планировщика приложения. Рекомендации, созданные с помощью команды slower:analyze, сохраняются в таблице базы данных, созданной этим пакетом, и могут быть просмотрены после завершения анализа ИИ.

Основные особенности пакета включают:

- Настройку порога медленности запросов.
- Использование конфигурируемых моделей ИИ, таких как GPT-4, для анализа.
- Возможность отключения анализа медленных запросов.
- Настройку подсказок для ИИ.

В качестве примера в статье, пакет может предложить добавление комбинированного (составного) индекса на столбцы product_id, price и discount_total для ускорения выполнения запроса
🥱6👏1
📣 Используйте through вместо map в Laravel, когда используете пагинацию. Когда вы хотите отобразить данные из пагинации и вернуть только подмножество полей, используйте through вместо map.
map разрушает объект пагинации и изменяет его идентификатор. В то время как through работает с самими пагинационными данными.
👏17👍73👾1