This is not difficult but there are some steps that are not exactly self evident that this blog will show you how to get the demo working.
Preliminaries
The first thing to do is to make sure you have PHP 7.2 or better installed including the php7.2-intl (sudo apt-get install php7.2-intl) package as well as the PDO connector. I will admit I have been using PHP since it appeared and this is the first time I have had to install this package.
And you will want Composer to do the behind the scenes lifting for you and Doctrine to map the relations in the PHP code to the database. Please see my previous blog on getting Doctrine to work with MySQL 8 (Big hint for the TL;DR crowd, set your .env to DATABASE_URL=mysql://account:password@localhost:3306/databasename ).
You will want to create an account on the MySQL server for use with this demo and then make sure it will have the proper rights to use the new schema.
CREATE USER 'demouser'@'localhost' IDENTIFIED WITH mysql_native_password BY 'S3cr3t#';
and
GRANT ALL on 'databasename'.* to 'demouser'@'localhost';
The Demo
Now we can start work on the demo itself.The first thing to do in a terminal window is type composer create-project symfony/symfony-demo. Composer will get the demo code ready for you. Now cd cymfony-demo.
Change the .env file (you may have to copy the .env-dist to .env and edit it) as noted above DATABASE_URL=mysql://demouser:S3c3t#@localhost:3306/databasename
Now it is time to use Doctrine to build create the database, the schemas, and load the data.
$ php bin/console doctrine:database:create
$ php bin/console doctrine:schema:create
$ php bin/console doctrine:fixtures:load
Finally enter php bin/console server:run to start the demo. You will get a notice about the URL to use to get to the demo via a web browser. Use that URL in your web browser to get to the actual demo and below you can see that URL is http://127.0.0.1:8000.
Running the Symfony Demo Application. Note that the application is listening on http:127.0.0.1:8000 |
The Symfony Demo to help you explore this popular PHP Freamwork |