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     ));

 

你可能感兴趣的:(application)