У меня проблема с использованием Kohana 3.1. Я добавляю старый модуль kohana-email для банков, но получаю такую ошибку:
ErrorException [Неустранимая ошибка]: класс "Электронная почта" не найден.
Файл моего приложения bootstrap.php выглядит так:
Kohana::modules(array(
'user' => MODPATH.'user', // Useradmin module
'auth' => MODPATH.'auth', // Basic authentication
// 'cache' => MODPATH.'cache', // Caching with multiple backends
// 'codebench' => MODPATH.'codebench', // Benchmarking tool
'database' => MODPATH.'database', // Database access
// 'image' => MODPATH.'image', // Image manipulation
'orm' => MODPATH.'orm', // Object Relationship Mapping
'kohana-email' => MODPATH.'kohana-email', // Kohana email module
//'email' => MODPATH.'email', // Email module
//'mailer' => MODPATH.'mailer', // Mailer module
'pagination' => MODPATH.'pagination', // Pagination module
'testmod' => MODPATH.'testmod',
// 'unittest' => MODPATH.'unittest', // Unit testing
// 'userguide' => MODPATH.'userguide', // User guide and API documentation
));
Как видите, я пробовал с другими модулями электронной почты (модулем почтовой программы и модулем электронной почты shadowhand) с тем же результатом.
Думая о сообщении об ошибке, я создаю модуль (с именем testmod) только с файлом init.php следующим образом:
<?php
die('It works');
?>
затем, добавив модуль testmod в bootstrap, я получаю сообщение «Работает».
Итак, если другие модули (например, orm, auth, user) работают правильно, почему kohana-email, emailer и mailer не работают?
РЕДАКТИРОВАТЬ: я должен расширить свое объяснение:
Модуль kohana-email находится в MODPATH.'kohana-email'
, потому что, выполнив echo MODPATH;
, я вижу правильное расположение модулей.
Мое файловое дерево модулей выглядит так:
modules (as echo MODPATH says)
|
+-- user (files from user module, this module works right)
|
+-- auth (files from auth module, this module works right)
|
+-- testmod (init.php file from testmod, this module works right)
|
+-- kohana-email
! |
: +-- classes
: | |
: | +-- email.php <--- The Email class is here!
: |
: +-- config
: | |
: | +-- email.php
: |
: +-- vendor
· |
· +-- swift
!
: (files from swift)
·
Да, я проверяю это с помощью Email::connect();
в том же файле bootstrap.php, после строки Kohana::modules
, и здесь возникает исключение ErrorException. И, да, я проверяю это с помощью модуля теневой электронной почты, но получаю ту же ошибку.
Итак, я снова задаю вопрос:
Почему не работает модуль кохана-электронной почты (и электронной почты, и почтовой программы)? Или почему kohana не может найти класс электронной почты?