README.md 2.68 KB
Newer Older
1
2
3
4
5
6
7
PACMAN 2018
===========

## Parcours Web Développeur

Code pas-à-pas vu au cours

8
9
10
11
12
13
14
15
16
17
18
19
20
## Projet Symfony

Créé le 24 Avril 2018, à 13:27
D'après les notes de Mathieu, email: [ mat AT collectifs DOT net ]

## Checklist de Julien pour créer un nouveau projet

#### Checklist

1. Un nom de project CORRECT (qui a du sens):  ProjetX
2. Le nom de la DB (pas 'symfony') ProjetX
3. Ouvrir LE projet (pas le parent)

Mat's avatar
Mat committed
21
22
23
> **PHPstorm: PREMIER REFLEXE**
> * Settings ⇒ Language & Frameworks ⇒ PHP ⇒ Symfony ⇒ Enable APPLYYYYYYYYYYYYYYYYY
> * Si le plugin Symfony n'est pas installé ⇒ Plugins ⇒ Browse repositories ⇒ Symfony plugin + PHP annotation + PHP toolbox
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51

4. Nettoyage

    * supprimer le répertoire AppBundle
    	* editer composer.json
    	* editer app/config/routing.yml
    	* editer app/AppKernel.php
    	* editer app/config/services.yml (commenter)
    * delete tests
    * supprimer  app/Resources/views/default

5. Nettoyer le template de base
	* app/Resources/views/base.html.twig ⇒  Propre

6. Autoloader composer.phar
	* php composer.phar dump-autoload

7. Créer la database
	* php bin/console doctrine:database:create

8. PHPstorm: Settings ⇒ Command line tool support (APPLYYYYYYYY)
9. GIT: dans .gitignore ⇒  ajouter [/.idea/](file:///.idea) (exclusion)
10. Générer le bundle
	* php bin/console doctrine:generate:bundle

11. Editer composer.json
	* ajouter:  "Namespace\\" : "src/Bundle"

Mat's avatar
Mat committed
52
53
54
55
> PHP Fatal error:  Uncaught Symfony\Component\Debug\Exception\ClassNotFoundException:
> Attempted to load class "VincentBundle" from namespace "VincentBundle".
> Did you forget a "use" statement for another namespace? in
> C:\xampp\htdocs\Symfony\VincentClean\app\AppKernel.php:19
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81


12. Autoloader composer.phar
	* php composer.phar dump-autoload

13. CLEAN UP
14. tests
	* TESTER L'APPLI EN CHANGEANT LE TEMPLATE

15. supprimer DefaultController
16. supprimer Resources/views/Default
17. app/config/routing.yml, définir le préfixe
	* path:  /xx


#### Plus

* LORS DE LA SUPPRESSION D'UNE ENTITE, ENLEVER AUSSI LE REPOSITORY
* REGLES:
	* Controlleur:
		* extends MasterController (Controlleur custom)
		* methodAction
		* return RESPONSE
		* RESPONSE ET REQUEST NAMESPACE ⇒ HttpFoundation
	* Form:
		* Dossier Form
Mat's avatar
Mat committed
82
83
		* FormType
			* extends AbstractType
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
			* configureOptions
			* getBlockPrefix
			* buildForm
	* Routing:
		* nom de route: bundle_controlleur_action_advanced
		* methods: [ GET, POST, DELETE]
		* si {} ⇒ requirements (RegEx)
	* Views:
		* ::base.html.twig
		* @Vincent/layout.html.twig
		* @Vincent/Controlleur/action.html.twig
* Everything is OK! Now get to work :).

#### Encore plus

* PHPstorm, templates et snippets :
* Settings ⇒ Editor ⇒ File and Code Templates & Live templates