Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Coming from Slim, CodeIgniter, Yii, CakePHP or Laminas

A guide for developers from Slim, CodeIgniter, Yii, CakePHP and Laminas (Zend Framework) - how their controllers, models, views, configuration, middleware and modules map to Exponential, which conventions will feel…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/web-framework-developers/coming-from-micro-and-classic-php-frameworks.md

On this page

Coming from Slim, CodeIgniter, Yii, CakePHP or Laminas

This page is for developers whose PHP background is one of the classic MVC frameworks or a micro framework. The good news: Exponential's PHP style (classes with static helpers, active record, convention over configuration, arrays as configuration) is closer to CodeIgniter, Yii 1 and CakePHP than to container-heavy frameworks. The difference is that Exponential is content-first: a model of content, permissions and an administration are already there.

Contents

  1. The MVC pieces
  2. Framework by framework
  3. PSR standards
  4. What is new for you

The MVC pieces

PieceIn your frameworkIn Exponential 6
Controllera class with action methodsa module view per address (Controllers)
Modelactive record (CodeIgniter models, Yii ActiveRecord, CakePHP tables and entities) or a table gateway (Laminas)eZPersistentObject for your tables, the content API for content (ORM)
ViewPHP templates, Twig or Platesthe template language (The view layer)
Routesa route file or conventions/<module>/<view> conventions (Routing)
ConfigurationPHP arraysINI files in layers (Configuration)
Modules, pluginsHMVC modules, Yii modules, CakePHP plugins, Laminas modulesextensions (Packages)

Framework by framework

FrameworkFamiliarDifferent
Slimsmall core, you choose the parts; middleware thinkingno PSR-15 pipeline; request rules and listeners instead (Middleware)
CodeIgniter/controller/method/param addresses look like /module/view/param; helpers and librariespermissions, sessions and CSRF are built in differently (Authentication, Forms and CSRF)
Yiiactive record, behaviors, modules, a code generator (Gii)the RAD tools take the place of Gii (RAD tools); RBAC is roles and policies stored as data (Authorization)
CakePHPconventions, bake, plugins, ORM with tablesschema files instead of migrations plugin (Migrations)
Laminas, Mezziomodules, configuration merging, event managerno service manager (Dependency injection); ezpEvent instead of the event manager (Events)

PSR standards

Exponential 6 is installed with Composer and loads Composer's autoloader, so PSR-4 libraries work in your extension. The kernel itself predates PSR-7 and PSR-15: requests are read through eZHTTPTool and eZSys, responses are a result array or direct output, and there is no PSR-11 container. Do not plan on passing PSR-7 objects through the kernel.

What is new for you

Start with Task: build a small CRUD module; it will feel like the first controller you wrote in your framework.

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.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x