This article is targeted to technical leads who may be hiring me for contracting or perm roles, as a Symfony specialist. Firstly as a technical person, I'm sure you are aware of the difference between using MVC (and related algorithms), and using Symfony2. I have used MVC type (see MVP, MVVM etc) algorithms since my second year at Uni, in 2000. I have used Swing, AWT, java Servlets, Zend framework2, Catalyst, Symfony2.3 and Symfony2.5. At mIS I wrote event libraries which where similar to MVC (for XML, no View is needed, but had Models, Transformers and Controllers), and again for other processing, which was more Model and Presenter structures.

As a Symfony2 developer I use:

  • Twig
  • Regionalised twig e.g. translation layers, and different templates for different locales
  • doctrine2 (or PDO if is this seems better to the solution)
  • Composer for installation/ updates
  • The Symfony form libraries,
  • The Symfony input validators
  • Symfony Session class
  • Using DI via Containers and services.yml
  • The Transformer interfaces
  • Monolog
  • Assetic server side asset caching / Uglify
  • Varnish front side caching
  • For relevant situations, I write Console modules
  • REST via FOS REST bundle
  • user Identification and Authentication via security bundle
  • Custom authentication libraries
  • The basic MVC [...]
  • The DI configuration and structure / adding new Factories

Obviously as a professional, I use the following standard technologies:

  • Unit testing e.g. PHPunit for several years (and qunit, junit, test::more etc)
  • Controllers can be unit tested via WebClientTest? classes (part of Symfony)
  • When BDD is supported as a process, I use Behat/mink/goutte/php stack, and behat/mink/selenuim stack. I prefer the headless test where possible, as they run faster.
  • Version control, GIT, SVN
  • Caching: memcached, (or SHM directly)
  • PHP optimisers: APC, Zend optimiser
  • JS libraries such as jquery
  • build/ deploy tools e.g. Jenkins, Puppet (I have also written a list of custom ones)
  • Docbook to $X, for man pages, info pages, wiki pages etc
  • phpdoc, phpdocumenter and related technologies
  • IDE: Netbeans or Eclipse and vim as default. I would be happy to use PHPstorm..
  • Various db interface tools. I prefer to store Schema with the code in the VCS
  • For the above XML, I built a regression tester for transaction level testing (this is similar to BDD for pure machine readable systems).
  • I built stress testers for alot of the networking software at mIS.

Symfony2+ Usage

RSS. Share: Share this resource on your twitter account. Share this resource on your linked-in account. G+

Symfony2+ Usage

RSS. Share: Share this resource on your linked-in account. Share this resource on your twitter account. G+ ­ Follow