Никогда не используйте функцию empty в PHP
Статья рассказывает о том, что использование функции empty в PHP может привести к непредвиденным результатам. Автор статьи предлагает использовать другие методы для проверки значений переменных.
👉 @web_craft | #php
Статья рассказывает о том, что использование функции empty в PHP может привести к непредвиденным результатам. Автор статьи предлагает использовать другие методы для проверки значений переменных.
👉 @web_craft | #php
Анонимные функции
На собеседовании по PHP нередко затрагивают тему про анонимные функции. Давайте разберемся, что мы точно должны знать.
- Что такое анонимная функция?
Это функция без имени. Она определяется с помощью ключевого слова
Пример:
-Где используются анонимные функции?
В переменных:
В качестве аргументов:
В качестве обратных вызовов:
- В чем заключаются преимущества анонимных функций?
Компактность: Не нужно придумывать имена.
Гибкость:Легко встраиваются в код.
Многогранность: Могут быть переменными, аргументами или возвращаемыми значениями.
👉 @web_craft | #php
На собеседовании по PHP нередко затрагивают тему про анонимные функции. Давайте разберемся, что мы точно должны знать.
- Что такое анонимная функция?
Это функция без имени. Она определяется с помощью ключевого слова
function
, за которым следуют параметры и тело функции.Пример:
$sum = function($a, $b) {
return $a + $b;
};
echo $sum(2, 3); // 5
-Где используются анонимные функции?
В переменных:
$filter = function($item) {
return $item > 10;
};
$filtered = array_filter([1, 2, 3, 12, 20], $filter);
print_r($filtered); // [12, 20]
В качестве аргументов:
function apply($func, $value) {
return $func($value);
}
echo apply($sum, 5); // 5
В качестве обратных вызовов:
usort($items, function($a, $b) {
return $a['name'] <=> $b['name'];
});
- В чем заключаются преимущества анонимных функций?
Компактность: Не нужно придумывать имена.
Гибкость:Легко встраиваются в код.
Многогранность: Могут быть переменными, аргументами или возвращаемыми значениями.
👉 @web_craft | #php
Какая функция точнее при проверке звучания строк PHP?
Какая функция PHP более точная:
👉 @web_craft | #php
Какая функция PHP более точная:
soundex()
или metaphone()
?👉 @web_craft | #php
Начало работы с асинхронным PHP с использованием ReactPHP
Статья рассказывает о том, как использовать ReactPHP для создания асинхронных приложений на PHP.
ReactPHP - это библиотека, которая позволяет превратить PHP в нечто подобное Go или Node.js, чтобы задачи могли выполняться асинхронно.
👉 @web_craft | #php
Статья рассказывает о том, как использовать ReactPHP для создания асинхронных приложений на PHP.
ReactPHP - это библиотека, которая позволяет превратить PHP в нечто подобное Go или Node.js, чтобы задачи могли выполняться асинхронно.
👉 @web_craft | #php
Реализация маршрутизации с использованием атрибутов PHP
Статья рассматривает реализацию маршрутизации с использованием атрибутов PHP. Она поможет вам понять, как настроить маршрутизацию в вашем PHP-приложении, чтобы обеспечить более чистые и SEO-дружественные URL-адреса для пользователей.
👉 @web_craft | #php
Статья рассматривает реализацию маршрутизации с использованием атрибутов PHP. Она поможет вам понять, как настроить маршрутизацию в вашем PHP-приложении, чтобы обеспечить более чистые и SEO-дружественные URL-адреса для пользователей.
👉 @web_craft | #php
Автоматизация загрузки классов
Как работает
Функция регистрирует автозагрузчики, вызываемые при попытке загрузки класса, который еще не определен в скрипте. При вызове
Пример использования:
👉 @web_craft | #php
spl_autoload_register()
- это функция в PHP, которая используется для регистрации пользовательского автозагрузчика классов. Он позволяет загружать классы по мере их использования, что делает код более организованным и облегчает его поддержку.Как работает
spl_autoload_register()
:Функция регистрирует автозагрузчики, вызываемые при попытке загрузки класса, который еще не определен в скрипте. При вызове
spl_autoload_register()
PHP автоматически передает имя неопределенного класса в зарегистрированные функции автозагрузки, обеспечивая автоматическое подключение классов без ручного включения файлов с их определением.Пример использования:
function myAutoloader($className) {
$className = str_replace('\\', DIRECTORY_SEPARATOR, $className);
$fileName = $className . '.php';
if (file_exists($fileName)) {
require_once $fileName;
}
}
spl_autoload_register('myAutoloader');
$object = new My\Namespace\MyClass();
👉 @web_craft | #php
Управление асинхронной обработкой сигналов в PHP
Как работает:
Пример:
В этом примере сигнал
👉 @web_craft | #php
pcntl_async_signals
- это функция PHP, предназначенная для управления асинхронной обработкой сигналов в PHP-скриптах. Как работает:
pcntl_async_signals(true)
позволяет включить асинхронную обработку сигналов. После её активации все сигналы, на которые установлены обработчики с помощью pcntl_signal()
, будут автоматически обрабатываться без необходимости вызывать pcntl_signal_dispatch()
. Так как сигналы обрабатываются сразу же при их поступлении, без задержек.Пример:
<?php
pcntl_async_signals(true); // Включаем асинхронную обработку сигналов
pcntl_signal(SIGINT, function($signal) {
echo "Получен сигнал SIGINT!\n";
exit();
});
while (true) {
echo "Работает...\n";
sleep(1);
}
В этом примере сигнал
SIGINT (Ctrl+C)
будет обрабатываться асинхронно, вызывая функцию обратного вызова, которая выводит сообщение и завершает работу скрипта.👉 @web_craft | #php
Механизм загрузки классов в PHP
Какой механизм используется для загрузки классов с помощью функции
Если забыли, то в посте от29.04.2024 мы разбирали этот функционал.
👉 @web_craft | #php
Какой механизм используется для загрузки классов с помощью функции
spl_autoload_register()
?Если забыли, то в посте от
👉 @web_craft | #php
Асинхронная обработка сигналов в PHP
Функция
Как работает:
Пример использования:
👉 @web_craft | #php
Функция
pcntl_async_signals
в PHP используется для управления асинхронной обработкой сигналов в процессе. Как работает:
pcntl_async_signals(true)
позволяет скрипту прерываться и немедленно обрабатывать сигналы, когда они поступают, независимо от того, в какой точке выполнения находится скрипт.Пример использования:
// Включить асинхронную обработку
pcntl_async_signals(true);
function my_signal_handler($signo) {
echo "Сигнал $signo получен!\n";
}
// Назначить обработчик сигнала SIGUSR1
pcntl_signal(SIGUSR1, 'my_signal_handler');
// Сгенерировать сигнал SIGUSR1
pcntl_kill(getmypid(), SIGUSR1);
// ... остальная часть кода ...
👉 @web_craft | #php
Финализация классов
В статье говорится об автоматизации процесса финализации классов в PHP. В ней обсуждаются преимущества финализации классов для статического анализа и правил Rector. В статье также подробно описан инструмент под названием Swiss Knife, который можно использовать для безопасной финализации классов в проекте.
👉 @web_craft | #php
В статье говорится об автоматизации процесса финализации классов в PHP. В ней обсуждаются преимущества финализации классов для статического анализа и правил Rector. В статье также подробно описан инструмент под названием Swiss Knife, который можно использовать для безопасной финализации классов в проекте.
👉 @web_craft | #php