Developers: course overview
This course teaches PHP developers to build on Exponential. Every module adds a working piece to one development installation that each learner owns: templates and overrides, a datatype override, a fetch function, a module view with its own policy, an extension with settings, a console command, a persistent object table, a workflow event, a cronjob part, a REST provider and a test. The course ends with the RAD tools, deploying under Velocity and a pull request.
Who it is for
- PHP developers starting their first Exponential project.
- Agency developers who maintain sites built on earlier versions and want the 6.x way of working.
- Developers who will write extensions for others.
Outcome: after the course, a developer can build a site's templates, content model and features in extensions of their own, test them, deploy them under Velocity and contribute changes upstream.
Format and duration
| Duration | 53 lessons, about 45 hours of lessons (about seven days with breaks) |
| Format | Hands-on; classroom or online; one development installation per learner |
| Level | Intermediate to advanced |
| Prerequisites | PHP and object-oriented programming, Git, Composer, a terminal; a GitHub account for Module 13 |
| Lab | A development installation of Git clones on SQLite, built in Module 1 (Develop with Git) |
Modules
| Module | Lessons | Duration |
|---|---|---|
| 1. The development installation | 4 | 3 h 25 min |
| 2. The template language | 6 | 5 h |
| 3. Designs, overrides and debugging | 5 | 4 h 15 min |
| 4. Content classes and datatypes | 4 | 3 h 40 min |
| 5. Fetch functions | 4 | 3 h 30 min |
| 6. Modules and views | 4 | 3 h 35 min |
| 7. Extensions | 5 | 3 h 55 min |
| 8. Settings and siteaccesses | 4 | 3 h 15 min |
| 9. The console and persistent objects | 5 | 4 h 20 min |
| 10. Workflows, events and cronjobs | 3 | 2 h 40 min |
| 11. The REST API | 3 | 2 h 45 min |
| 12. Tests and quality | 3 | 2 h 25 min |
| 13. RAD, Velocity and contributing | 3 | 2 h 30 min |
Module durations include their breaks, as each module overview states.
Reading path
For a trainer preparing this course, in this order:
- Trainers: start here and Teaching the core concepts.
- Develop with Git and Update with Git.
- The installation book chapters 3, 7 and 8.
- The content model and editing content and Templates and design.
- Extensions, RAD tools and the Extension development book.
- REST API v1 and v2 and Coding standards.
- Modules 1 to 13, in order; build every module's piece on your own development installation before teaching it.
Suggested schedules
| Schedule | Plan |
|---|---|
| Seven days | One to two modules a day in order; day 7 for Modules 12 and 13 and a review of each learner's extension |
| Two blocks of four days | Days 1-4: Modules 1 to 7 (templates, content model, fetches, views, extensions); days 5-8 a month later: Modules 8 to 13 |
| Agency fast track (four days) | Modules 1, 2, 3, 4, 7, 8 and 13; the rest as self-study |
| Weekly evenings | One module per week |
For shorter formats, see the developers day, the three-day developer bootcamp and the full-stack developer week.
Assessing learners
Every lesson ends with a quiz with sourced answers. For a written test, a practical task and capstones, see Assessments and practical exercises. The assessments are the trainer's own material, not an official certification; the partner program's certifications are separate (Certifications).
Related pages
- Trainers: start here
- Course catalogue
- Extension development
- 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.