1.4.6 Build 488

visual editor for ORM frameworks

Pricing information Free download

Symfony development under Microsoft Windows

I would like to start a serie of articles showing how we develop our symfony projects. Many of you might be developing this way for ages, but I hope you still find some interesting hints or ideas. In this article I would like to describe development strategies under Microsoft Windows.

Linux or Mac OS is in my opinion better suited for symfony development than Windows. It's mostly thanks to the great shell console and better PHP/Apache support (I will explain later). But due to many reasons I am using Windows as my primary OS and I am satisfied with it. For many years I was using Windows Apache/PHP/MySQL ports to develop web applications, but as everyone developing this way knows it has some downfalls.

PHP extension troubles

Everytime I needed some exotic extension which wasn't part of the standard PHP package, I wasn't able to find windows binary of the latest version. The rule was I always found the binary of version prior to some major bug fix or feature extension. And this was frustrating, because the bug fix or feature was what I was looking for. I forced my C++ colleague to try and make me a binary many times but without success. I had to abandon the extension and write some dirty code to provide the functionality.

Command line troubles

I don't know why Microsoft doesn't pay any attention to finaly making command line as usable as Unix shell. Command line is not user friendly at all, many essential features are missing and maybe it's just me, but I am missing more colours. I am no linux guru, but I really like shell console. If you are developing symfony project you are switching between IDE, browser and shell all the time. And having powerfull shell or command line is a must have.

Solution?

I was using cygwin for a few weeks to have shell console on my Windows computer. But it booted slowly and it was hard to install additional software. Then more than a year ago I tried to install Ubuntu Server into VirtualBox and I am using this solution ever since. VirtualBox is a virtualization tool. It creates virtual computer which can run within your operating system.

I installed Ubuntu Server distro and attached local computer folders containing my projects. Apache is configured to use the project folder as a virtual server document root. Ubuntu Server doesn't take much memory and I can't feel any slow down compared to standard Windows Apache/PHP/MySQL installation. I didn't make any measurements because speed wasn't my primary target. What I gain is incredibly easy PHP extension installation and powerfull shell on my windows discs (putty connected through SSH to the virtual server).

In my next article, I would like to show step by step Ubuntu Server installation and VirtualBox configuration. And if you won't be bored to death after that I would describe how to setup stagging and deployment virtual servers which will make project deployment easy and safe task.

Author: Frantisek Troster

ORM Designer on Twitter

Feed from our blog

Missing field-type icons in ORM Designer

Propel ORM Behaviors support!

Propel ORM validators support!

How to change export format (schema.yml / schema.xml)

How to import model from MySql Workbench

New visual symbols for NULL/NOT NULL column types

Execute another application from ORM Designer import/export script

Forum topics

ORM Designer forum: http://forum.orm-designer.com/

About ORM Designer

ORM Designer is a tool for modelling entity relationship diagrams (ERD). The biggest advantage is full support of any ORM framework which has its definitions stored in a markup language or other structured file.

Currently supported ORMs are PHP Doctrine, PHP Propel and CakePHP frameworks, but more will be added in close future.

Inventic s.r.o. - PayPal verified

Real Time Web Analytics

Clicky

Legal notice: The name CakePHP and the cake icon are trademarks of the Cake Software Foundation Inc., and used with permission. "symfony" is a trademark of Fabien Potencier.

© 2009-2012 Inventic s.r.o. all rights reserved