Application Development

Silverstripe CMS is an ideal platform for rapid application development. With the model-based ORM system you can define your database structure and generate admin interfaces very quickly. You can provide REST- or GraphQL-APIs.

ORM-System

dev/build is the Key

Silverstripe CMS includes a powerful ORM (object-relational mapping) System. It is model-centric, so instead of writing SQL or migrations, you define your datamodel and then run a single command: dev/build. The Silverstripe framework then builds and updates the database schema for you, including all types of relationships. The models are then available with easy-to-use methods for filtering content and accessing relations.

Example model:

use SilverStripe\ORM\DataObject
class Solution extends DataObject {
private static $db = [
"Title" => "Varchar(255)",
"Content" => "HTMLText",
"Active" => "Boolean",
]
private static $has_one = [
"Region" => Region::class,
]
}

Example ORM-calls:

// Get all solutions
$solutions = Solution::get();

// Get the newest active solution
$solution = Solution::get()->Filter(["Active" => 1])->Sort("Created ASC")->First();

// Get the region of the solution
$region = $solution->Region();

Generated user interface

The framework also has strong scaffolding capabilities. That means: After the definition the model, you can generate editing forms and even a complete CRUD-Interface.

class SolutionsAdmin extends ModelAdmin
{
private static $managed_models = [
Solution::class
];

private static $url_segment = 'solutions';

private static $menu_title = 'Solutions';

}

You can of course customize the complete generated interface to your liking or build a completely different interface with custom controllers, forms and templates.

Batteries included

Silverstripe CMS comes with batteries included. It has:

streamline-icon-module-three-2

a powerful and easy-to-use template language

streamline-icon-organic-flask

image manipulation tools

streamline-icon-programming-team-chat-3

included i18n-tools

streamline-icon-programming-browser

a strong security system

streamline-icon-programming-browser

caching tools