Вихід PHP 8.4 заплановано на завтра, і однією з цікавих новинок є асиметрична видимість властивостей. У PHP 8.4 властивості можуть мати асиметричний рівень видимості, що дозволяє визначати різний доступ для читання та запису. Приклад із документації:
class Book
{
public function __construct(
public private(set) string $title,
public protected(set) string $author,
protected private(set) int $pubYear,
) {}
}
class SpecialBook extends Book
{
public function update(string $author, int $year): void
{
$this->author = $author; // OK
$this->pubYear = $year; // Fatal Error
}
}
$b = new Book('How to PHP', 'Peter H. Peterson', 2024);
echo $b->title; // How to PHP
echo $b->author; // Peter H. Peterson
echo $b->pubYear; // Fatal Error
Пропонуючи публічний доступ до властивості, але забороняючи її (set) доступ публічно, ви можете помітити, що $title та $author доступні для загального користування. Проте з властивостями можна мати детальніший контроль щодо їхніх установлених значень (за допомогою protected або private). Для властивостей класу обов’язковим є задання типу, щоб встановити окрему видимість, а set повинен бути таким самим або більш строгим, ніж get.
Слідкуйте за нашим постом про PHP 8.4, щоб отримувати оновлення про вихід версії PHP 8.4 21 листопада!
Чи стикалися ви з помилкою «SQLSTATE[HY000] [2002] Connection refused» під час налаштування GitHub Actions для вашого додатку на Laravel? У нашій статті ми розглянемо три поширені причини цієї помилки та надамо рішення для їх усунення. Читайте далі, щоб дізнатися, як ваш CI/CD потік може працювати бездоганно!
Досліджуйте нові можливості локалізації вашого Laravel-додатку з пакунками, які використовують штучний інтелект, такими як ChatGPT та Claude. Які рішення можуть спростити ваш процес перекладу та зробити його більш точним? Читайте далі, щоб дізнатися більше!
Ви хочете навчитися, як інтегрувати Google OAuth у вашому проекті Laravel, використовуючи Socialite? Дізнайтеся, як налаштувати доступ до сервісів Google, таких як Календар, у нашій сьогоднішній статті