Edit model and export CakePHP definitions

Work in sophisticated visual editor for CakePHP and save your time.

With Skipper you eliminate routine and avoid all mistypes.

  • Entity
  • Plugin
  • Project
Skipper diagram - entity Skipper diagram - plugin Skipper diagram - project

1.Visually edit your project model.

  • Generated PHP code
<?php
/**
* Base EcommerceOrder object
*
* This class has been auto-generated by ORM Designer (http://www.skipper18.com)
*/
 
class BaseEcommerceOrder extends AppModel
{
  public $name = 'EcommerceOrder';
  public $primaryKey = 'id';
  public $_schema = 
    array (
      'id' => 
        array (
          'type' => 'integer',
          'length' => 4
        ),
      'ecommerce_order_state_id' => 
        array (
          'type' => 'integer',
          'length' => 4
        ),
      'contact_id' => 
        array (
          'type' => 'integer',
          'length' => 4
        ),
      'delivery_address_id' => 
        array (
          'type' => 'integer',
          'length' => 4
        ),
      'billing_address_id' => 
        array (
          'type' => 'integer',
          'length' => 4
        ),
      'ordered_at' => 
        array (
          'type' => 'timestamp'
        ),
      'customer_note' => 
        array (
          'type' => 'string'
        ),
      'internal_note' => 
        array (
          'type' => 'string'
        )
    );
  public $validate = 
    array (
      'id' => 
        array (
          'rule' => 
            array (
              'blank'
            ),
          'allowEmpty' => false,
          'required' => true,
          'name' => 'content',
          'message' => 'value required',
          'last' => true
        ),
      'ordered_at' => 
        array (
          'rule' => 
            array (
              'datetime'
            ),
          'allowEmpty' => false,
          'last' => true,
          'message' => 'value required',
          'name' => 'is_date',
          'required' => true
        )
    );
  public $hasMany = 
    array (
      'EcommerceOrderStateChange' => 
        array (
          'className' => 'EcommerceOrderStateChange',
          'foreignKey' => 'ecommerce_order_id'
        ),
      'EcommerceOrderItem' => 
        array (
          'className' => 'EcommerceOrderItem',
          'foreignKey' => 'ecommerce_order_id'
        ),
      'EcommerceOrderSimpleItem' => 
        array (
          'className' => 'EcommerceOrderSimpleItem',
          'foreignKey' => 'ecommerce_order_id'
        )
    );
  public $belongsTo = 
    array (
      'EcommerceOrderState' => 
        array (
          'className' => 'EcommerceOrderState',
          'foreignKey' => 'ecommerce_order_state_id'
        ),
      'Contact' => 
        array (
          'className' => 'Contact',
          'foreignKey' => 'contact_id'
        ),
      'DeliveryAddress' => 
        array (
          'className' => 'Address',
          'foreignKey' => 'delivery_address_id'
        ),
      'BillingAddress' => 
        array (
          'className' => 'Address',
          'foreignKey' => 'billing_address_id'
        )
    );
}
?>

2.Export it to complete definition files.

Download 14-day trial version

Try Skipper for free. No credit card needed.


Why use Skipper

Definitions exported by one click

Export your project into CakePHP ORM definitions any time you need. Standardized output is completely ready-to-use, you don't need to edit or add anything.

Skipper CakePHP export settings Skipper CakePHP export results CakePHP definitions exported by Skipper

Editing in visual interface

Create and edit all objects visually via smart dialogs and wizards. All changes in model evoke appropriate changes in exported CakePHP definition files.

Skipper entity editor for CakePHP Skipper plugin editor for CakePHP Skipper Association editor for CakePHP

Lower need of CakePHP skills

Value advisors, validators and assistants, definitions generated via standardized templates. Don't worry about CakePHP syntax and keywords anymore.

Skipper CakePHP property editor Skipper CakePHP property editor - validators Skipper editing CakePHP fields

See all the features


Support for all CakePHP features

Supported formats

Skipper supports native CakePHP definitions format. Export your projects directly in PHP code.


Skipper CakePHP base class export result Skipper CakePHP definitions export result

Entities and modules

Create new or edit existing entity and change its fields and ORM properties. For better orientation in your CakePHP project, organize entities into colorful modules and regions.

Skipper diagram of CakePHP entities and associations Editing CakePHP fields, associations and inheritance in Skipper Skipper visual model of CakePHP project

