employee.php
class employee {
public function hello1() {
return 'Hello, world1';
}
}
employee2.php
class employee2 {
public function hello2() {
return 'Hello, world2';
}
}
employee3.php
class employee3 {
public function hello3() {
return 'Hello, world3';
}
}
Файл, в котором подключаем классы:
main.php
function __autoload($employee) {
require_once 'classes/employee.php';
require_once 'classes/employee2.php';
require_once 'classes/employee3.php';
}
$emp=new employee();
$emp2=new employee2();
$emp3=new employee3();
echo $emp2->hello2();
Так всё работает и выводит верно: "Hello, world2", но не могу понять как изменить код, чтобы класс 'employee2' загружался автоматически? заранее благодарю
Спустя 11 минут, 32 секунды (24.08.2011 - 20:54) neadekvat написал(а):
function __autoload($employee) {
require_once 'classes/'. $employee .'.php';
}
Спустя 24 минуты, 14 секунд (24.08.2011 - 21:18) l@pteff написал(а):
neadekvat, спасибо все работает, но остается вопрос: а в чем смысл параметра функции __autoload(), ведь имя класса, указываемое в нем, должно совпадать с именем класса в include(require)?
Спустя 14 минут, 13 секунд (24.08.2011 - 21:32) neadekvat написал(а):
l@pteff, не понял вопроса.
Аргумент нужен, чтобы ты мог им оперировать. Код __autoload не всегда заключается только в include, там может быть бесконечно много разнообразных условий, проверок и пр.
Аргумент нужен, чтобы ты мог им оперировать. Код __autoload не всегда заключается только в include, там может быть бесконечно много разнообразных условий, проверок и пр.
Спустя 18 минут, 32 секунды (24.08.2011 - 21:51) l@pteff написал(а):
Цитата |
Код __autoload не всегда заключается только в include, там может быть бесконечно много разнообразных условий, проверок и пр. |
Всё ясно, спс