Форумы портала PHP.SU » » Объектно-ориентированное программирование » Не находит класс.

Страниц (1): [1]
 

1. Doox911 - 02 Июля, 2018 - 15:31:23 - перейти к сообщению
Доброго времени суток.

Написал сайт по модели MVC.

При ajax запросе выдаёт:
PHP:
скопировать код в буфер обмена
  1.  
  2. PHP Fatal error:  Class 'User' not found in
  3.  


Каждый класс в отдельном файле. Подгружаю классы так:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. /*
  4. */
  5. function __autoload($class_name){
  6.         $array_paths = array(
  7.                 '/models/',
  8.                 '/components/'
  9.         );
  10.  
  11.         foreach ($array_paths as $path) {
  12.                 $path = ROOT . $path . $class_name . '.php';
  13.                 if (is_file($path)) {
  14.                         include_once $path;
  15.                 }
  16.         }
  17. }
  18.  

В контроллере вызываю метод:
PHP:
скопировать код в буфер обмена
  1.  
  2. $mail->isSMTP();
  3. $mail->Host = 'smtp.yandex.ru';
  4. $mail->SMTPAuth = true;
  5. $mail->Username = '***';
  6. $mail->Password = '***';
  7. $mail->SMTPSecure = 'ssl';
  8. $mail->Port = 465;
  9. $mail->CharSet = 'UTF-8';
  10. $mail->setFrom( '***', 'ООО "Фирма"' );
  11. $mail->addAddress( User::getUserEmail() );
  12. $mail->isHTML(true);
  13. $mail->Subject = 'Смена статуса';
  14. $mail->Body    = $text;
  15. $mail->send();
  16.  

В чём прикол? Ничего до вызова метода не вывожу.
(Добавление)
записал результат в переменную до объявления объекта phpmailer, ошибка пропала. Я так понимаю phpmailer мог уже заголовки отправить?
2. andrewkard - 02 Июля, 2018 - 16:41:48 - перейти к сообщению
Doox911 пишет:
записал результат в переменную до объявления объекта phpmailer, ошибка пропала. Я так понимаю phpmailer мог уже заголовки отправить?

думаю дело в этой строке:
Doox911 пишет:
$mail->addAddress( User::getUserEmail() );

(Добавление)
Ваш автолоадер не работает.
3. Doox911 - 02 Июля, 2018 - 18:02:52 - перейти к сообщению
В целом сайт работает. А как проверить его корректную работоспособность? То что в этой строке проблема это и так понятно))) PHP выдаёт. Вопрос почему!
4. andrewkard - 02 Июля, 2018 - 18:45:10 - перейти к сообщению
debug в помощь, вызывается ли автолоадер, по какому пути ищет файлы и т.д.
5. haveFun - 13 Июля, 2018 - 18:04:36 - перейти к сообщению
используйте композер, к чему эти велосипеды?

 

Powered by ExBB FM 1.0 RC1