Библиотека пхпшника | 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
Есть ли разница между self и this в PHP?

Главная разница между $this и self в PHP заключается в том, что $this используется для обращения к методам и свойствам текущего объекта, а self – для обращения к статическим методам, свойствам и константам класса.

Кроме того, $this может быть использован только в контексте текущего объекта, а self – в контексте самого класса и его потомков. Также стоит отметить, что $this является нестатическим контекстом, а self – статическим.

Еще одним отличием между $this и self является различие в их использовании в конструкторе класса. $this используется для присваивания значений свойствам экземпляра, тогда как self можно использовать для определения значений свойств самого класса.

#вопросы_с_собеседований
👍15🥱151
Как оптимизировать производительность PHP в Google Cloud Run

Эта статья об оптимизации производительности API, написанного на PHP 7.4 и Laravel 8.0, развернутого на Cloud Run с использованием контейнерного образа с Nginx и PHP-FPM, а также с базой данных MySQL на Cloud SQL (управляемой базой данных на Google Cloud). Автор статьи предоставляет ряд советов и методов для улучшения времени ответа API и обработки большого количества одновременных пользователей.
👍41🥱1
Интернет из PHP

PHP большой. Тролли могут заявлять о его почти уверенной «смерти» до тех пор, пока рак на горе не свистнет, но факт в том, что в Интернет работает на PHP. Доказательства ошеломляющие.

Здесь эти доказательства и представлены.
17🥱3🌚1
Как относитесь к тестам? Любите ли вы их писать? Или считаете эту работу слишком скучной и бесполезной?⬇️⬇️⬇️
18🥱4🌚2
Шаблон проектирования Интерпретатор в PHP 8

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

Создание простого средства вычисления математических выражений состоит из следующих шагов:

1️⃣Интерфейс выражений (Expression Interface): Этот интерфейс определяет метод interpret, который будет интерпретировать различные виды выражений.

2️⃣Терминальные выражения (Terminal Expressions): Эти выражения представляют основные элементы, возвращающие значения. В данной статье они представлены классом Number, который представляет числа в математических выражениях.

3️⃣Нетерминальные выражения (Non-terminal Expressions): Эти выражения представляют операции и используют терминальные выражения для выполнения своих задач. В данной статье они представлены классами Add и Subtract, которые выполняют соответственно сложение и вычитание.

4️⃣Клиентский код: Здесь создаются объекты для чисел и операций, и они интерпретируются для получения результатов.
🥱42👍2🌚1
🤖📄 ChatGPT: эффективная суммаризация с помощью LLM

В этой статье разберём суммаризацию с помощью LLM на примере обработки отзывов в e-commerce.
👾41👍1
Все способы обработки нулевых значений в PHP

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

✔️Функция is_null(): Эта функция используется для проверки, является ли переменная нулевой (null). Она возвращает true, если переменная равна null, и false в противном случае.

✔️Оператор нулевого объединения (??): Оператор нулевого объединения используется для проверки переменной на null. Он возвращает значение переменной, если оно не является null, и в противном случае возвращает значение второго операнда.

✔️Оператор присваивания, объединяющий нулевые значения (??=): Этот оператор используется для присвоения значения переменной, если она равна null. Он присваивает значение правого операнда левому операнду, если левый операнд равен null.

✔️Нулевой безопасный оператор (?->): Нулевой безопасный оператор используется для безопасного вызова метода или свойства объекта, если объект не равен null. Он возвращает значение метода или null, если объект равен null.

✔️Тернарный оператор: Тернарный оператор может использоваться для проверки переменной на null, но он считается менее читаемым и более длинным в сравнении с оператором нулевого объединения.

✔️Обнуляемые типы: Вы можете объявить параметры функции и типы возвращаемых значений, допускающие null, путем добавления символа ? перед типом. Это позволяет явно указать, что переменная или возвращаемое значение может быть null.

✔️Null как отдельный тип: Начиная с PHP 8.2, можно использовать null как отдельный тип данных. Это означает, что можно объявить переменные, параметры функций и типы возвращаемых значений как null, и они будут принимать только значение null.
15👍5🥱1
Организация кода в Laravel. Личный опыт

