(si les commandes symfony et composer ne sont pas installer, aller au 2/ Installation de “composer” et “symfony”(commande) sur les machines de l’iut )
Choix d’une version : https://symfony.com/roadmap
symfony new S2tp1 --full --no-git
cd S2tp1
composer require orm-fixtures --dev
composer require admin
# symfony check:requirements # en cas d'erreurs
tester la commande ci-dessous :
symfony serve
#
symfony server:start --no-tls
symfony open:local # ouvre le navigateur
# arrêt Ctrl+c ou dans un autre terminal
symfony server:stop
symfony server:ca:install
En cas de problème, utiliser la version LTS
symfony new my_project_name --version=lts
Dans la documentation, on peut lire qu’il faut installer 2 programmes qui permettent d’appeler les commandes “composer” et “symfony”
La version de PHP doit être supérieure à 7.x, vérifier dans un terminal la version de PHP :
php -v
et paquets
php -m |grep -E "ctype|iconv|json|prce|session|simpleXML|tokeniser"
dpkg -l |grep php
Pour la commande “symfony”, taper la commande :
wget https://get.symfony.com/cli/installer -O - | bash
(sur windows, installer le programme dans l’onglet “windows”)
symfony
symfony check:requirements
Installation de composer Dans un terminal
~/bin
~/bin
Dans un terminal
mkdir ~/bin
cd ~/bin
curl -sS https://getcomposer.org/installer | php
mv composer.phar composer
.bashrc
sur votre répertoire $HOME
(~
)Dans un terminal
subl ~/.bashrc
Dans sublim text, ajouter à la fin du fichier .bashrc le code ci-dessous :
PATH=$PATH:~/bin
PATH="$HOME/.symfony/bin:$PATH"
if [[ -O /home/$USER/tmp && -d /home/$USER/tmp ]]; then
TMPDIR=/home/$USER/tmp
else
# You may wish to remove this line, it is there in case
# a user has put a file 'tmp' in there directory or a
rm -rf /home/$USER/tmp 2> /dev/null
mkdir -p /home/$USER/tmp
TMPDIR=$(mktemp -d /home/$USER/tmp/XXXX)
fi
TMP=$TMPDIR
TEMP=$TMPDIR
export TMPDIR TMP TEMP
redémarrer votre session
tester la commande composer dans un terminal
composer
La version de PHP doit être supérieure à 7.2.4, vérifier dans un terminal avec la commande php -v
symfony local:php:list
Sur les machines de l’IUT, ouvrir depuis le gestionnaire de fichiers l’application /opt/PhpStorm/bin/phpStorm.sh, cette action va créer un lanceur dans applications/outils de développement
Lors de la première utilisation, choisir “serveur de licence”
Ouvrir un nouveau projet sur le dossier S2tp1
Sur votre Machine, créer un compte sur le site jetBrain avec votre email de l’IUT, installer phpStorm (gratuit pour les étudiants de l’IUT), l’email de l’IUT et votre mot de passe permettent d’avoir un ticket de Licence pour 1 an.
~/bin
un lien symbolique sur phpstormln -s /opt/PhpStorm/bin/phpstorm.sh ~/bin/phpstorm
phpstorm . &
.env
, l’IDE phpStorm vous le propose lorsque vous ouvrez ce fichierDATABASE_URL=mysql://votreLogin:votreMotDePasse@serveurmysql:3306/BDD_votreLogin
# ou de préférence
DATABASE_URL=mysql://votreLogin:votreMotDePasse@serveurmysql:3306/BDD_votreLogin_orm
ATTENTION : Sur vos machines perso., il faut depuis un terminal être capable de lancer mysql
sans être dans le bon dossier :
.bash_profile
ou plus récemment .zprofile
(PATH=$PATH:/Applications/MAMP/Library/bin
export PATH
)PATH
le chemin pour accéder au fichier mysql.exe (exemple D:\WampServer\bin\mysql\mysql5.7.21\bin
)mysql -u votreLogin -h localhost -p
pour se connecter Dans le fichier .gitignore, le fichier .env ne fait pas partie du dépôt de GIT qui permet de versionner et stocker sur un serveur distant le code source de votre projet.
Dans le fichier .gitignore, rajouter le dossier .idea
/.idea/
# mettre en commentaire le dossier /public
git init
git status
git add -A .
git commit -m "Premier Commit : structure de symfony"
git add -A .
git commit -m "second Commit : .env"
git config --global user.name "votreLogin"
git config --global user.email "votreLogin@@edu.univ-fcomte.fr"
git remote add origin https://gitlab.com/votreLogin/tp1.git
git push -u origin master
Remarque : Si vous passez la variable APP_ENV à la valeur prod (plus d’affichage d’erreurs), on aura une erreur 404 car il n’y a pas de route associée à /
.
Important :
source : https://knpuniversity.com/screencast/symfony
http://www.phpbenchmarks.com/fr/comparator/frameworks.html
3 plugins sur phpStorm
ref https://knpuniversity.com/screencast/symfony/micro-app-phpstorm#play
raccourci pour ajouter les “namespaces”
controle+Maj+I
Editor General autoImport
Tips
=> erreur webprofilerbundle
composer require profiler --dev
un fichier symfony avec les droits d’éxécution
#!/bin/sh
TMPDIR=$(mktemp -d /tmp/$USER.XXXXXXXXXX) || exit
export TMPDIR
exec $HOME/.symfony/bin/symfony $@
dans le fichier ~/.bashrc
PATH=$PATH:~/bin