Associations

Connect entities by one to one, one to many and many to many associations. Define owner and inverse entity or MN entity and aliases. Smart wizards will help you to define CakePHP associations easily.

Skipper CakePHP Many-to-Many wizard Skipper CakePHP Association wizard Skipper CakePHP Many-to-Many editor Skipper CakePHP Association editor

Indexes

With Skipper you can create CakePHP indexes by a few clicks. In user-friendly visual interface define all needed indexes and choose fields indexed by them.

Skipper CakePHP index editor

ORM Properties

You can edit any of your model properties directly in visual model. Skipper offers unique Property Editor where any value can be modified.

Skipper CakePHP property editor - attributes and options Skipper CakePHP property editor - behaviors Skipper CakePHP property editor - validators

Customization

You can customize configurations for your CakePHP project. Define your own datatypes, custom properties, add new behaviors or change existing properties.

Support for MVC frameworks

No matter, which MVC framework you use, whether it is Symfony, Zend or any other. Definition files generated by Skipper have support for any existing MVC framework.

Over 5,000 companies use Skipper every day


We use Skipper on our daily basis for ecommerce software development. It lets us visualize at a glance the data models and work on them in a simple and easy way.

Dario Schilman, IDS Soluciones Ecommerce

It is faster and gives less errors to have Skipper create the mapping code instead of writing it myself. Later in the development process I often use the Skipper diagram as a quick reference.

Herman Peeren, Yepr

It saved us a lot of time designing and configuring complex data models. It is impressive to see what this software achieves on its own.

Michael Stoye, ColorGATE

It simplifies our work because it saves us time. With features added over time like adding behaviors to Propel in Skipper it has become an unmissable tool in our organisation.

Erwin te Bos, aXtion

We have good use of the tool. It simplifies our daily work, saves us time and is simple and intuitive to use.

Thomas Somoen, Try/Apt

Skipper is especially helpful in the initial data modeling phase. Exporting the data model and scaffolding makes it really easy to get a first prototype up and running in a matter of minutes.

Jörn Wagner, Explicatis

Skipper is a stable and easy to use schema designing tool! No documentation, just design and everything is documented!

Siebe Vos, Inform'aid

Simply put, for us, Skipper is not just a tool to master, but a mastermind that teaches us the best programming practices.

Can Berkol, Biber Ltd

More user stories

Detailed list of supported CakePHP ORM features

Skipper model properties

Object Property
Project name, storage path, description
Module name, description, external plugin storage, export path and format
Entity name, description
Field name, type, size, required, unique, primary key, auto increment, default value, enum values, description
Association owner/inverse entity, reference fields, owner/inverse alias, association type (one-to-one, one-to-many), parent requirement, description
Many to Many mn entity, owner/inverse entity, reference fields, owner/inverse alias, description
Inheritance base/derived entity, inheritance type, discriminator value/field, description
Index name, unique, indexed fields, description

CakePHP model properties

Object Property
Project schema (export-file)
Module -
Entity actAs (Behaviors), useDbConfig, useTable, tablePrefix, displayField, recursive, order, data, virtualFields, alias, cacheQueries, cacheSources, findQueryType, logTransactions, table, tableToModel, transactional
Field Validators
Association conditions, fields, order, counterCache, counterScope, dependent, limit, offset, exclusive, finderQuery
Many to Many finderQuery, deleteQuery, insertQuery, limit, offset, fields, conditions

CakePHP behaviors support

  • ACL
  • Containable
  • Translate
  • Tree

CakePHP associations support

  • CakePHP One to one (one-to-one)
  • CakePHP One to many (one-to-many)
  • CakePHP Many to one (many-to-one)
  • CakePHP Many to many (many-to-many)

CakePHP validators support

  • alphaNumeric
  • between
  • blank
  • boolean
  • cc
  • comparison
  • date
  • decimal
  • email
  • equalTo
  • extension
  • ip
  • isUnique
  • minLength
  • maxLength
  • money
  • multiple
  • inList
  • numeric
  • notEmpty
  • phone
  • postal
  • range
  • ssn
  • url
  • reg-ex
  • own-function

CakePHP datatypes support

  • boolean
  • integer
  • binary
  • date
  • time
  • timestamp
  • datetime
  • float
  • text
  • string