- First create the project using the
https://github.com/symfony/symfony-standard edition (
composer.phar create-project symfony/framework-standard-edition path/to/install 2.4
) - Delete the AcmeBundle (and be done with it, See symfony-standard README, you should completely disable security instead of following their (faulty) protocol)
- Add the drop-in config importer
- Update
AppKernel::registerContainerConfiguration
inapp/AppKernel.php
to$loader->load(__DIR__.'/config/config.php');
. - Delete
config*.yml
, copy allapp/conf*.d
and edit to your needs. - Update
parameters.yml.dist
to use our default one - Update
composer.json
config to use our default options (See below) - Update
composer.json
to use WMC's gitlab as a source of repositories - Update
.gitignore
to use our default one - Install wemakecustom/symfony-app-loader:~1.0
- Delete
htdocs/config.php
- Install strongly recommended bundles (you will almost always need them anyway): * symfony2-bundles/wmccommonbundle:* * sp/bower-bundle:dev-master * jms/di-extra-bundle:1.x * leafo/lessphp:*
- Create the
confs
directory for Hosting environment specific configs (See below).
Only the differences with symfony/framework-standard-edition
's default are
mentioned here.
"minimum-stability": "dev",
"prefer-stable": true,
"extra": {
"symfony-app-dir": "app",
"symfony-web-dir": "htdocs",
"symfony-assets-install": "relative"
}
This implies using htdocs
instead of web
as the web dir. Remember to update
your .gitignore
if needed.
Hosting environment specific configurations are used to achieve the same goal as
parameters.yml.dist
. However, in .PROD
, these configuration are
automatically generated. We therefore need them to be included in symfony via a
specific worflow.
An example for a MySQL database (doctrine/orm
conf) is available:
- app/config/conf.d/database.php
- confs/samples/database.ini
The first list of each section should be installed via composer. The others are simply here for reference.
symfony2-bundles/wmccommonbundle:*
mopa/bootstrap-bundle:dev-master
twbs/bootstrap:3.0.x
leafo/lessphp:*
presta/sitemap-bundle:dev-master
-
symfony2-bundles/wmcdoctrinebundle:*
-
doctrine/orm
-
stof/doctrine-extensions-bundle:~1.1@dev
-
gedmo/doctrine-extensions
jms/di-extra-bundle:1.x
"friendsofsymfony/user-bundle":"~2.0@dev"
https://github.com/FriendsOfSymfony/FOSUserBundle/tree/master
"jms/security-extra-bundle":"1.x"
https://github.com/schmittjoh/JMSSecurityExtraBundle
-
symfony2-bundles/wmcmenubundle:*
-
knplabs/knp-menu-bundle
sp/bower-bundle:dev-master
friendsofsymfony/jsrouting-bundle:*
hwi/oauth-bundle:0.3.*@dev
Take a look to http://gitlab.wemakecustom.com/tcfj/mon-conseil
-
friendsofsymfony/facebook-bundle:1.2.*
-
facebook/php-sdk
Take a look to http://gitlab.wemakecustom.com/tcfj/mon-conseil
-
symfony2-bundles/wmctwitterbundle:*
-
ocramius/proxy-manager:*
-
themattharris/tmhoauth
Take a look to http://gitlab.wemakecustom.com/tcfj/mon-conseil
- Add a link to each bundle git repo/documentation in the Commonly used list
- Create a shell script to make the initial setup automatic