@vrazbros

Кто может привести пример реального использования магических методов в php?

Из области применения магических методов покачто понятно только использование __toString() __construct() кто может привести реальный пример из практики использования других магических методов в php ?
  • Вопрос задан
  • 195 просмотров
Пригласить эксперта
Ответы на вопрос 3
alexey-m-ukolov
@alexey-m-ukolov Куратор тега PHP
Почитайте исходники ORM Eloquent, там магии внутри много и почти вся по делу.
Ответ написан
Комментировать
@devian3000
Yii2 Db ActiveRecord магия повсеместна.
Zend Skeleton Application - работает на __invoke

И ещё куча чего использует их предположим такой код.

class Test{

   private $id = 10;

   public function __get( $name ){
         $name = ucfirst($name);
         return call_user_func( [ $this, "get{$name}"] );
   }

    public function getId(){
          return $this->id * 10;
    }

}

$t = new Test();

echo $t->id; // Out 100

Это совсем утрированный пример. Так можно getId сделать protected или private. и внутри метода творить что угодно. а ощущение будет что обращаются к свойству. Ну и т.д. c __isset __unset __set и прочими.

__sleep __wakeup ещё не доводилось на практике использовать, но где-то несомненно могут понадобятся.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы