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: