TGViewer
PHP | Вопросы собесов PHP | Вопросы собесов @easy_php_ru · 2.31K subscribers
Post #2448 264
🤔 Какие модификаторы видимости есть в РНР?

В PHP есть три основных модификатора видимости для свойств и методов классов: public, protected и private. Они определяют, какой код имеет доступ к этим свойствам и методам.

🟠`public` (публичный)
Свойства и методы, объявленные как public, доступны отовсюду - как изнутри класса, так и извне, а также из наследуемых классов.
class MyClass {
public $publicProperty = 'Public';

public function publicMethod() {
echo 'This is a public method';
}
}

$obj = new MyClass();
echo $obj->publicProperty; // Выведет: Public
$obj->publicMethod(); // Выведет: This is a public method


🟠`protected` (защищённый)
Свойства и методы, объявленные как protected, доступны только внутри класса и в классах-наследниках. Они недоступны для внешнего кода.
class MyClass {
protected $protectedProperty = 'Protected';

protected function protectedMethod() {
echo 'This is a protected method';
}
}

class ChildClass extends MyClass {
public function accessProtected() {
echo $this->protectedProperty; // Выведет: Protected
$this->protectedMethod(); // Выведет: This is a protected method
}
}

$obj = new ChildClass();
$obj->accessProtected();


🟠`private` (приватный)
Свойства и методы, объявленные как private, доступны только внутри самого класса. Они недоступны ни для внешнего кода, ни для классов-наследников.
class MyClass {
private $privateProperty = 'Private';

private function privateMethod() {
echo 'This is a private method';
}

public function accessPrivate() {
echo $this->privateProperty; // Выведет: Private
$this->privateMethod(); // Выведет: This is a private method
}
}

$obj = new MyClass();
$obj->accessPrivate();


🚩Зачем нужны модификаторы видимости

🟠Инкапсуляция
Модификаторы видимости помогают скрывать внутреннее состояние и детали реализации объекта, предоставляя только необходимые интерфейсы для взаимодействия.
🟠Безопасность
Они защищают данные от неконтролируемого доступа и изменения, что повышает надежность и безопасность кода.
🟠Поддержка и развитие кода
Позволяют контролировать доступ к методам и свойствам, что упрощает изменение и расширение кода без риска нарушить существующую функциональность.

Ставь 👍 и забирай 📚 Базу знаний
  • 👍 1
More from @easy_php_ru
  1. Oct 9, 2026🤔 Как настроить autoload через Composer? Composer предоставляет механизм автоматической з…
  2. Oct 9, 2026🤔 Какое отличие у протоколов tcp и udp? Это два основных транспортных протокола в интерне…
  3. Oct 8, 2026🤔 Есть ли какое-то различие между одинарными и двойными кавычками? - В большинстве языков…
  4. Oct 7, 2026🤔 В каких случаях используют индексы? Индексы в базах данных используются для ускорения о…
  5. Oct 7, 2026🤔 В чем преимущество фасада? Фасад (Facade) в PHP — это паттерн проектирования, который у…
  6. Oct 7, 2026🔥 Скрытые вакансии с удаленной работой для PHP разработчика, которые нигде больше не публ…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →