Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.07.2011, 18:39   #1
romantik2011
Пользователь
 
Регистрация: 20.07.2011
Сообщений: 70
По умолчанию Использование магической функции __autoload()

Прочитал здесь: http://phpclub.ru/faq/PHP5/Autoload
что в PHP5 перед тем как создать объект несуществующего класса, идёт попытка вызова __autoload(), который должен попытаться подключить такой класс, которого на самом деле нету.

Вот в одной директории, у меня лежит 3 файла:
index.php
PHP код:
<?php
function __autoload($name){
include  
$name.".class.php";
echo 
"Ищем класс $name";
}

$ob1 = new A();
$ob1->son();
$ob2 = new B();
$ob2->fanta();

?>
A.class.php
PHP код:
<?php

class A{
  public function 
son(){
      echo 
"<br />Вызвана функция <u>Сон</u>, класса <u>А</u>";
  }
}

?>
B.class.php
PHP код:
<?php

class A{
  public function 
fanta(){
      echo 
"<br />Вызвана функция <u>Fanta</u>, класса <u>B</u>";
  }
}

?>
Класс А находит, а класс В нет, как быть?
romantik2011 вне форума Ответить с цитированием
Старый 29.07.2011, 19:30   #2
TranceSmile
Смайлик :)
Форумчанин
 
Аватар для TranceSmile
 
Регистрация: 12.12.2010
Сообщений: 445
По умолчанию

Цитата:
Сообщение от romantik2011 Посмотреть сообщение
Прочитал здесь: http://phpclub.ru/faq/PHP5/Autoload
что в PHP5 перед тем как создать объект несуществующего класса, идёт попытка вызова __autoload(), который должен попытаться подключить такой класс, которого на самом деле нету.

Вот в одной директории, у меня лежит 3 файла:
index.php
PHP код:
<?php
function __autoload($name){
include  
$name.".class.php";
echo 
"Ищем класс $name";
}

$ob1 = new A();
$ob1->son();
$ob2 = new B();
$ob2->fanta();

?>
A.class.php
PHP код:
<?php

class A{
  public function 
son(){
      echo 
"<br />Вызвана функция <u>Сон</u>, класса <u>А</u>";
  }
}

?>
Вот вы тут дублируете класс А
B.class.php
PHP код:
<?php

class A{
  public function 
fanta(){
      echo 
"<br />Вызвана функция <u>Fanta</u>, класса <u>B</u>";
  }
}

?>
Класс А находит, а класс В нет, как быть?
Добавил ответ в цитату
Самый перспективный framework Yii (c)
TranceSmile вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
использование несколких функции Narim Общие вопросы C/C++ 2 30.03.2011 22:09
Использование функции сцепить Anatoly_K Microsoft Office Excel 4 10.07.2010 15:59
Использование функции ExitWindowsEx. Yurazav Свободное общение 11 07.06.2010 21:28
Использование функции strtok Djost Фриланс 1 27.05.2010 16:21