$ipf_path = dirname(__FILE__).DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'ipf';
$project_path = dirname(__FILE__).DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'project';
-set_include_path($ipf_path.PATH_SEPARATOR.$project_path);
+set_include_path(get_include_path() . PATH_SEPARATOR . $ipf_path . PATH_SEPARATOR . $project_path);
require 'ipf.php';
IPF::boot($ipf_path, $project_path);
return IPF_Project::getInstance()->run();
<?php
-function __autoload($class_name)
+function IPF_Autoload($class_name)
{
- require_once strtolower(str_replace('_', '/', $class_name)) . '.php';
+ $filename = strtolower(str_replace('_', '/', $class_name)) . '.php';
+ if (file_exists($filename)) {
+ require_once $filename;
+ return;
+ }
+ foreach (explode(PATH_SEPARATOR, get_include_path()) as $dir) {
+ $path = $dir . DIRECTORY_SEPARATOR . $filename;
+ if (file_exists($path)) {
+ require_once($path);
+ break;
+ }
+ }
}
+spl_autoload_register('IPF_Autoload');
+
final class IPF
{
private static $settings = array();