Module 7: Extensions
Since module 1 learners have built mysite_hello one piece at a time. This module turns it into a proper
extension: a map of what it holds, its identity and license, the autoloads and activation that make its code
reachable, its place in the loading order, and a template operator as the last piece.
At a glance
| Course | Developers |
| Duration | 3 hours 55 minutes (with one 10-minute break) |
| Lessons | 5 |
| Level | Intermediate to advanced |
Lessons
| Lesson | Duration | What learners do |
|---|---|---|
| Lesson 7.1: The anatomy of an extension | 40 minutes | Map every file of mysite_hello to its extension point and setting |
| Lesson 7.2: extension.xml, ezinfo.php and a license | 45 minutes | Write the metadata, add a license, check the About page |
| Lesson 7.3: Autoloads and activation | 45 minutes | ezpgenerateautoloads.php -e, Setup > Extensions, class not found |
| Lesson 7.4: Loading order and dependencies | 40 minutes | Read the order, declare <uses>, see the real loading position |
| Lesson 7.5: A template operator | 55 minutes | Write, register and use mysite_initials |
Preparing this module
- Each learner has
mysite_hellowith the pieces of modules 3 to 6 committed in its own Git repository. xmllintis installed on the learners' machines (lesson 7.2); check withxmllint --version.- An administrator account for the Extensions page and the About page.
- Rehearse lesson 7.3 step 3 (the class not found on purpose) so you can show the debug output on the projector.
Timing plan
| Part | Minutes |
|---|---|
| Lesson 7.1 | 40 |
| Lesson 7.2 | 45 |
| Lesson 7.3 | 45 |
| Break | 10 |
| Lesson 7.4 | 40 |
| Lesson 7.5 | 55 |
| Total | 235 |
Related pages
- Developers: course overview
- Trainers: start here
- Free documentation: this page is free to copy, translate and improve under the GNU FDL 1.3.
Become an Exponential Partner
Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.