application\bootstrap.php引导文件
View Code
1 <?php defined('SYSPATH') or die('No direct script access.'); 2 3 // -- Environment setup -------------------------------------------------------- 4 5 // Load the core Kohana class 6 require SYSPATH.'classes/Kohana/Core'.EXT; 7 8 if (is_file(APPPATH.'classes/Kohana'.EXT)) 9 { 10 // Application extends the core 11 require APPPATH.'classes/Kohana'.EXT; 12 } 13 else 14 { 15 // Load empty core extension 16 require SYSPATH.'classes/Kohana'.EXT; 17 } 18 19 /** 20 * Set the default time zone. 21 * 22 * @link http://kohanaframework.org/guide/using.configuration 23 * @link http://www.php.net/manual/timezones 24 */ 25 date_default_timezone_set('America/Chicago'); 26 27 /** 28 * Set the default locale. 29 * 30 * @link http://kohanaframework.org/guide/using.configuration 31 * @link http://www.php.net/manual/function.setlocale 32 */ 33 setlocale(LC_ALL, 'en_US.utf-8'); 34 35 /** 36 * Enable the Kohana auto-loader. 37 * 38 * @link http://kohanaframework.org/guide/using.autoloading 39 * @link http://www.php.net/manual/function.spl-autoload-register 40 */ 41 spl_autoload_register(array('Kohana', 'auto_load')); 42 43 /** 44 * Optionally, you can enable a compatibility auto-loader for use with 45 * older modules that have not been updated for PSR-0. 46 * 47 * It is recommended to not enable this unless absolutely necessary. 48 */ 49 //spl_autoload_register(array('Kohana', 'auto_load_lowercase')); 50 51 /** 52 * Enable the Kohana auto-loader for unserialization. 53 * 54 * @link http://www.php.net/manual/function.spl-autoload-call 55 * @link http://www.php.net/manual/var.configuration#unserialize-callback-func 56 */ 57 ini_set('unserialize_callback_func', 'spl_autoload_call'); 58 59 // -- Configuration and initialization ----------------------------------------- 60 61 /** 62 * Set the default language 63 */ 64 I18n::lang('en-us'); 65 66 /** 67 * Set Kohana::$environment if a 'KOHANA_ENV' environment variable has been supplied. 68 * 69 * Note: If you supply an invalid environment name, a PHP warning will be thrown 70 * saying "Couldn't find constant Kohana::<INVALID_ENV_NAME>" 71 */ 72 if (isset($_SERVER['KOHANA_ENV'])) 73 { 74 Kohana::$environment = constant('Kohana::'.strtoupper($_SERVER['KOHANA_ENV'])); 75 } 76 77 /** 78 * Initialize Kohana, setting the default options. 79 * 80 * The following options are available: 81 * 82 * - string base_url path, and optionally domain, of your application NULL 83 * - string index_file name of your index file, usually "index.php" index.php 84 * - string charset internal character set used for input and output utf-8 85 * - string cache_dir set the internal cache directory APPPATH/cache 86 * - integer cache_life lifetime, in seconds, of items cached 60 87 * - boolean errors enable or disable error handling TRUE 88 * - boolean profile enable or disable internal profiling TRUE 89 * - boolean caching enable or disable internal caching FALSE 90 * - boolean expose set the X-Powered-By header FALSE 91 */ 92 Kohana::init(array( 93 'base_url' => '/kohana/', 94 )); 95 96 /** 97 * Attach the file write to logging. Multiple writers are supported. 98 */ 99 Kohana::$log->attach(new Log_File(APPPATH.'logs')); 100 101 /** 102 * Attach a file reader to config. Multiple readers are supported. 103 */ 104 Kohana::$config->attach(new Config_File); 105 106 /** 107 * Enable modules. Modules are referenced by a relative or absolute path. 108 */ 109 Kohana::modules(array( 110 // 'auth' => MODPATH.'auth', // Basic authentication 111 // 'cache' => MODPATH.'cache', // Caching with multiple backends 112 // 'codebench' => MODPATH.'codebench', // Benchmarking tool 113 // 'database' => MODPATH.'database', // Database access 114 // 'image' => MODPATH.'image', // Image manipulation 115 // 'minion' => MODPATH.'minion', // CLI Tasks 116 // 'orm' => MODPATH.'orm', // Object Relationship Mapping 117 // 'unittest' => MODPATH.'unittest', // Unit testing 118 // 'userguide' => MODPATH.'userguide', // User guide and API documentation 119 )); 120 121 /** 122 * Set the routes. Each route must have a minimum of a name, a URI and a set of 123 * defaults for the URI. 124 */ 125 Route::set('default', '(<controller>(/<action>(/<id>)))') 126 ->defaults(array( 127 'controller' => 'welcome', 128 'action' => 'index', 129 ));