This repository contains the project structure for the Sulu workshop at the Symfony Live Berlin 2019. The repository builds upon the sulu/skeleton repository and adds some project specific libraries such as Bootstrap or Symfony Encore.
The assignments of the workshop are located in the assignments folder.
- PHP 7.2 or higher
- Relational Database like MySQL, MariaDB or PostgreSQL
If you choose to run your services with docker you can startup your database by executing the following command:
docker-compose up
If you prefer to use your local database you can configure your credentials in a .env.local
file in the root directory of the project:
DATABASE_URL=mysql://DB_USER:[email protected]:3306/DB_NAME
Use composer to install the dependencies of the project:
composer install --optimize-autoloader
Run the following command to initialize the database that will be used by Sulu:
bin/console sulu:build dev --destroy
You can startup the built-in PHP web-server with:
bin/console server:run
If you have the SYMFONY CLI Tools installed and want to increase your performace you can also use the following command to startup the SYMFONY webserver:
symfony server:start
The project setup in the repository includes several development tools that help you to improve the quality of your code
The project already contains some unit tests and functional tests. They can be executed with the following commands:
# create and update test database
bin/adminconsole doctrine:database:create -e test
bin/adminconsole doctrine:schema:update --force -e test
# execute all test cases
composer test
You can can pass additional phpunit arguments by appending -- <arguments>
to the composer test
command.
composer test -- --stop-on-fail
To keep your code consistent you can automatically reformat your code with the following command:
composer php-cs-fix
PHPStan helps you to catch bugs before they actually occur by statically analyzing your code. Use following command to run it:
composer phpstan