Функция __autoload() в PHP е част от семейството на тези специални методи, наричани още магически. Тази функция не се явява метод на класа. Тя автоматически включва клас в кода, при опит за създаване на обект и това е нейната същност.
test.class.php
Създаваме обект new test, когото присвояваме на инстанция $obj.
Хората с очи на сокол сигурно са забелязали пътя в адресното поле на браузъра. За прегледност и качество на работата всички класове ще държим в каталог classes.
Нека създадем втори клас. Този път по-напудрен и да го наречем employee.class.php.
employee.class.php
Пак смотрим в браузъра. Работи!
Нека допуснем, че нашия проект става все по-умен, все по-сложен. Това на свой ред налага създаване на пореден клас, на пореден обект и така по стълбата на замисъла. На практика класа се оформя в отделен файл, който се добавя в нужното място с конструкции include()/require() или техните производни -once().
В един момент се пръква код, който се нуждае от включване на камара от класове. Цяла планина се изписва в началото на кода от include-и, а това създава дискомфорт, особено ако в бъдеще се измени пътя към класовете поради някаква причина.
И тук на помощ идва функция __autoload(). Тя позволява да се зададе път към директорията с класове и автоматически да зарежда нужния клас при обръщение към неговия обект. Функцията приема само един параметър - името на класа.
autoload.php
Ако се придържаме към кодекса за обявяване имена на класове с главна буква, тогава функция strtolower($classname) на помощ. Тази функция превежда всички символи в долен регистър.
до нови срещи ^.^
0 Response to "Функция __autoload() в PHP"
Публикуване на коментар