<MyRusakov.ru />

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

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

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

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

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

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

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

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

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

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

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

Функция __autoload в PHP

Функция __autoload в PHP

Те, кто создаёт достаточно крупные сайты обычно использует ООП. И крайне желательно каждый класс хранить в отдельном файле, однако, из-за этого возникает необходимость подключать большое количество файлов, из-за чего сильно страдает инкапсуляция ООП. Ведь Вам для внедрения нового класса придётся его подключать в другие файлы, а в идеале хотелось бы старые файлы при добавлении новой функциональности не менять. Решить данную проблему поможет относительно новая функция в PHP - __autoload(), о которой мы сегодня и поговорим.

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

Теперь разберём пример. Допустим, у нас есть 2 класса: A и B. И пусть они находятся в файлах "a_class.php" и "b_class.php" соответственно. Если мы напишем в отдельном файле такой код, то у нас возникнет ошибка из-за неопределённых классов:

$a = new A();
$b = new B();

Можно подключить их с помощью require_once, но тогда мы возвращаемся к началу статьи. Чтобы этого не делать, используем функцию __autoload() в PHP:

function __autoload($class_name) {
  require_once $class_name."_class.php";
}
$a = new A();
$b = new B();

Теперь никаких ошибок не происходит и оба объекта будут успешно созданы.

То есть при отсутствии подключённого файла PHP передаёт в функцию __autoload() имя класса. И внутри этой функции уже подключается соответствующий файл. Если же вдруг и там ничего не подключится, тогда уже будет ошибка.

Вот такая полезная функция позволит Вам, с одной стороны, сократить код, с другой стороны, код будет более высокого качества. Но обратите внимание, что функция __autoload() появилась только в PHP 5. К счастью, большинство хостингов давно обладают этой версией PHP. Если вдруг у Вас не так, то напишите им в поддержку с просьбой обновиться, либо смените хостинг.

А если у Вас затрудения по ООП и его использованию при создании сайтов, то рекомендую Вам пройти мой подробный обучающий курс: PHP и MySQL с Нуля до Гуру.

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

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

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

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

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

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

  1. Кнопка:

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

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

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

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

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

RussianPro RussianPro 16.09.2013 15:00:00

Такой прикол опытные программисты используют уже очень давно, а Вы, Михаил, только сейчас о нём узнали!

Ответить

lev_100rus lev_100rus 16.09.2013 17:07:34

Михаил может давно уже о ней знает, но статью написал только сейчас. А вообще да, поздно, уже новая появилась функция set_autoload_register

Ответить

malina95 malina95 17.09.2013 09:41:10

spl_autoload_registerннужноииспользовать а не эту дурацкую функцию которая совершенноббезфункциональная.

Ответить

lev_100rus lev_100rus 17.09.2013 12:37:29

Я это и имел ввиду. Просто опечатался)

Ответить

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