core.php 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. <?php namespace Laravel;
  2. /**
  3. * Define all of the constants that we will need to use the framework.
  4. * These are things like file extensions, as well as all of the paths
  5. * used by the framework. All of the paths are built on top of the
  6. * basic application, laravel, and public paths.
  7. */
  8. define('EXT', '.php');
  9. define('CRLF', "\r\n");
  10. define('BLADE_EXT', '.blade.php');
  11. define('CACHE_PATH', STORAGE_PATH.'cache'.DS);
  12. define('DATABASE_PATH', STORAGE_PATH.'database'.DS);
  13. define('SESSION_PATH', STORAGE_PATH.'sessions'.DS);
  14. define('DEFAULT_BUNDLE', 'application');
  15. define('MB_STRING', (int) function_exists('mb_get_info'));
  16. /**
  17. * Require all of the classes that can't be loaded by the auto-loader.
  18. * These are typically classes that the auto-loader itself relies upon
  19. * to load classes, such as the array and configuration classes.
  20. */
  21. require SYS_PATH.'bundle'.EXT;
  22. require SYS_PATH.'config'.EXT;
  23. require SYS_PATH.'helpers'.EXT;
  24. require SYS_PATH.'autoloader'.EXT;
  25. /**
  26. * Register the Autoloader's "load" method on the auto-loader stack.
  27. * This method provides the lazy-loading of all class files, as well
  28. * as any PSR-0 compliant libraries used by the application.
  29. */
  30. spl_autoload_register(array('Laravel\\Autoloader', 'load'));
  31. /**
  32. * Build the Laravel framework class map. This provides a super fast
  33. * way of resolving any Laravel class name to its appropriate path.
  34. * More mappings can also be registered by the developer as needed.
  35. */
  36. Autoloader::$mappings = array(
  37. 'Laravel\\Auth' => SYS_PATH.'auth'.EXT,
  38. 'Laravel\\Asset' => SYS_PATH.'asset'.EXT,
  39. 'Laravel\\Benchmark' => SYS_PATH.'benchmark'.EXT,
  40. 'Laravel\\Blade' => SYS_PATH.'blade'.EXT,
  41. 'Laravel\\Bundle' => SYS_PATH.'bundle'.EXT,
  42. 'Laravel\\Cache' => SYS_PATH.'cache'.EXT,
  43. 'Laravel\\Config' => SYS_PATH.'config'.EXT,
  44. 'Laravel\\Cookie' => SYS_PATH.'cookie'.EXT,
  45. 'Laravel\\Crypter' => SYS_PATH.'crypter'.EXT,
  46. 'Laravel\\Database' => SYS_PATH.'database'.EXT,
  47. 'Laravel\\Error' => SYS_PATH.'error'.EXT,
  48. 'Laravel\\Event' => SYS_PATH.'event'.EXT,
  49. 'Laravel\\File' => SYS_PATH.'file'.EXT,
  50. 'Laravel\\Fluent' => SYS_PATH.'fluent'.EXT,
  51. 'Laravel\\Form' => SYS_PATH.'form'.EXT,
  52. 'Laravel\\Hash' => SYS_PATH.'hash'.EXT,
  53. 'Laravel\\HTML' => SYS_PATH.'html'.EXT,
  54. 'Laravel\\Input' => SYS_PATH.'input'.EXT,
  55. 'Laravel\\IoC' => SYS_PATH.'ioc'.EXT,
  56. 'Laravel\\Lang' => SYS_PATH.'lang'.EXT,
  57. 'Laravel\\Log' => SYS_PATH.'log'.EXT,
  58. 'Laravel\\Memcached' => SYS_PATH.'memcached'.EXT,
  59. 'Laravel\\Messages' => SYS_PATH.'messages'.EXT,
  60. 'Laravel\\Paginator' => SYS_PATH.'paginator'.EXT,
  61. 'Laravel\\Redirect' => SYS_PATH.'redirect'.EXT,
  62. 'Laravel\\Redis' => SYS_PATH.'redis'.EXT,
  63. 'Laravel\\Request' => SYS_PATH.'request'.EXT,
  64. 'Laravel\\Response' => SYS_PATH.'response'.EXT,
  65. 'Laravel\\Section' => SYS_PATH.'section'.EXT,
  66. 'Laravel\\Session' => SYS_PATH.'session'.EXT,
  67. 'Laravel\\Str' => SYS_PATH.'str'.EXT,
  68. 'Laravel\\URI' => SYS_PATH.'uri'.EXT,
  69. 'Laravel\\URL' => SYS_PATH.'url'.EXT,
  70. 'Laravel\\Validator' => SYS_PATH.'validator'.EXT,
  71. 'Laravel\\View' => SYS_PATH.'view'.EXT,
  72. 'Laravel\\Cache\\Drivers\\APC' => SYS_PATH.'cache/drivers/apc'.EXT,
  73. 'Laravel\\Cache\\Drivers\\Driver' => SYS_PATH.'cache/drivers/driver'.EXT,
  74. 'Laravel\\Cache\\Drivers\\File' => SYS_PATH.'cache/drivers/file'.EXT,
  75. 'Laravel\\Cache\\Drivers\\Memcached' => SYS_PATH.'cache/drivers/memcached'.EXT,
  76. 'Laravel\\Cache\\Drivers\\Redis' => SYS_PATH.'cache/drivers/redis'.EXT,
  77. 'Laravel\\Cache\\Drivers\\Database' => SYS_PATH.'cache/drivers/database'.EXT,
  78. 'Laravel\\CLI\\Command' => SYS_PATH.'cli/command'.EXT,
  79. 'Laravel\\CLI\\Tasks\\Task' => SYS_PATH.'cli/tasks/task'.EXT,
  80. 'Laravel\\CLI\\Tasks\\Bundle\\Bundler' => SYS_PATH.'cli/tasks/bundle/bundler'.EXT,
  81. 'Laravel\\CLI\\Tasks\\Bundle\\Repository' => SYS_PATH.'cli/tasks/bundle/repository'.EXT,
  82. 'Laravel\\CLI\\Tasks\\Bundle\\Publisher' => SYS_PATH.'cli/tasks/bundle/publisher'.EXT,
  83. 'Laravel\\CLI\\Tasks\\Bundle\\Providers\\Provider' => SYS_PATH.'cli/tasks/bundle/providers/provider'.EXT,
  84. 'Laravel\\CLI\\Tasks\\Bundle\\Providers\\Github' => SYS_PATH.'cli/tasks/bundle/providers/github'.EXT,
  85. 'Laravel\\CLI\\Tasks\\Migrate\\Migrator' => SYS_PATH.'cli/tasks/migrate/migrator'.EXT,
  86. 'Laravel\\CLI\\Tasks\\Migrate\\Resolver' => SYS_PATH.'cli/tasks/migrate/resolver'.EXT,
  87. 'Laravel\\CLI\\Tasks\\Migrate\\Database' => SYS_PATH.'cli/tasks/migrate/database'.EXT,
  88. 'Laravel\\Database\\Connection' => SYS_PATH.'database/connection'.EXT,
  89. 'Laravel\\Database\\Expression' => SYS_PATH.'database/expression'.EXT,
  90. 'Laravel\\Database\\Query' => SYS_PATH.'database/query'.EXT,
  91. 'Laravel\\Database\\Schema' => SYS_PATH.'database/schema'.EXT,
  92. 'Laravel\\Database\\Grammar' => SYS_PATH.'database/grammar'.EXT,
  93. 'Laravel\\Database\\Connectors\\Connector' => SYS_PATH.'database/connectors/connector'.EXT,
  94. 'Laravel\\Database\\Connectors\\MySQL' => SYS_PATH.'database/connectors/mysql'.EXT,
  95. 'Laravel\\Database\\Connectors\\Postgres' => SYS_PATH.'database/connectors/postgres'.EXT,
  96. 'Laravel\\Database\\Connectors\\SQLite' => SYS_PATH.'database/connectors/sqlite'.EXT,
  97. 'Laravel\\Database\\Connectors\\SQLServer' => SYS_PATH.'database/connectors/sqlserver'.EXT,
  98. 'Laravel\\Database\\Query\\Grammars\\Grammar' => SYS_PATH.'database/query/grammars/grammar'.EXT,
  99. 'Laravel\\Database\\Query\\Grammars\\MySQL' => SYS_PATH.'database/query/grammars/mysql'.EXT,
  100. 'Laravel\\Database\\Query\\Grammars\\SQLServer' => SYS_PATH.'database/query/grammars/sqlserver'.EXT,
  101. 'Laravel\\Database\\Schema\\Table' => SYS_PATH.'database/schema/table'.EXT,
  102. 'Laravel\\Database\\Schema\\Grammars\\Grammar' => SYS_PATH.'database/schema/grammars/grammar'.EXT,
  103. 'Laravel\\Database\\Schema\\Grammars\\MySQL' => SYS_PATH.'database/schema/grammars/mysql'.EXT,
  104. 'Laravel\\Database\\Schema\\Grammars\\Postgres' => SYS_PATH.'database/schema/grammars/postgres'.EXT,
  105. 'Laravel\\Database\\Schema\\Grammars\\SQLServer' => SYS_PATH.'database/schema/grammars/sqlserver'.EXT,
  106. 'Laravel\\Database\\Schema\\Grammars\\SQLite' => SYS_PATH.'database/schema/grammars/sqlite'.EXT,
  107. 'Laravel\\Routing\\Controller' => SYS_PATH.'routing/controller'.EXT,
  108. 'Laravel\\Routing\\Filter' => SYS_PATH.'routing/filter'.EXT,
  109. 'Laravel\\Routing\\Filter_Collection' => SYS_PATH.'routing/filter'.EXT,
  110. 'Laravel\\Routing\\Route' => SYS_PATH.'routing/route'.EXT,
  111. 'Laravel\\Routing\\Router' => SYS_PATH.'routing/router'.EXT,
  112. 'Laravel\\Session\\Payload' => SYS_PATH.'session/payload'.EXT,
  113. 'Laravel\\Session\\Drivers\\APC' => SYS_PATH.'session/drivers/apc'.EXT,
  114. 'Laravel\\Session\\Drivers\\Cookie' => SYS_PATH.'session/drivers/cookie'.EXT,
  115. 'Laravel\\Session\\Drivers\\Database' => SYS_PATH.'session/drivers/database'.EXT,
  116. 'Laravel\\Session\\Drivers\\Driver' => SYS_PATH.'session/drivers/driver'.EXT,
  117. 'Laravel\\Session\\Drivers\\File' => SYS_PATH.'session/drivers/file'.EXT,
  118. 'Laravel\\Session\\Drivers\\Memcached' => SYS_PATH.'session/drivers/memcached'.EXT,
  119. 'Laravel\\Session\\Drivers\\Redis' => SYS_PATH.'session/drivers/redis'.EXT,
  120. 'Laravel\\Session\\Drivers\\Sweeper' => SYS_PATH.'session/drivers/sweeper'.EXT,
  121. );
  122. /**
  123. * Register all of the core class aliases. These aliases provide a
  124. * convenient way of working with the Laravel core classes without
  125. * having to worry about the namespacing. The developer is also
  126. * free to remove aliases when they extend core classes.
  127. */
  128. Autoloader::$aliases = Config::get('application.aliases');