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' => '/tools/exceptions.php',
31: 'deprecatedexception' => '/tools/exceptions.php',
32: 'directorynotfoundexception' => '/tools/exceptions.php',
33: 'fatalerrorexception' => '/tools/exceptions.php',
34: 'filenotfoundexception' => '/tools/exceptions.php',
35: 'invalidstateexception' => '/tools/exceptions.php',
36: 'ioexception' => '/tools/exceptions.php',
37: 'memberaccessexception' => '/tools/exceptions.php',
38: 'nette\ambiguousserviceexception' => '/Injection/AmbiguousServiceException.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/IPartiallyRenderable.php',
53: 'nette\application\ipresenter' => '/Application/IPresenter.php',
54: 'nette\application\ipresenterfactory' => '/Application/IPresenterFactory.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\presenterfactory' => '/Application/PresenterFactory.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/Diagnostics/RoutingDebugger.php',
72: 'nette\application\simplerouter' => '/Application/Routers/SimpleRouter.php',
73: 'nette\arrayhash' => '/tools/ArrayHash.php',
74: 'nette\arraylist' => '/tools/ArrayList.php',
75: 'nette\arraytools' => '/tools/ArrayTools.php',
76: 'nette\caching\cache' => '/Caching/Cache.php',
77: 'nette\caching\dummystorage' => '/Caching/DummyStorage.php',
78: 'nette\caching\filejournal' => '/Caching/FileJournal.php',
79: 'nette\caching\filestorage' => '/Caching/FileStorage.php',
80: 'nette\caching\icachejournal' => '/Caching/ICacheJournal.php',
81: 'nette\caching\icachestorage' => '/Caching/ICacheStorage.php',
82: 'nette\caching\memcachedstorage' => '/Caching/MemcachedStorage.php',
83: 'nette\caching\memorystorage' => '/Caching/MemoryStorage.php',
84: 'nette\callback' => '/tools/Callback.php',
85: 'nette\callbackfilteriterator' => '/tools/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\configadapterneon' => '/Config/ConfigAdapterNeon.php',
91: 'nette\config\iconfigadapter' => '/Config/IConfigAdapter.php',
92: 'nette\configurator' => '/Environment/Configurator.php',
93: 'nette\context' => '/Injection/Context.php',
94: 'nette\database\connection' => '/Database/Connection.php',
95: 'nette\database\databasepanel' => '/Database/Diagnostics/DatabasePanel.php',
96: 'nette\database\drivers\pdomssqldriver' => '/Database/Drivers/PdoMsSqlDriver.php',
97: 'nette\database\drivers\pdomysqldriver' => '/Database/Drivers/PdoMySqlDriver.php',
98: 'nette\database\drivers\pdoocidriver' => '/Database/Drivers/PdoOciDriver.php',
99: 'nette\database\drivers\pdoodbcdriver' => '/Database/Drivers/PdoOdbcDriver.php',
100: 'nette\database\drivers\pdopgsqldriver' => '/Database/Drivers/PdoPgSqlDriver.php',
101: 'nette\database\drivers\pdosqlite2driver' => '/Database/Drivers/PdoSqlite2Driver.php',
102: 'nette\database\drivers\pdosqlitedriver' => '/Database/Drivers/PdoSqliteDriver.php',
103: 'nette\database\isupplementaldriver' => '/Database/ISupplementalDriver.php',
104: 'nette\database\reflection\databasereflection' => '/Database/Reflection/DatabaseReflection.php',
105: 'nette\database\row' => '/Database/Row.php',
106: 'nette\database\selector\groupedtableselection' => '/Database/Selector/GroupedTableSelection.php',
107: 'nette\database\selector\tablerow' => '/Database/Selector/TableRow.php',
108: 'nette\database\selector\tableselection' => '/Database/Selector/TableSelection.php',
109: 'nette\database\sqlliteral' => '/Database/SqlLiteral.php',
110: 'nette\database\sqlpreprocessor' => '/Database/SqlPreprocessor.php',
111: 'nette\database\statement' => '/Database/Statement.php',
112: 'nette\debug' => '/Diagnostics/Debug.php',
113: 'nette\debughelpers' => '/Diagnostics/DebugHelpers.php',
114: 'nette\debugpanel' => '/Diagnostics/DebugPanel.php',
115: 'nette\environment' => '/Environment/Environment.php',
116: 'nette\finder' => '/tools/Finder.php',
117: 'nette\forms\button' => '/Forms/Controls/Button.php',
118: 'nette\forms\checkbox' => '/Forms/Controls/Checkbox.php',
119: 'nette\forms\defaultformrenderer' => '/Forms/Renderers/DefaultFormRenderer.php',
120: 'nette\forms\fileupload' => '/Forms/Controls/FileUpload.php',
121: 'nette\forms\form' => '/Forms/Form.php',
122: 'nette\forms\formcontainer' => '/Forms/FormContainer.php',
123: 'nette\forms\formcontrol' => '/Forms/Controls/FormControl.php',
124: 'nette\forms\formgroup' => '/Forms/FormGroup.php',
125: 'nette\forms\hiddenfield' => '/Forms/Controls/HiddenField.php',
126: 'nette\forms\iformcontrol' => '/Forms/IFormControl.php',
127: 'nette\forms\iformrenderer' => '/Forms/IFormRenderer.php',
128: 'nette\forms\imagebutton' => '/Forms/Controls/ImageButton.php',
129: 'nette\forms\isubmittercontrol' => '/Forms/ISubmitterControl.php',
130: 'nette\forms\multiselectbox' => '/Forms/Controls/MultiSelectBox.php',
131: 'nette\forms\radiolist' => '/Forms/Controls/RadioList.php',
132: 'nette\forms\rule' => '/Forms/Rule.php',
133: 'nette\forms\rules' => '/Forms/Rules.php',
134: 'nette\forms\selectbox' => '/Forms/Controls/SelectBox.php',
135: 'nette\forms\submitbutton' => '/Forms/Controls/SubmitButton.php',
136: 'nette\forms\textarea' => '/Forms/Controls/TextArea.php',
137: 'nette\forms\textbase' => '/Forms/Controls/TextBase.php',
138: 'nette\forms\textinput' => '/Forms/Controls/TextInput.php',
139: 'nette\framework' => '/tools/Framework.php',
140: 'nette\freezableobject' => '/tools/FreezableObject.php',
141: 'nette\genericrecursiveiterator' => '/tools/iterators/GenericRecursiveIterator.php',
142: 'nette\icomponent' => '/ComponentModel/IComponent.php',
143: 'nette\icomponentcontainer' => '/ComponentModel/IComponentContainer.php',
144: 'nette\icontext' => '/Injection/IContext.php',
145: 'nette\idebugpanel' => '/Diagnostics/IDebugPanel.php',
146: 'nette\ifreezable' => '/tools/IFreezable.php',
147: 'nette\image' => '/tools/Image.php',
148: 'nette\instancefilteriterator' => '/tools/iterators/InstanceFilterIterator.php',
149: 'nette\itranslator' => '/Localization/ITranslator.php',
150: 'nette\json' => '/tools/Json.php',
151: 'nette\jsonexception' => '/tools/JsonException.php',
152: 'nette\loaders\autoloader' => '/Loaders/AutoLoader.php',
153: 'nette\loaders\limitedscope' => '/Loaders/LimitedScope.php',
154: 'nette\loaders\netteloader' => '/Loaders/NetteLoader.php',
155: 'nette\loaders\robotloader' => '/Loaders/RobotLoader.php',
156: 'nette\mail\imailer' => '/Mail/IMailer.php',
157: 'nette\mail\mail' => '/Mail/Mail.php',
158: 'nette\mail\mailmimepart' => '/Mail/MailMimePart.php',
159: 'nette\mail\sendmailmailer' => '/Mail/SendmailMailer.php',
160: 'nette\mail\smtpexception' => '/Mail/SmtpException.php',
161: 'nette\mail\smtpmailer' => '/Mail/SmtpMailer.php',
162: 'nette\mapiterator' => '/tools/iterators/MapIterator.php',
163: 'nette\neon' => '/tools/Neon.php',
164: 'nette\neonexception' => '/tools/Neon.php',
165: 'nette\object' => '/tools/Object.php',
166: 'nette\objectmixin' => '/tools/ObjectMixin.php',
167: 'nette\paginator' => '/tools/Paginator.php',
168: 'nette\recursivecallbackfilteriterator' => '/tools/iterators/RecursiveCallbackFilterIterator.php',
169: 'nette\recursivecomponentiterator' => '/ComponentModel/RecursiveComponentIterator.php',
170: 'nette\reflection\annotation' => '/Reflection/Annotation.php',
171: 'nette\reflection\annotationsparser' => '/Reflection/AnnotationsParser.php',
172: 'nette\reflection\classreflection' => '/Reflection/ClassReflection.php',
173: 'nette\reflection\extensionreflection' => '/Reflection/ExtensionReflection.php',
174: 'nette\reflection\functionreflection' => '/Reflection/FunctionReflection.php',
175: 'nette\reflection\iannotation' => '/Reflection/IAnnotation.php',
176: 'nette\reflection\methodreflection' => '/Reflection/MethodReflection.php',
177: 'nette\reflection\parameterreflection' => '/Reflection/ParameterReflection.php',
178: 'nette\reflection\propertyreflection' => '/Reflection/PropertyReflection.php',
179: 'nette\regexpexception' => '/tools/RegexpException.php',
180: 'nette\safestream' => '/tools/SafeStream.php',
181: 'nette\security\authenticationexception' => '/Security/AuthenticationException.php',
182: 'nette\security\iauthenticator' => '/Security/IAuthenticator.php',
183: 'nette\security\iauthorizator' => '/Security/IAuthorizator.php',
184: 'nette\security\identity' => '/Security/Identity.php',
185: 'nette\security\iidentity' => '/Security/IIdentity.php',
186: 'nette\security\iresource' => '/Security/IResource.php',
187: 'nette\security\irole' => '/Security/IRole.php',
188: 'nette\security\permission' => '/Security/Permission.php',
189: 'nette\security\simpleauthenticator' => '/Security/SimpleAuthenticator.php',
190: 'nette\smartcachingiterator' => '/tools/iterators/SmartCachingIterator.php',
191: 'nette\string' => '/tools/String.php',
192: 'nette\templates\cachinghelper' => '/Latte/CachingHelper.php',
193: 'nette\templates\filetemplate' => '/Templates/FileTemplate.php',
194: 'nette\templates\ifiletemplate' => '/Templates/IFileTemplate.php',
195: 'nette\templates\itemplate' => '/Templates/ITemplate.php',
196: 'nette\templates\latteexception' => '/Latte/LatteException.php',
197: 'nette\templates\lattefilter' => '/Latte/LatteFilter.php',
198: 'nette\templates\lattemacros' => '/Latte/LatteMacros.php',
199: 'nette\templates\template' => '/Templates/Template.php',
200: 'nette\templates\templatecachestorage' => '/Templates/TemplateCacheStorage.php',
201: 'nette\templates\templateexception' => '/Templates/TemplateException.php',
202: 'nette\templates\templatefilters' => '/Templates/TemplateFilters.php',
203: 'nette\templates\templatehelpers' => '/Templates/TemplateHelpers.php',
204: 'nette\tokenizer' => '/tools/Tokenizer.php',
205: 'nette\tokenizerexception' => '/tools/TokenizerException.php',
206: 'nette\tools' => '/tools/Tools.php',
207: 'nette\web\html' => '/tools/Html.php',
208: 'nette\web\httpcontext' => '/Http/HttpContext.php',
209: 'nette\web\httprequest' => '/Http/HttpRequest.php',
210: 'nette\web\httprequestfactory' => '/Http/HttpRequestFactory.php',
211: 'nette\web\httpresponse' => '/Http/HttpResponse.php',
212: 'nette\web\httpuploadedfile' => '/Http/HttpUploadedFile.php',
213: 'nette\web\ihttprequest' => '/Http/IHttpRequest.php',
214: 'nette\web\ihttpresponse' => '/Http/IHttpResponse.php',
215: 'nette\web\isessionstorage' => '/Http/ISessionStorage.php',
216: 'nette\web\iuser' => '/Http/IUser.php',
217: 'nette\web\session' => '/Http/Session.php',
218: 'nette\web\sessionnamespace' => '/Http/SessionNamespace.php',
219: 'nette\web\uri' => '/Http/Uri.php',
220: 'nette\web\uriscript' => '/Http/UriScript.php',
221: 'nette\web\user' => '/Http/User.php',
222: 'notimplementedexception' => '/tools/exceptions.php',
223: 'notsupportedexception' => '/tools/exceptions.php',
224: );
225:
226:
227:
228: 229: 230: 231:
232: public static function getInstance()
233: {
234: if (self::$instance === NULL) {
235: self::$instance = new self;
236: }
237: return self::$instance;
238: }
239:
240:
241:
242: 243: 244: 245: 246:
247: public function tryLoad($type)
248: {
249: $type = ltrim(strtolower($type), '\\');
250: if (isset($this->list[$type])) {
251: LimitedScope::load(NETTE_DIR . $this->list[$type]);
252: self::$count++;
253: }
254: }
255:
256: }
257: