Created
October 27, 2011 02:36
-
-
Save k-holy/1318652 to your computer and use it in GitHub Desktop.
PEAR形式のみ対応のautoload実装(PHP5.3.2以降)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
set_include_path('/path/to/pear' . PATH_SEPARATOR . get_include_path()); | |
spl_autoload_register(function($className) { | |
if (false !== ($path = stream_resolve_include_path( | |
str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php')) | |
) { | |
return include $path; | |
} | |
return false; | |
}, true, true); | |
print new PEAR_Exception('GRRRR'); |
ありがとうございます。
PHPUnitが3.6以降オートローダ前提のコードに変わったようで、Symfony2のチュートリアルでエラー発生ということがありまして、ここにメモしました。
stream_resolve_include_path
これは知りませんでした。以前から欲しかった関数です。
はい、この関数のおかげでエラー制御演算子やerror_reporting()を使わなくても良くなりました。
PHPマニュアルのinclude()やinclude_pathディレクティブのページからリンクされていないので、私も長らく気付きませんでした…。
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
これはいいですね