ClassloaderΒΆ
The classloader is provided by ownCloud and loads all your classes automatically. The only thing left to include by yourself are 3rdparty libraries. Those should be loaded in appinfo/application.php
.
The classloader works like this:
Take the full qualifier of a class:
\OCA\MyApp\Controller\PageController
If it starts with \OCA include file from the apps directory
Cut off \OCA:
\MyApp\Controller\PageController
Convert all charactes to lowercase:
\myapp\controller\pagecontroller
Replace \ with /:
/myapp/controller/pagecontroller
Append .php:
/myapp/controller/pagecontroller.php
Prepend /apps because of the OCA namespace and include the file:
require_once '/apps/myapp/controller/pagecontroller.php';
In other words: In order for the PageController class to be autoloaded, the class \OCA\MyApp\Controller\PageController needs to be stored in the /apps/myapp/controller/pagecontroller.php
.. 2.3 replace:: 2.3