В статье автор расскажет, как организовать свой код в проектах, использующих Laravel. Он решил структурировать, с чем удалось познакомиться после перехода в мир фреймворков из мира Битрикс. Статья адресована начинающим разработчикам.
👍63🤔2🥱2
4 способа вызова Python из PHP

Здесь предоставлено несколько способов вызова скрипта Python из PHP, каждый из которых имеет свой собственный подход и область применения:

1. Командная строка (CLI)
2. CURL
3. FETCH (HTML/JavaScript)
4. Сокет

Каждый из этих методов может быть полезным в зависимости от вашей конкретной задачи и требований.
🥱124👍1
🎓💼 ТОП-9 не самых очевидных компаний для стажировки в ИТ

Везде просят опыт работы... Но где его взять? Как раз об этом сейчас и расскажем!

Читать
3👍1
Чем отличаются ключевые слова: include и require?

include и require используются для включения содержимого другого файла в текущий PHP-скрипт.

Основное различие между ними заключается в том, как они обрабатывают ошибки:
include выдаст предупреждение (warning) в случае ошибки и продолжит выполнение скрипта.
require выдаст фатальную ошибку (fatal error) в случае ошибки и остановит выполнение скрипта.

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

#вопросы_с_собеседований
🥱159👍4
Использование EntityRepository Doctrine в качестве службы — плохая идея.

Здесь рассматриваются последствия использования EntityRepository Doctrine в качестве сервиса в проектах Symfony и объясняется, почему это может привести к проблемам. Основное внимание уделяется разнице между использованием EntityRepository и ServiceEntityRepository в Symfony и как это влияет на поведение менеджера Doctrine EntityManager.
👍132
Первый взгляд на MoonShine

Автор статьи, Данил Щуцкий, рассказывает о проекте MoonShine - это панель администрирования, разработанная для использования в проектах на Laravel.

MoonShine - это open-source проект, разрабатываемый совместно с участниками сообщества CutCode. Основная цель проекта - создать административную панель, которая была бы максимально простой для новичков в разработке, но в то же время функциональной и настраиваемой для опытных разработчиков.

Для работы с MoonShine необходимы PHP версии 8.0 и выше, а также Laravel версии 9.0 и выше.

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

Однако также упоминаются дополнительные возможности MoonShine, такие как создание графиков, глобальный поиск с использованием пакета Algolia search for MoonShine, работа с правами доступа через Laravel policy, центр уведомлений, аутентификация через Laravel Socialite, локализация и кастомные поля.
👍10😁31
Атрибут WithoutRelations в Laravel 10.19 предоставляет способ улучшить чистоту кода, особенно при создании событий и задач в очереди. Обычно, чтобы избежать загрузки лишних данных из базы данных, разработчики использовали метод withoutRelations() для каждой связи внутри конструктора класса. Теперь с помощью атрибута WithoutRelations можно значительно упростить этот процесс.

Использование WithoutRelations помогает избежать лишней нагрузки на базу данных и повышает производительность кода, особенно в событиях и задачах, поставленных в очередь. Этот атрибут может быть применен к любому свойству класса, использующему SerializesModels, таким как Events или Jobs.
7
#дайджест #phpdevjob

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

PHP-разработчик в Amex Development
Москва. Создание современного ПО.
Подробнее

Стажер-разработчик PHP в Samokat.tech
Москва. Заказы в сфере e-grocery.
Подробнее

Разработчик PHP в Лин Айти
Москва. Построение ИТ-структур.
Подробнее

Backend Developer PHP в ТолкФинанс
Москва. Разработка площадок и ПО.
Подробнее

PHP-разработчик в Maxmoll
Москва. Федеральная сеть по продаже инновационной электроники.
Подробнее

Понравились вакансии?
👍 — да
👎 — нет
👍62
Как развернуть проект Symfony в продакшн

Статья предоставляет инструкции по развертыванию приложения Symfony на двух различных облачных платформах: DigitalOcean и Amazon Web Services (AWS).

В случае DigitalOcean, статья описывает шаги, необходимые для создания сервера и настройки его окружения для развертывания Symfony-приложения.

В случае AWS, статья объясняет, как настроить виртуальную машину (EC2-инстанс), базу данных и другие необходимые компоненты для развертывания Symfony-приложения.
👍62