Skipper - The ORM Designer Blog
  • Skipper - The ORM Designer
  • VsBuilds - Parallel building
  • Pulpo - Free Skipper CLI

The latest review by Miguel Montes: Skipper + Symfony + Doctrine, great combination

Today we bring you the latest review about Skipper translated from Spanish. Original version of the review is available at MIMOPO blog written by Miguel Montes (you can follow him also on Twitter). We would like to thank Miguel for his kind words about Skipper and now the review itself:

Skipper + Symfony + Doctrine, great combination

Skipper is the best tool I’ve seen so far to design data models and export them to Doctrine 2. Using a tool like this makes it much more easier and prevents us from possible mistakes we could make while manually typing classes.

Multiplatform and very configurable

There are two things for which I love Skipper. The first is its multiplatform support and the second is that it is highly configurable. Although through its interface it is not possible to control as many options as I would like, the  configuration using XML files is a very powerful system ideal for versioning by the code bundle or application we are developing. For projects with Symfony + Doctrine I created configuration that you can see in this gist. Skipper uses XML project files, which means that we can also manually change the project files itself. Useful, for example, when we change the name of a class and want to do the same with all foreign keys that point to it, we open it in a text editor and perform an operation strings replacement. Skipper export supports PHP Doctrine classes with annotations, YML or XML. In my case I chose PHP with annotations. While the export works perfectly and respects the content of existing classes, it is a good practice to make sure we use correctly versioning system to be able to go back in case of any anomaly. After exporting the classes we can run our project Symfony app / console doctrine: generate: entities and we will write only validators and do some tinkering. At the moment it is not possible to define validators or defaults in Doctrine 2 projects. In my opinion this feature would prevent a lot of work and it would be quite appreciated. However, it is possible to contact the development team through the support forum, where new suggestions for new features or improvements are accepted.

Your Price

You can try Skipper for free for 14 days. Although it is a payed tool, I think the price is more than reasonable when you consider the comfort that brings and the work that we can save. Also, if you do a review like this Atlantic18 team will offer a juicy 10% discount which is not bad;). If you only need to see the diagram of a project without modifying the model, you can always install the totally free application display mode.

A is worth more than thousand words

Here are screenshots that I’ve taken during the import of existing Symfony project, the result obtained and its subsequent export.

Skipper project import

Skipper project import

Skipper project imported

Skipper project imported

Skipper project

Skipper project

Skipper project export

Skipper project export

Skipper project exported

Skipper project exported

The data model belongs to the “Coupon” application that appears in the book “Agile development with Symfony2” of Javier Eguiluz, 100% recommended for all those that you have interest in you start Symfony 2.

Editor’s note to defaults and validators:

Regarding the thoughts about defaults and validators, unfortunately default values aren’t support by Doctrine2 at all and it’s directly PHP thing. We know we can export it to PHP classes, but in this case we started with different behavior between Annotations and XML/YML where such behavior isn’t available. The same is true for validators, which aren’t Doctrine2 feature but Symfony one.

14 Oct 2014

Posted by: Iva Kubickova

Uncategorized