Learning path: developer
This path is for learners who will build on Exponential with PHP: extensions, modules, templates, content classes and integrations. You should know basic PHP and be able to use a terminal. Git is taught along the way. Finish the editor path first; it shows you what the code you write is for.
Contents
The steps
Step 1: A development installation from Git clones (2 hours)
- Read: Develop with Git steps 1 and 2, Setting up a development installation.
- Practice: Installing from Git clones for study.
- Check: what does
git switch -c my-sitegive you, and why does "HEAD detached" in an extension not mean anything is broken?
Step 2: Reading the code you have (1 hour)
- Read: Reading the code you have, What an extension is.
- Practice: use
git log --oneline -10 -- <file>andgit blame <file>on one kernel file (Develop with Git).
Step 3: The content model (2 hours)
- Read: Understanding the content model, The content model and editing content sections 1 to 3.
- Practice: project 1.
- Check: what is the difference between a content object and a node?
Step 4: The template language (4 hours)
- Read: Learning the template language, Templates and design sections 1 to 6.
- Practice: project 3.
- Check: why does
{$node.name|wash}usewash?
Step 5: Settings, siteaccesses and the console (2 hours)
- Read: Understanding siteaccesses and settings, Settings scopes and their order, The exp:ini command.
- Practice: read one setting with
exp:ini whereand explain which file wins.
Step 6: Extensions and modules (4 hours)
- Read: Extensions section 6.1, RAD tools.
- Practice: project 8.
- Check: a module view without a
'functions'entry has what kind of access control? (None: anyone who can reach the site can open it, as the extensions guide warns.)
Step 7: The REST API (2 hours)
- Read: REST API v1 and v2, Personal API keys sections 1 to 3.
- Practice: project 7.
- Check: which versions answer reads, and which answer writes?
Step 8: Search and roles from the developer's side (2 hours)
- Read: Roles, policies and unactivated users, the trainers' Search course, module 1.
- Practice: project 6.
Step 9: Quality and contributing (2 hours)
- Read: Quality checks, Coding standards, Contributing code, Contributing as a student.
- Practice: Your first contribution, step by step.
- Check: which five words may a commit subject start with? (
Added:,Updated:,Fixed:,Removed:,Renamed:, asCONTRIBUTING.mdlists them.)
Going further
| Topic | Pages |
|---|---|
| The whole developer handbook | Extension development, Reading paths |
| Template language in depth | Template language, Template operators |
| Workflows and events | Workflows |
| Releasing an extension | Extensions, Contribute extensions back |
| Upgrading code | Update with Git |
Where the path leads next
- Study projects: 1, 3, 6, 7, 8, capstone.
- With a trainer: Developers, 13 modules.
- Contribute: Contributing as a student.
Related pages
- Using Git as a student
- Git quick reference for learners
- Learning path: designer
- 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.