Skip to main content

Installation

Vérifier la version de composer: composer --version

Composer installation

Directement depuis PhpStorm

installCompPhpStorm.png

Manual installation

Update

Vérifier les nouveaux updates ici

note

J'ai installé Tatter/patch ceci permet de presque faire la mise jour.

  1. utiliser la console de Git Bash puis aller dans le dossier de votre projet et taper la commande suivante (avec la version souhaitée):
 ./vendor/bin/patch -v 4.5.1
  1. Le script bug un peu. il va s'arrêter. Nous sommes dans la branche tatter. faire git add sur les fichier composer.json et composer.lock et les commiter.
  2. Changer de brancher pour la branche master
  3. Sélectionner le commit qui a été fait sur la branche tatter et faire un cherry-pick
  4. Vérifier les conflits et les résoudre

Installation de CodeIgniter DevKit

Utilisation de Devkit comme tools that CodeIgniter uses to help ensure quality code, including our coding standard.

note

DevKit contient php-cs-fixer, phpstan, phpunit, phpunit-coverage, rector

codeIgniter DevKit

github devKit

Installation

composer config minimum-stability dev
composer config prefer-stable true
composer require --dev codeigniter4/devkit

Configuration de cs fixer

CodeIngiter configuring cs fixer

Utilisation de cs fixer dans phpstorm

phpstorm cs fixer

Autre possibilité de configuration

note

Si devkit est installé, il n'est pas nécessaire d'ajouter friendsofphp/php-cs-fixer dans le composer.json

set le path de cs fixer dans phpstorm img.png

Puis, update composer.json

img.png

Pour que php-cs-fixer soit utilisé dans phpstorm, il faut ajouter dans insperction: confi3-cs-fixer.png À partir d'ici, normalement, cs fixer nous montre les erreurs dans le code.

Dans le fichier composer.json, on peut ajouter la configuration de cs fixer

{
"scripts": {
"cs-fix": "php-cs-fixer fix --ansi --verbose --diff"
}
}

Depuis ici, on peut runner la commande composer cs-fix pour exécuter cs-fix.

PhpStan

PhpStan Graficart Phpstorm

L'installation est pratiquement la même que pour php-cs-fixer

Il faudra mettre à jour le fichier phpstan.neon.dist pour ajouter les dossiers à analyser

parameters:
tmpDir: build/phpstan
level: 6
paths:
- app/
- tests/
- my-comp-package/src
- my-comp-package/tests/

Dans le fichier composer

"scripts": {
"test": "phpunit",
"php-cs-fixer": "php-cs-fixer fix --config=.php-cs-fixer.dist.php",
"phpstan": "phpstan analyse -c phpstan.neon.dist --memory-limit 512M"
}

Php Psalm

Psalm jetBrain

L'installation est pratiquement la même que pour php-cs-fixer

Il faudra mettre à jour le fichier psaml.xml pour ajouter les dossiers à analyser

Il faudra ajouter (modifier) le fichier psalm.xml.dist pour définir les directories à analyser

<projectFiles>
<directory name="app/" />
<directory name="tests/" />
<directory name="my-comp-package/src/" />
<directory name="my-comp-package/tests/" />
<ignoreFiles>
<directory name="vendor" />
<directory name="app/Views" />
</ignoreFiles>
</projectFiles>

Dans composer

"scripts": {
"test": "phpunit",
"php-cs-fixer": "php-cs-fixer fix --config=.php-cs-fixer.dist.php",
"phpstan": "phpstan analyse -c phpstan.neon.dist",
"psalm": "vendor/bin/psalm --config=psalm.xml"
}

Rector

Rector documentation

Phpstorm

github rector

On prend le fichier rector.php de devkit (dossier Templates) et on le met à la racine du projet. Ensuite avec le bouton droit de la souris, on peut lancer rector avec Run

PHPUnit

Copier le fichier phpunit.xml.dist de CodeIgniter (il existe peut-être déjà) dans le dossier racine de votre projet

Installation avec composer

composer require --dev phpunit/phpunit

Configuration de phpunit dans phpstorm

img.png

Code coverage

Installer XDebug et ajouter dans le php.ini

; XDEBUG Extension
[xdebug]
zend_extension="c:/wamp64/bin/php/php8.1.28/zend_ext/php_xdebug-3.3.1-8.1-vs16-x86_64.dll"
;xdebug.mode allowed are : off develop coverage debug gcstats profile trace
xdebug.mode =coverage
xdebug.output_dir ="c:/wamp64/tmp"
xdebug.show_local_vars=0
xdebug.log="c:/wamp64/logs/xdebug.log"
;xdebug.log_level : 0 Criticals, 1 Connection, 3 Warnings, 5 Communication, 7 Information, 10 Debug Breakpoint
xdebug.log_level=7
xdebug.profiler_output_name=trace.%H.%t.%p.cgrind
xdebug.use_compression=false

Choisir le dossier de couverture de code

Dans le fichier phpunit.xml.dist, ajouter les lignes suivantes pour spécifier le dossier de couverture de code

 <source>
<include>
<!--<directory suffix=".php">./app</directory>-->
<directory suffix=".php">./src</directory>
</include>
<exclude>
<directory suffix=".php">./app/Views</directory>
<file>./app/Config/Routes.php</file>
</exclude>
</source>

Namespace et autoloading

Lorsqu'on utilise composer, on ajoute les namespaces dans la partie autoloader

{
"autoload": {
"psr-4": {
"App\\": "app/",
"MigrationBuilder\\": "src/"
}
}
}

Ensuite, pour pousser les changements, on fait dans phpstorm

Code -> Detect PSR-0 Namespace Roots

Debug

Pour le débug, il faut ajouter dans le php.ini

xdebug.mode=debug, coverage
xdebug.client_host=localhost
xdebug.client_port=9003

Avec debug, coverage, on peut utiliser xdebug pour les deux modes.

Ensuite, créer une page avec phpinfo() et prendre la source code pour l'ajouter dans Run -> Web Server Debug Validation

codeigniter debug