PageRenderTime 53ms CodeModel.GetById 25ms RepoModel.GetById 0ms app.codeStats 1ms

/libs/Nette/Loaders/NetteLoader.php

https://github.com/Vrtak-CZ/ORM-benchmark
PHP | 229 lines | 190 code | 13 blank | 26 comment | 1 complexity | 5e12f155c68a7643f539d4d68e33cdff MD5 | raw file
  1. <?php
  2. /**
  3. * Nette Framework
  4. *
  5. * @copyright Copyright (c) 2004, 2010 David Grudl
  6. * @license http://nette.org/license Nette license
  7. * @link http://nette.org
  8. * @category Nette
  9. * @package Nette\Loaders
  10. */
  11. namespace Nette\Loaders;
  12. use Nette;
  13. /**
  14. * Nette auto loader is responsible for loading Nette classes and interfaces.
  15. *
  16. * @copyright Copyright (c) 2004, 2010 David Grudl
  17. * @package Nette\Loaders
  18. */
  19. class NetteLoader extends AutoLoader
  20. {
  21. /** @var NetteLoader */
  22. private static $instance;
  23. /** @var array */
  24. public $list = array(
  25. 'argumentoutofrangeexception' => '/Utils/exceptions.php',
  26. 'datetime53' => '/Utils/DateTime53.php',
  27. 'deprecatedexception' => '/Utils/exceptions.php',
  28. 'directorynotfoundexception' => '/Utils/exceptions.php',
  29. 'fatalerrorexception' => '/Utils/exceptions.php',
  30. 'filenotfoundexception' => '/Utils/exceptions.php',
  31. 'invalidstateexception' => '/Utils/exceptions.php',
  32. 'ioexception' => '/Utils/exceptions.php',
  33. 'memberaccessexception' => '/Utils/exceptions.php',
  34. 'nette\ambiguousserviceexception' => '/Environment/ServiceLocator.php',
  35. 'nette\application\abortexception' => '/Application/Exceptions/AbortException.php',
  36. 'nette\application\appform' => '/Application/AppForm.php',
  37. 'nette\application\application' => '/Application/Application.php',
  38. 'nette\application\applicationexception' => '/Application/Exceptions/ApplicationException.php',
  39. 'nette\application\badrequestexception' => '/Application/Exceptions/BadRequestException.php',
  40. 'nette\application\badsignalexception' => '/Application/Exceptions/BadSignalException.php',
  41. 'nette\application\clirouter' => '/Application/Routers/CliRouter.php',
  42. 'nette\application\control' => '/Application/Control.php',
  43. 'nette\application\downloadresponse' => '/Application/Responses/DownloadResponse.php',
  44. 'nette\application\forbiddenrequestexception' => '/Application/Exceptions/ForbiddenRequestException.php',
  45. 'nette\application\forwardingresponse' => '/Application/Responses/ForwardingResponse.php',
  46. 'nette\application\invalidlinkexception' => '/Application/Exceptions/InvalidLinkException.php',
  47. 'nette\application\invalidpresenterexception' => '/Application/Exceptions/InvalidPresenterException.php',
  48. 'nette\application\ipartiallyrenderable' => '/Application/IRenderable.php',
  49. 'nette\application\ipresenter' => '/Application/IPresenter.php',
  50. 'nette\application\ipresenterloader' => '/Application/IPresenterLoader.php',
  51. 'nette\application\ipresenterresponse' => '/Application/IPresenterResponse.php',
  52. 'nette\application\irenderable' => '/Application/IRenderable.php',
  53. 'nette\application\irouter' => '/Application/IRouter.php',
  54. 'nette\application\isignalreceiver' => '/Application/ISignalReceiver.php',
  55. 'nette\application\istatepersistent' => '/Application/IStatePersistent.php',
  56. 'nette\application\jsonresponse' => '/Application/Responses/JsonResponse.php',
  57. 'nette\application\link' => '/Application/Link.php',
  58. 'nette\application\multirouter' => '/Application/Routers/MultiRouter.php',
  59. 'nette\application\presenter' => '/Application/Presenter.php',
  60. 'nette\application\presentercomponent' => '/Application/PresenterComponent.php',
  61. 'nette\application\presentercomponentreflection' => '/Application/PresenterComponentReflection.php',
  62. 'nette\application\presenterloader' => '/Application/PresenterLoader.php',
  63. 'nette\application\presenterrequest' => '/Application/PresenterRequest.php',
  64. 'nette\application\redirectingresponse' => '/Application/Responses/RedirectingResponse.php',
  65. 'nette\application\renderresponse' => '/Application/Responses/RenderResponse.php',
  66. 'nette\application\route' => '/Application/Routers/Route.php',
  67. 'nette\application\routingdebugger' => '/Application/RoutingDebugger.php',
  68. 'nette\application\simplerouter' => '/Application/Routers/SimpleRouter.php',
  69. 'nette\arraylist' => '/Utils/ArrayList.php',
  70. 'nette\arraytools' => '/Utils/ArrayTools.php',
  71. 'nette\caching\apcstorage' => '/Caching/ApcStorage.php',
  72. 'nette\caching\cache' => '/Caching/Cache.php',
  73. 'nette\caching\dummystorage' => '/Caching/DummyStorage.php',
  74. 'nette\caching\filestorage' => '/Caching/FileStorage.php',
  75. 'nette\caching\icachejournal' => '/Caching/ICacheJournal.php',
  76. 'nette\caching\icachestorage' => '/Caching/ICacheStorage.php',
  77. 'nette\caching\memcachedstorage' => '/Caching/MemcachedStorage.php',
  78. 'nette\caching\sqlitejournal' => '/Caching/SqliteJournal.php',
  79. 'nette\caching\sqlitemimic' => '/Caching/SqliteJournal.php',
  80. 'nette\callback' => '/Utils/Callback.php',
  81. 'nette\component' => '/ComponentModel/Component.php',
  82. 'nette\componentcontainer' => '/ComponentModel/ComponentContainer.php',
  83. 'nette\config\config' => '/Config/Config.php',
  84. 'nette\config\configadapterini' => '/Config/ConfigAdapterIni.php',
  85. 'nette\config\iconfigadapter' => '/Config/IConfigAdapter.php',
  86. 'nette\configurator' => '/Environment/Configurator.php',
  87. 'nette\debug' => '/Debug/Debug.php',
  88. 'nette\debugpanel' => '/Debug/DebugPanel.php',
  89. 'nette\environment' => '/Environment/Environment.php',
  90. 'nette\forms\button' => '/Forms/Controls/Button.php',
  91. 'nette\forms\checkbox' => '/Forms/Controls/Checkbox.php',
  92. 'nette\forms\conventionalrenderer' => '/Forms/Renderers/ConventionalRenderer.php',
  93. 'nette\forms\fileupload' => '/Forms/Controls/FileUpload.php',
  94. 'nette\forms\form' => '/Forms/Form.php',
  95. 'nette\forms\formcontainer' => '/Forms/FormContainer.php',
  96. 'nette\forms\formcontrol' => '/Forms/Controls/FormControl.php',
  97. 'nette\forms\formgroup' => '/Forms/FormGroup.php',
  98. 'nette\forms\hiddenfield' => '/Forms/Controls/HiddenField.php',
  99. 'nette\forms\iformcontrol' => '/Forms/IFormControl.php',
  100. 'nette\forms\iformrenderer' => '/Forms/IFormRenderer.php',
  101. 'nette\forms\imagebutton' => '/Forms/Controls/ImageButton.php',
  102. 'nette\forms\inamingcontainer' => '/Forms/INamingContainer.php',
  103. 'nette\forms\instantclientscript' => '/Forms/Renderers/InstantClientScript.php',
  104. 'nette\forms\isubmittercontrol' => '/Forms/ISubmitterControl.php',
  105. 'nette\forms\multiselectbox' => '/Forms/Controls/MultiSelectBox.php',
  106. 'nette\forms\radiolist' => '/Forms/Controls/RadioList.php',
  107. 'nette\forms\rule' => '/Forms/Rule.php',
  108. 'nette\forms\rules' => '/Forms/Rules.php',
  109. 'nette\forms\selectbox' => '/Forms/Controls/SelectBox.php',
  110. 'nette\forms\submitbutton' => '/Forms/Controls/SubmitButton.php',
  111. 'nette\forms\textarea' => '/Forms/Controls/TextArea.php',
  112. 'nette\forms\textbase' => '/Forms/Controls/TextBase.php',
  113. 'nette\forms\textinput' => '/Forms/Controls/TextInput.php',
  114. 'nette\framework' => '/Utils/Framework.php',
  115. 'nette\freezableobject' => '/Utils/FreezableObject.php',
  116. 'nette\genericrecursiveiterator' => '/Utils/Iterators/GenericRecursiveIterator.php',
  117. 'nette\icomponent' => '/ComponentModel/IComponent.php',
  118. 'nette\icomponentcontainer' => '/ComponentModel/IComponentContainer.php',
  119. 'nette\idebugpanel' => '/Debug/IDebugPanel.php',
  120. 'nette\image' => '/Utils/Image.php',
  121. 'nette\imagemagick' => '/Utils/ImageMagick.php',
  122. 'nette\instancefilteriterator' => '/Utils/Iterators/InstanceFilterIterator.php',
  123. 'nette\iservicelocator' => '/Environment/IServiceLocator.php',
  124. 'nette\itranslator' => '/Utils/ITranslator.php',
  125. 'nette\json' => '/Utils/Json.php',
  126. 'nette\jsonexception' => '/Utils/Json.php',
  127. 'nette\loaders\autoloader' => '/Loaders/AutoLoader.php',
  128. 'nette\loaders\limitedscope' => '/Loaders/LimitedScope.php',
  129. 'nette\loaders\netteloader' => '/Loaders/NetteLoader.php',
  130. 'nette\loaders\robotloader' => '/Loaders/RobotLoader.php',
  131. 'nette\mail\imailer' => '/Mail/IMailer.php',
  132. 'nette\mail\mail' => '/Mail/Mail.php',
  133. 'nette\mail\mailmimepart' => '/Mail/MailMimePart.php',
  134. 'nette\mail\sendmailmailer' => '/Mail/SendmailMailer.php',
  135. 'nette\neonparser' => '/Utils/NeonParser.php',
  136. 'nette\object' => '/Utils/Object.php',
  137. 'nette\objectmixin' => '/Utils/ObjectMixin.php',
  138. 'nette\paginator' => '/Utils/Paginator.php',
  139. 'nette\recursivecomponentiterator' => '/ComponentModel/ComponentContainer.php',
  140. 'nette\reflection\annotation' => '/Reflection/Annotation.php',
  141. 'nette\reflection\annotationsparser' => '/Reflection/AnnotationsParser.php',
  142. 'nette\reflection\classreflection' => '/Reflection/ClassReflection.php',
  143. 'nette\reflection\extensionreflection' => '/Reflection/ExtensionReflection.php',
  144. 'nette\reflection\functionreflection' => '/Reflection/FunctionReflection.php',
  145. 'nette\reflection\iannotation' => '/Reflection/IAnnotation.php',
  146. 'nette\reflection\methodreflection' => '/Reflection/MethodReflection.php',
  147. 'nette\reflection\parameterreflection' => '/Reflection/ParameterReflection.php',
  148. 'nette\reflection\propertyreflection' => '/Reflection/PropertyReflection.php',
  149. 'nette\regexpexception' => '/Utils/String.php',
  150. 'nette\safestream' => '/Utils/SafeStream.php',
  151. 'nette\security\authenticationexception' => '/Security/AuthenticationException.php',
  152. 'nette\security\iauthenticator' => '/Security/IAuthenticator.php',
  153. 'nette\security\iauthorizator' => '/Security/IAuthorizator.php',
  154. 'nette\security\identity' => '/Security/Identity.php',
  155. 'nette\security\iidentity' => '/Security/IIdentity.php',
  156. 'nette\security\iresource' => '/Security/IResource.php',
  157. 'nette\security\irole' => '/Security/IRole.php',
  158. 'nette\security\permission' => '/Security/Permission.php',
  159. 'nette\security\simpleauthenticator' => '/Security/SimpleAuthenticator.php',
  160. 'nette\servicelocator' => '/Environment/ServiceLocator.php',
  161. 'nette\smartcachingiterator' => '/Utils/Iterators/SmartCachingIterator.php',
  162. 'nette\string' => '/Utils/String.php',
  163. 'nette\templates\basetemplate' => '/Templates/BaseTemplate.php',
  164. 'nette\templates\cachinghelper' => '/Templates/Filters/CachingHelper.php',
  165. 'nette\templates\ifiletemplate' => '/Templates/IFileTemplate.php',
  166. 'nette\templates\itemplate' => '/Templates/ITemplate.php',
  167. 'nette\templates\lattefilter' => '/Templates/Filters/LatteFilter.php',
  168. 'nette\templates\lattemacros' => '/Templates/Filters/LatteMacros.php',
  169. 'nette\templates\snippethelper' => '/Templates/Filters/SnippetHelper.php',
  170. 'nette\templates\template' => '/Templates/Template.php',
  171. 'nette\templates\templatecachestorage' => '/Templates/TemplateCacheStorage.php',
  172. 'nette\templates\templatefilters' => '/Templates/Filters/TemplateFilters.php',
  173. 'nette\templates\templatehelpers' => '/Templates/Filters/TemplateHelpers.php',
  174. 'nette\tools' => '/Utils/Tools.php',
  175. 'nette\web\html' => '/Web/Html.php',
  176. 'nette\web\httpcontext' => '/Web/HttpContext.php',
  177. 'nette\web\httprequest' => '/Web/HttpRequest.php',
  178. 'nette\web\httpresponse' => '/Web/HttpResponse.php',
  179. 'nette\web\httpuploadedfile' => '/Web/HttpUploadedFile.php',
  180. 'nette\web\ihttprequest' => '/Web/IHttpRequest.php',
  181. 'nette\web\ihttpresponse' => '/Web/IHttpResponse.php',
  182. 'nette\web\iuser' => '/Web/IUser.php',
  183. 'nette\web\session' => '/Web/Session.php',
  184. 'nette\web\sessionnamespace' => '/Web/SessionNamespace.php',
  185. 'nette\web\uri' => '/Web/Uri.php',
  186. 'nette\web\uriscript' => '/Web/UriScript.php',
  187. 'nette\web\user' => '/Web/User.php',
  188. 'notimplementedexception' => '/Utils/exceptions.php',
  189. 'notsupportedexception' => '/Utils/exceptions.php',
  190. );
  191. /**
  192. * Returns singleton instance with lazy instantiation.
  193. * @return NetteLoader
  194. */
  195. public static function getInstance()
  196. {
  197. if (self::$instance === NULL) {
  198. self::$instance = new self;
  199. }
  200. return self::$instance;
  201. }
  202. /**
  203. * Handles autoloading of classes or interfaces.
  204. * @param string
  205. * @return void
  206. */
  207. public function tryLoad($type)
  208. {
  209. $type = ltrim(strtolower($type), '\\');
  210. if (isset($this->list[$type])) {
  211. LimitedScope::load(NETTE_DIR . $this->list[$type]);
  212. self::$count++;
  213. }
  214. }
  215. }