Zend_Application_Resource_Mail が Warning。
Zend FW 1.10.1
Zend_Application_Resource_Mail が Warning 吐くのでちょっと直し。
警告の内容。
Warning: Zend_Loader::include_once(Smtp.php) [function.Zend-Loader-include-once]: failed to open stream: No such file or directory in C:\Program Files\PHP\lib\Zend\library\Zend\Loader.php on line 146Warning: Zend_Loader::include_once() [function.include]: Failed opening 'Smtp.php' for inclusion (include_path=... [略]
ああ、Loaderねぇ。
<?php require_once 'Zend/Application/Resource/Mail.php'; class My_Application_Resource_Mail extends Zend_Application_Resource_Mail { protected function _setupTransport($options) { if(!isset($options['type'])) { $options['type'] = 'sendmail'; } if(!isset($options['namespace'])) { $options['namespace'] = 'Zend_Mail_Transport'; } $transportName = $options['namespace'] . '_' . ucfirst(strtolower($options['type'])); unset($options['type']); if(!Zend_Loader_Autoloader::autoload($transportName)) { throw new Zend_Application_Resource_Exception( "Specified Mail Transport '{$transportName}'" . 'could not be found' ); } switch($transportName) { case 'Zend_Mail_Transport_Smtp': if(!isset($options['host'])) { throw new Zend_Application_Resource_Exception( 'A host is necessary for smtp transport,' .' but none was given'); } $transport = new $transportName($options['host'], $options); break; case 'Zend_Mail_Transport_Sendmail': default: $transport = new $transportName($options); break; } return $transport; } }
Loaderを呼び出してるメソッドをコピペして修正。
こんなんで良し。
たぶんZendの方で修正入ったらすぐいらなくなるでせふ。
でも、メールってそんなに使わないのにリクエストのたびに Bootstrap で初期化してインスタンス生成... ってなんか無駄な気がする。
まいっか。