<MyRusakov.ru />

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Видеокурс "Фреймворк Yii 2.0 с нуля. Пример создания сайта" обучит Вас созданию профессиональных сайтов с использованием фреймворка Yii. В курсе есть 2 раздела: теоретический и практический. В теоретическом разделе будут разобраны возможности фреймворка Yii с примерами их использования, а в практической части будет создан сайт Blog.MyRusakov.ru с помощью полученных знаний из теоретического раздела.

Так же почти ко всем урокам идут упражнения для закрепления материала из урока на практике.

После прохождения курса Вы без труда сможете создавать любые сайты с использованием фреймворка Yii, причём делать это будете быстро и качественно.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Магические методы в PHP

Магические методы в PHP

Здравствуйте! В этой статье я расскажу Вам о магических методах в PHP. Они позволяют программисту получить больший контроль над кодом, который будет исполняться, или же добавляют так называемый "синтаксический сахар", вследствие чего код можно писать яснее и чище.

Магические методы в PHP – это методы, которые начинаются с двойного подчеркивания, поэтому, согласно официальной документации по языку PHP, будьте бдительны, если намереваетесь использовать двойное подчеркивание, так как интерпретатор языка оставляет за собой право все методы, начинающиеся с двойного подчеркивания считать "магическими".

Итак, вот список этих методов:

  1. __construct, __destruct
  2. __call, __callStatic
  3. __get, __set
  4. __sleep, __wakeup
  5. __toString
  6. __invoke

Теперь подробнее о каждом методе.

__construct, __destruct

Эти методы вызываются автоматически при создании и уничтожении объекта. Метод __construct вызывается при создании объекта некоторого класса, а метод __destruct – при уничтожении этого объект. Метод __destruct в PHP используется редко, ввиду небольшого срока жизни скрипта.

__call, __callStatic

Эти два метода используются для одного и того же – для вызова методов, которые не созданы программистом в классе явно. Метод __call применяется для вызова несуществующих методов в контексте объекта, т.е. для вызова методов объекта. Метод __callStatic применяется для вызова методов в контексте класса, т.е. для вызова статических методов. Оба метода принимают в качестве параметров два аргумента: первый - $name – имя фиктивного метода, которое является регистрозависимым, т.е. $obj->method() и $obj -> Method() – будут разные методы, второй $arguments – массив аргументов метода:

<?php

  class MyClass  {
    public function __call($name, $arguments) {
      echo "Вызван метод '$name'  со следующими аргументами " . implode(', ', $arguments) . PHP_EOL;
    }
    public static function __callStatic($name, $arguments) {
      echo "Вызван статический метод '$name'  со следующими аргументами " . implode(', ', $arguments)  . PHP_EOL;
    } 
  }
  
  $obj = new MyClass;
  $obj -> objMethod("метод объекта");
  MyClass::objMethod("метод класса");
  
?>

__get, __set

Эти магические методы выполняют функцию установки и получения значения поля класса, которого не существует, т.е. с помощью них происходит обращение к несуществующим свойствам объекта. Пример:

<?php
  
  class MyClass
  {
    // внутреннее хранилище
    private $storage;
    
    
    public function __get($name) 
    {
      return $storage[$name];
    }
    
    public function __set($name, $value) 
    {
      $storage[$name] = $value;
    }
    
  }
  
  $obj = new MyClass;
  $obj -> name = "Супер-класс";
  print $obj -> name; 

?>

__sleep, __wakeup

Применяются при сериализации объекта. Не буду останавливаться на этом, так как на сайте уже есть подробная статья об этих методах.

__toString

Этот метод Вы можете использовать тогда, когда хотите, чтобы объект мог быть свободно преобразован в строку. Обратите внимание, что метод обязательно должен возвращать строку, иначе интерпретатор выдаст ошибку. Пример:

<?php
  
  class MyClass
  {
    
    public function __toString() {
      return "Это мой класс";
    }
    
  }
  
  $obj = new MyClass;
  print $obj;

?>

__invoke

Этот метод используется для того, чтобы вызвать объект класса как функцию. Пример:

<?php
  
  class MyClass
  {
    
    public function __invoke($arg) {
      print $arg;
    }
    
  }
  
  $obj = new MyClass;
  // вызывается метод __invoke
  print $obj("Обращение к объекту как к функции");

?>

Таким вот образом, теперь Вы знаете, что магические методы PHP могут использоваться там, где нужна функциональность, которую неудобно реализовывать стандартными средствами. А как Вы будете использовать их зависит только от Ваших потребностей .

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.