The smartest way to Doctrine definitions

Use powerful visual editor to import, edit and export Doctrine definitions.

Work faster and avoid all mistypes or errors.

Entity
Bundle
Project
Skipper diagram - entitySkipper diagram - bundleSkipper diagram - project

1. Visually edit your project model.

YML
EcommerceOrder:
  actAs:
    Priceable:
      vat:
        disabled: true
    Timestampable:
      created:
        alias: created_at
        type: timestamp
        format: Y-m-d H:i:s
      updated:
        alias: updated_at
        type: timestamp
    Restable:
  tableName: ecommerce_order
  options:
    charset: utf8
    collate: utf8_unicode_ci
  columns:
    id:
      primary: true
      type: integer(4)
      notnull: true
      autoincrement: true
      unsigned: true
    ecommerce_order_state_id:
      type: integer(4)
    contact_id:
      type: integer(4)
    delivery_address_id:
      type: integer(4)
    billing_address_id:
      unique: true
      type: integer(4)
    ordered_at:
      type: timestamp
      past: true
      date: true
    customer_note:
      type: string
    internal_note:
      type: string
  relations:
    EcommerceOrderState:
      onDelete: CASCADE
      local: ecommerce_order_state_id
      foreign: id
    Contact:
      local: contact_id
      foreign: id
    DeliveryAddress:
      class: Address
      local: delivery_address_id
      foreign: id
    BillingAddress:
      class: Address
      local: billing_address_id
      foreign: id

2. Export it to complete definition files.


Why use Skipper

Simple Project import

Smart import wizard allows you to import any of your Doctrine projects just in a few seconds. Created visual model lets you discover all objects and logic among them.

Skipper file menuSkipper Doctrine import wizardSkipper Doctrine import wizard - definition filesSkipper imported Doctrine project

Definitions exported by one click

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

Skipper Doctrine export settingsSkipper Doctrine export resultsDoctrine 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 Doctrine definition files.

Skipper entity editor for DoctrineSkipper bundle editor for DoctrineSkipper Association editor for Doctrine

Lower need of Doctrine skills

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

Skipper Doctrine property editor - actAs behaviorsSkipper Doctrine property editor - behaviors, attributesSkipper editing Doctrine fields

See all the features


Support for all Doctrine features

Supported formats

Skipper supports Doctrine native YAML format. Definitions are exported in standardized format compliant with Doctrine coding conventions.

Skipper Doctrine definitions YAML

Entities and modules

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

Skipper diagram of Doctrine entitiesEditing Doctrine fields in SkipperSkipper visual model of Doctrine 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 create Doctrine associations in no time.

Skipper Doctrine Many-to-Many wizardSkipper Doctrine Association wizardSkipper Doctrine Many-to-Many editorSkipper Doctrine Association editor

Inheritance

Create and edit Doctrine inheritance via intuitive dialog simply and quickly. Choose base and derived entity, set up inheritance type and define inheritance discriminators.

Skipper Doctrine inheritance wizardSkipper Doctrine inheritance editor

Indexes

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

Skipper Doctrine 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 Doctrine property editorSkipper Doctrine property editor comboSkipper selecting Doctrine behavior

Customization

You can customize configurations for your Doctrine 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.

See all the features

Over 5,000 companies use Skipper every day

Thomas Somoen, Try/Apt

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

Herman Peeren, Yepr

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

Detailed list of supported Doctrine ORM features

Skipper model properties

ObjectProperty
Projectname, storage path, description
Modulename, namespace, description, external plugin storage, export path and format
Entityname, namespace, description
Fieldname, type, size, required, unique, primary key, auto increment, default value, enum values, description
Associationowner/inverse entity, reference fields, owner/inverse alias, association type (one-to-one, one-to-many), parent requirement, description
Many to Manymn entity, owner/inverse entity, reference fields, owner/inverse alias, description
Inheritancebase/derived entity, inheritance type, discriminator value/field, description
Indexname, unique, indexed fields, description

Doctrine ORM model properties

ObjectProperty
Project-
ModuleactAs (behaviors), options (charset, collate, type), connection, detect_relations, entity_prefix
EntityactAs (behaviors), tableName, attributes (export), options (charset, collate, type)
Fieldscale, email, notblank, nospace, past, future, minlength, country, ip, htmlcolor, range, regexp, creditcard, date, readonly, unsigned, usstate, fixed, collation
AssociationonDelete, onUpdate, orderBy, side-owning(type, cascade), side-inverse (type, cascade)
Many to ManyonDelete, onUpdate
Inheritance-
Indextype, index-field (sorting, length)

Doctrine ORM datatypes support

  • boolean

  • integer

  • float

  • decimal

  • string

  • array

  • object

  • blob

  • clob

  • timestamp

  • date

  • time

  • enum

  • gzip

Doctrine ORM inheritance support

  • Simple

  • Concrete

  • Column Aggregation

Doctrine ORM associations support

  • Doctrine One to one (one-to-one)

  • Doctrine One to many (one-to-many)

  • Doctrine Many to one (many-to-one)

  • Doctrine Many to many (many-to-many)

Doctrine ORM model import / export formats

  • YAML (YML) definitions

Doctrine ORM behaviors support

  • Versionable

  • Timestampable

  • Sluggable

  • I18n

  • NestedSet

  • Searchable

  • Geographical

  • Taggable

  • SoftDelete

  • EventLoggable

  • GoogleI18n

  • Sortable

  • Blameable