Как получить список всех свойств объекта
В PHP можно получить список всех свойств объекта с помощью функции
Пример использования функции
Этот код выведет следующий результат:
Функция
👉 @PHPgx | #заметки
В PHP можно получить список всех свойств объекта с помощью функции
get_object_vars(). Эта функция возвращает массив, в котором ключами являются имена свойств, а значениями - их значения.Пример использования функции
get_object_vars():$object = new stdClass();
$object->name = "John Doe";
$object->age = 30;
$properties = get_object_vars($object);
print_r($properties);
Этот код выведет следующий результат:
Array
(
[name] => John Doe
[age] => 30
)
Функция
get_object_vars() может быть полезна, если вам нужно получить список всех свойств объекта. Например, вы можете использовать ее для создания списка всех элементов управления на форме или всех параметров в массиве.Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤1
Null-safe оператор PHP
До появления
Оператор позволяет избежать этой ошибки, позволяя безопасно обращаться к свойствам и методам объектов, которые могут быть равными
Примеры:
👉 @PHPgx | #заметки
null-safe оператор ?-> позволяет безопасно обращаться к свойствам и методам объектов, которые могут быть равными null.До появления
null-safe оператора, доступ к свойству или методу объекта, который может быть равным null, мог привести к ошибке NullPointerException.Оператор позволяет избежать этой ошибки, позволяя безопасно обращаться к свойствам и методам объектов, которые могут быть равными
null, без необходимости использования оператора isset().Примеры:
$user = User::findOrFail(1);
$name = $user?->name; // вернет имя пользователя, если $user не равен null
$age = $user?->getAge(); // вернет возраст пользователя, если $user не равен null
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤1
Docker-php
Готовые к использованию образы Docker для PHP
👉 https://github.com/serversideup/docker-php
👉 @PHPgx | #ресурсы
Готовые к использованию образы Docker для PHP
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - serversideup/docker-php: 🐳 Production-ready Docker images for PHP. Optimized for Laravel, WordPress, and more!
🐳 Production-ready Docker images for PHP. Optimized for Laravel, WordPress, and more! - serversideup/docker-php
👍9
Используйте Model Broadcast для обновлений в реальном времени
Model broadcasting в Laravel позволяет получать обновления в реальном времени при создании, обновлении или удалении моделей Eloquent. Это идеально подходит для живых дашбордов или уведомлений.
Включите broadcasting в вашей модели:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
regexpbuilderphp
Интегрирует регулярные выражения в язык программирования, тем самым упрощая их чтение и поддержку. Регулярные выражения создаются с использованием связанных методов и переменных, таких как массивы или строки
👉 https://github.com/gherkins/regexpbuilderphp
👉 @PHPgx | #ресурсы
Интегрирует регулярные выражения в язык программирования, тем самым упрощая их чтение и поддержку. Регулярные выражения создаются с использованием связанных методов и переменных, таких как массивы или строки
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - gherkins/regexpbuilderphp: 🦉 human-readable regular expressions
🦉 human-readable regular expressions. Contribute to gherkins/regexpbuilderphp development by creating an account on GitHub.
👍3🤔3
Что происходит, когда вы вводите URL-адрес в браузере?
Довольно простой вопрос, который могут спросить в ходе собеса
1️⃣ Пользователь вводит URL:
🔹 Браузер ищет IP-адрес в нескольких уровнях кеша (браузера, ОС, локальном и у провайдера).
🔹 Если IP-адрес не найден, запрос отправляется к DNS-резолверу.
2️⃣ Браузер устанавливает TCP-соединение с сервером по протоколу HTTP или HTTPS.
3️⃣ Браузер отправляет HTTP-запрос (GET/POST/...) на сервер для получения данных.
4️⃣ Сервер отправляет HTTP-ответ с нужными данными (HTML, CSS, JS и т. д.), браузер обрабатывает и отображает страницу пользователю.
👉 Источник
👉 @PHPgx
Довольно простой вопрос, который могут спросить в ходе собеса
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10👀4🌭1
Это позволяет закэшировать всю директорию vendor при первом запуске и автоматически обновить кэш в случае изменения файла composer.lock, что экономит время сборки.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤2
Нужно обновить много моделей на основе сложных условий?
Комбинируйте эти методы Eloquent для ускорения работы в 10–100 раз:
select() → извлекайте только IDchunkById() → используйте пакетную обработку для разделения больших объемов данныхtoQuery() → выполняйте обновление моделей напрямуюPlease open Telegram to view this post
VIEW IN TELEGRAM
👍7
Пример HTTP-сервера на PHP с использованием файберов
Сервер обрабатывает каждый HTTP-запрос в отдельном файбере, что обеспечивает высокую производительность без привлечения потоков или процессов.
Для развёртывания используется Docker Compose, а код доступен в открытом репозитории
👉 Читать
➡️ @PHPgx | #cтатья
Сервер обрабатывает каждый HTTP-запрос в отдельном файбере, что обеспечивает высокую производительность без привлечения потоков или процессов.
Для развёртывания используется Docker Compose, а код доступен в открытом репозитории
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
CPX
Это как npx но для PHP. Этот инструмент позволяет выполнить любую команду из любого пакета Composer, даже если он не установлен в вашем проекте.
👉 @PHPgx | #ресурсы
Это как npx но для PHP. Этот инструмент позволяет выполнить любую команду из любого пакета Composer, даже если он не установлен в вашем проекте.
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - laravel/cpx: Run any command from any composer package, even if it's not installed in your project.
Run any command from any composer package, even if it's not installed in your project. - laravel/cpx
👍6
Используйте метод построителя запросов orWhere() в Eloquent с осторожностью, чтобы избежать некорректной фильтрации данных.
Первый пример вернет любой курс, если в столбце "content" содержится ключевое слово, игнорируя предыдущие условия where!
Второй пример с вложенными условиями исправляет эту проблему.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤1👀1
Loupe
Полнотекстовая поисковая система с токенизацией, стеммингом, устойчивостью к опечаткам, фильтрами и географической поддержкой, основанная на чистом PHP и SQLite.
👉 @PHPgx | #ресурсы
Полнотекстовая поисковая система с токенизацией, стеммингом, устойчивостью к опечаткам, фильтрами и географической поддержкой, основанная на чистом PHP и SQLite.
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - loupe-php/loupe: A full text search engine with tokenization, stemming, typo tolerance, filters and geo support based…
A full text search engine with tokenization, stemming, typo tolerance, filters and geo support based on only PHP and SQLite. - loupe-php/loupe
👍3🔥2
Это может помочь вам обнаружить нестабильные тесты или потенциальные ошибки, так как вы можете ожидать, что данное поле всегда будет заполнено в вашем приложении.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4