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