a tiny mvc framework for php using php-activerecord
at master 51 lines 1.8 kB view raw
1<?php 2if (!defined('PHP_VERSION_ID') || PHP_VERSION_ID < 50300) 3 die('PHP ActiveRecord requires PHP 5.3 or higher'); 4 5define('PHP_ACTIVERECORD_VERSION_ID','1.0'); 6 7define('PHP_ACTIVERECORD_ROOT', realpath(dirname(__FILE__)) . "/"); 8 9if (!defined('PHP_ACTIVERECORD_AUTOLOAD_PREPEND')) 10 define('PHP_ACTIVERECORD_AUTOLOAD_PREPEND',true); 11 12require(PHP_ACTIVERECORD_ROOT . 'lib/Singleton.php'); 13require(PHP_ACTIVERECORD_ROOT . 'lib/Config.php'); 14require(PHP_ACTIVERECORD_ROOT . 'lib/Utils.php'); 15require(PHP_ACTIVERECORD_ROOT . 'lib/DateTime.php'); 16require(PHP_ACTIVERECORD_ROOT . 'lib/Model.php'); 17require(PHP_ACTIVERECORD_ROOT . 'lib/Table.php'); 18require(PHP_ACTIVERECORD_ROOT . 'lib/ConnectionManager.php'); 19require(PHP_ACTIVERECORD_ROOT . 'lib/Connection.php'); 20require(PHP_ACTIVERECORD_ROOT . 'lib/SQLBuilder.php'); 21require(PHP_ACTIVERECORD_ROOT . 'lib/Reflections.php'); 22require(PHP_ACTIVERECORD_ROOT . 'lib/Inflector.php'); 23require(PHP_ACTIVERECORD_ROOT . 'lib/CallBack.php'); 24require(PHP_ACTIVERECORD_ROOT . 'lib/Exceptions.php'); 25require(PHP_ACTIVERECORD_ROOT . 'lib/Cache.php'); 26 27if (!defined('PHP_ACTIVERECORD_AUTOLOAD_DISABLE')) 28 spl_autoload_register('activerecord_autoload',false,PHP_ACTIVERECORD_AUTOLOAD_PREPEND); 29 30function activerecord_autoload($class_name) 31{ 32 $path = \ActiveRecord\Config::instance()->get_model_directory(); 33 $root = realpath(isset($path) ? $path : '.'); 34 35 if (($namespaces = ActiveRecord\get_namespaces($class_name))) 36 { 37 $class_name = array_pop($namespaces); 38 $directories = array(); 39 40 foreach ($namespaces as $directory) 41 $directories[] = $directory; 42 43 $root .= DIRECTORY_SEPARATOR . implode($directories, DIRECTORY_SEPARATOR); 44 } 45 46 $file = "$root/$class_name.php"; 47 48 if (file_exists($file)) 49 require $file; 50} 51?>