Automatic class loading: Difference between revisions
No edit summary |
No edit summary |
||
Line 31: | Line 31: | ||
==Namespaces== | ==Namespaces== | ||
==Performance=== | ==Performance and developer mode== | ||
Class autoloading improves performance and reduces memory footprint. | |||
Location of all classes is automatically stored in class map cache, the cache is updated automatically before upgrade or installation, during cache reset and in developer mode. | |||
There is only one inconvenience - if you add new class or remove it you need to do one of the following: | |||
* visit yourserver/admin/index/ | |||
* purge cache | |||
* or add <code php>$CFG->debug = (E_ALL | E_STRICT);</code> to your config.php | |||
==See also== | ==See also== |
Revision as of 12:05, 8 June 2013
Note: This page is a work-in-progress. Feedback and suggested improvements are welcome. Please join the discussion on moodle.org or use the page comments.
Moodle 2.6
Class naming
All class names must start with Frankenstyle prefix such as mod_forum_:
Class file location
Examples
Example of autoloadated class in forum module:
<?php
// file mod/forum/classes/some_class.php
class mod_forum_some_class {
}
<?php
// file mod/forum/lib.php
$instance = new mod_forum_some_class();
Namespaces
Performance and developer mode
Class autoloading improves performance and reduces memory footprint.
Location of all classes is automatically stored in class map cache, the cache is updated automatically before upgrade or installation, during cache reset and in developer mode.
There is only one inconvenience - if you add new class or remove it you need to do one of the following:
- visit yourserver/admin/index/
- purge cache
- or add
$CFG->debug = (E_ALL | E_STRICT);
to your config.php