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 - entity Skipper diagram - bundle Skipper diagram - project

1.Visually edit your project model.

  • YML
1 EcommerceOrder:
2 actAs:
3 Priceable:
4 vat:
5 disabled: true
6 Timestampable:
7 created:
8 alias: created_at
9 type: timestamp
10 format: Y-m-d H:i:s
11 updated:
12 alias: updated_at
13 type: timestamp
14 Restable:
15 tableName: ecommerce_order
16 options:
17 charset: utf8
18 collate: utf8_unicode_ci
19 columns:
20 id:
21 primary: true
22 type: integer(4)
23 notnull: true
24 autoincrement: true
25 unsigned: true
26 ecommerce_order_state_id:
27 type: integer(4)
28 contact_id:
29 type: integer(4)
30 delivery_address_id:
31 type: integer(4)
32 billing_address_id:
33 unique: true
34 type: integer(4)
35 ordered_at:
36 type: timestamp
37 past: true
38 date: true
39 customer_note:
40 type: string
41 internal_note:
42 type: string
43 relations:
44 EcommerceOrderState:
45 onDelete: CASCADE
46 local: ecommerce_order_state_id
47 foreign: id
48 Contact:
49 local: contact_id
50 foreign: id
51 DeliveryAddress:
52 class: Address
53 local: delivery_address_id
54 foreign: id
55 BillingAddress:
56 class: Address
57 local: billing_address_id
58 foreign: id
59

2.Export it to complete definition files.

Download 14-day trial version

Try Skipper for free. No credit card needed.


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 menu
Skipper Doctrine import wizard
Skipper Doctrine import wizard - definition files
Skipper 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 settings
Skipper Doctrine export results
Doctrine 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 Doctrine
Skipper bundle editor for Doctrine
Skipper 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 behaviors
Skipper Doctrine property editor - behaviors, attributes
Skipper 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 yml export result

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 entities and associations
Editing Doctrine fields, associations and inheritance in Skipper
Skipper 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 wizard
Skipper Doctrine Association wizard
Skipper Doctrine Many-to-Many editor
Skipper 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 wizard
Skipper 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 editor - actAs behaviors
Skipper Doctrine property editor - actAs timestampable
Skipper Doctrine property editor - selecting behaviors

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.

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

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

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

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

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

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 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

More user stories

Detailed list of supported Doctrine ORM features

Skipper model properties

Object Property
Project name, storage path, description
Module name, namespace, description, external plugin storage, export path and format
Entity name, namespace, 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

Doctrine ORM model properties

Object Property
Project -
Module actAs (behaviors), options (charset, collate, type), connection, detect_relations,entity_prefix
Entity actAs (behaviors), tableName,attributes (export), options (charset, collate, type)
Field scale, email, notblank ,nospace, past, future, minlength, country, ip, htmlcolor, range, regexp, creditcard, date, readonly , unsigned , usstate, fixed, collation
Association onDelete, onUpdate, orderBy, side-owning(type, cascade), side-inverse (type, casdcade)
Many to Many onDelete, onUpdate
Inheritance -
Index type, index-field (sorting, length)

Doctrine ORM behaviors support

  • Versionable
  • Timestampable
  • Sluggable
  • I18n
  • NestedSet
  • Searchable
  • Geographical
  • Taggable
  • SoftDelete
  • EventLoggable
  • GoogleI18n
  • Sortable
  • Blameable

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 model import / export formats

  • YAML (YML) definitions

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)