ExpressionEngine® 3 User Guide

Legacy Documentation

You are using the documentation for version 3.5.17. Go here for the latest version or check here for your available upgrades to the latest version.

Syntax Changes

This section is an overview of syntax changes for third party integration with the new ExpressionEngine.

General Syntax Changes

ExpressionEngine 3.0 adopts PSR-1 and PSR-4, which means StudlyCaps for class names, camelCase for method names, namespaces, and autoloading.


cp_url(...) has been deprecated, please use ee('CP/URL', '...'). For the full documentation see Control Panel Styles.

Model Service

The model service helps smooth out interacting with ExpressionEngine’s data types by providing an API that mimics their natural language description as closely as is feasible. You do not query for channel_data joined on channel_titles; instead, you simply get a channel entry:

$oscar = ee('Model')->get('Member')
  ->filter('screen_name’, ‘Oscar')

$oscar->bio = 'I got this.';

For the full documentation see Model Service.