LibCode»Блог

LibCode — это библиотека кода и знаний для разработчиков, где каждый найдет полезные ресурсы, уроки и инструменты для создания и совершенствования своих проектов.

MySQL | PHP | Python | C++ | JavaScript

Создано при поддержке GigaChat.

PHP: Магический метод __isset()

В PHP предусмотрены так называемые магические методы, которые автоматически вызываются при выполнении определённых операций. Одним из таких методов является __isset(). Он позволяет перехватывать вызовы функции isset() для проверки существования и доступности свойств объекта.

Что делает метод __isset()?


Метод __isset() вызывается автоматически, когда используется функция isset() для проверки существования свойства объекта. Это позволяет управлять поведением проверки свойств, например, если свойство динамически формируется или вычисляется.

Синтаксис:
ВыделитьСинтаксис: __isset()
public function __isset(string $property): bool

Параметры:
  • $property: Имя проверяемого свойства.

Возвращаемое значение:
  • Булево значение (true или false), указывающее, существует ли свойство и доступно ли оно.

Пример использования


Рассмотрим простой класс с методом __isset():
class DynamicProperties
{
    protected $properties = [];

    public function __set($name, $value)
    {
       
...

PHP: Магический метод __construct()

В PHP предусмотрены так называемые магические методы, которые автоматически вызываются при выполнении определённых операций. Одним из таких методов является __construct(). Он называется конструктором класса и вызывается автоматически при создании объекта.

Что делает метод __construct()?


Метод __construct() используется для инициализации объекта. Обычно в нём устанавливаются начальные значения свойств, создаются необходимые ресурсы или выполняются другие подготовительные действия.

Синтаксис:
ВыделитьСинтаксис: __construct()
public function __construct([$parameter])

Параметры:
  • $parameter: Дополнительные параметры, которые могут передаваться при создании объекта.

Возвращаемое значение:
  • Никакое значение не возвращается.

Пример использования


Рассмотрим простой класс с конструктором:
class Person
{
    public $name;
    public $age;

    public function __construct($name, $age)
    {
        $this->name = $name;
        $this->age = $age;
    }

    public function greet()
 
...

PHP: Функция spl_autoload_register()

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

Что делает spl_autoload_register()?


Функция spl_autoload_register() регистрирует функцию, которая будет вызвана, когда PHP встречает вызов неопределённого класса. Это позволяет автоматически загружать классы из файлов по мере необходимости, без необходимости вручную подключать их через include или require.

Синтаксис:
ВыделитьСинтаксис: spl_autoload_register()
void spl_autoload_register(callable $callback[, bool $throw = true[, bool $prepend = false]])

Параметры:
  • $callback: Имя функции или анонимная функция, которая будет вызываться для загрузки класса.
  • $throw: Если true, генерирует исключение при невозможности зарегистрировать функцию.
  • $prepend: Если true, новая функция добавляется в начало очереди автозагрузки.

Возвращаемое значен...

PHP: Магический метод __call()

В PHP предусмотрены так называемые магические методы, которые автоматически вызываются при выполнении определённых операций. Одним из таких методов является __call(). Он позволяет перехватывать вызовы несуществующих методов класса и обрабатывать их.

Что делает метод __call()?


Метод __call() вызывается автоматически, когда происходит вызов метода, который не объявлен в классе. Это даёт возможность:
  • Управлять поведением при вызове несуществующих методов.
  • Осуществлять делегирование вызовов другим методам или объектам.
  • Контролировать логику обращения к динамическим методам.

Синтаксис:
ВыделитьСинтаксис: __call()
public function __call(string $method, array $arguments): mixed

Параметры:
  • $method: Имя вызываемого метода.
  • $arguments: Массив аргументов, переданных в метод.

Возвращаемое значение:
  • Любое значение, которое требуется вернуть вызывающей стороне.

Пример использования


Рассмотрим простой класс с методом __call(), который перехватывает вызовы несуществующих методов:
class Calculato
...

PHP: Отличия strlen() от mb_strlen()

Функции strlen() и mb_strlen() предназначены для измерения длины строки, но они отличаются подходом к обработке символов и кодировок.

Основные отличия



Функция strlen()
  • Что делает: Возвращает количество байтов в строке.
  • Поддерживаемые кодировки: Однобайтовые кодировки (ASCII, ISO-8859-* и т.д.).
  • Когда использовать: Если работа ведётся с латиницей или символами, которые занимают один байт.

Функция mb_strlen()
  • Что делает: Возвращает количество символов в строке.
  • Поддерживаемые кодировки: Многобайтовые кодировки (UTF-8, UTF-16, Shift_JIS и т.д.).
  • Когда использовать: Если работа ведётся с кириллическими символами, китайскими иероглифами или другими символами, занимающими несколько байт.

Пример разницы


$str_utf8 = "Привет, мир!";

// strlen() возвращает количество байтов
echo strlen($str_utf8); // Вывод: 24 (12 символов × 2 байта на символ в UTF-8)

// mb_strlen() возвращает количество символов
echo mb_strlen($str_utf8, 'UTF-8'); // Вывод: 12 (количество символов)

Когда использовать


  • strl
...