- PHP requirements: 5.3, ext/intl
- https://github.com/symfony/symfony-sandbox vs. https://github.com/symfony/symfony-bootstrapper vs. ..
- submodules vs. vendor scripts vs. MR
- submodule cons: not everything is in git (svn, mercurial etc)
- vendor script cons: risk of things getting out of sync
- MR cons: not cross platform
- http://docs.symfony-reloaded.org/master/
- http://symfony2bundles.org
- http://docs.symfony-reloaded.org/master/contributing/community/other.html
- http://fabien.potencier.org/article/11/what-is-dependency-injection
- container injection
- pros: quick to setup, full lazy loading (request, response)
- cons: dependencies not easily visible, dependencies cannot be customized on a per service basis, unit testing ugly
- constructor injection
- pros: clear dependencies both in the code and DI config
- cons: no way to handle optional dependencies, boilerplate code
- setter injection
- pros: allow's to handle optional dependencies to some degree
- cons: more boilerplate code, dependency definition cluttered
- interface injection
- pros: less chance for typos
- cons: more boilerplate code, dependencies cannot be customized on a per service basis
- config recommendations
- config import
- yaml vs. xml
- yaml merge key http://yaml.org/type/merge.html
- xsd
- controllers as service
- base Controller vs. POPO
- request vs. sub-requests (parameter propagation)
- single vs. multiple separate front controllers
- separation frontend vs. admin not necessary anymore
- however for large apps it pays to separate code during development
- step by step updates possible
- multiple teams working
- main/MainKernel.php vs. app/main/MainKernel.php
- structuring controllers for ESI
- forward() is no longer your performance enemy
- break up controller actions based on cache settings
- varnish
- rsync vs. Debian (https://github.com/liip/sf2debpkg) vs. ..
- FOS\UserBundle
- FOS\AsseticBundle
- FOS\FacebookBundle
- Liip\ViewBundle
- Liip\FunctionalTestBundle
- functional testing
- Sonata\BaseApplicationBundle
- Sonata\EasyExtendBundle?
- ..