Maison >développement back-end >tutoriel php >Pratique d'application et promotion des spécifications PSR2 et PSR4 dans le framework CakePHP

Pratique d'application et promotion des spécifications PSR2 et PSR4 dans le framework CakePHP

王林
王林original
2023-10-15 13:43:41915parcourir

Pratique dapplication et promotion des spécifications PSR2 et PSR4 dans le framework CakePHP

Pratique et promotion de l'application des spécifications PSR2 et PSR4 dans le framework CakePHP - exemples de code

Introduction :
De nos jours, la plupart des développeurs espèrent suivre certaines normes de codage lors du développement d'applications PHP pour améliorer la lisibilité et la maintenabilité du code. Les PSR2 et PSR4 proposés par PHP-FIG (PHP Framework Interop Group) sont des standards de codage largement utilisés par les développeurs PHP. Dans cet article, je présenterai en détail la pratique d'application des spécifications PSR2 et PSR4 dans le framework CakePHP et fournirai des exemples de code spécifiques.

1. Pratique d'application de la spécification PSR2

  1. Unification du style de code
    La spécification PSR2 se concentre principalement sur l'unification du style de code, y compris l'indentation, les espaces, les crochets, la dénomination, etc. Dans le framework CakePHP, nous pouvons forcer le code à suivre la spécification PSR2 en configurant l'outil de vérification de style de code de CakePHP.

Tout d'abord, créez un fichier .php_cs.dist dans le répertoire racine du projet. Le contenu du fichier est le suivant : .php_cs.dist文件,文件内容如下:

<?php
return PhpCsFixerConfig::create()
    ->setRiskyAllowed(true)
    ->setRules([
        '@PSR2' => true,
        // 在这里添加其他自定义的规则
    ])
    ->setFinder(
        PhpCsFixerFinder::create()
            ->exclude('vendor')
            ->in(__DIR__)
    );

然后,我们通过安装friendsofphp/php-cs-fixer包,并在composer.json中添加以下脚本命令:

"scripts": {
    "cs-check": "php-cs-fixer fix --dry-run",
    "cs-fix": "php-cs-fixer fix"
}

最后,执行composer cs-check命令即可检查项目中的代码是否符合PSR2规范,执行composer cs-fix命令可以自动修复代码中的风格问题。

  1. 代码注释规范
    另外,PSR2规范还要求开发者对代码进行规范的注释,包括类、属性、方法等的注释。在CakePHP框架中,我们可以使用PHPDoc注释来实现这一要求。

例如,对于一个控制器类UserController,我们可以按照以下示例进行注释:

/**
 * Class UserController
 *
 * @package AppController
 * @property AppModelTableUsersTable $Users
 */
class UserController extends AppController
{
    /**
     * 用户列表页
     *
     * @return CakeHttpResponse|null
     */
    public function index()
    {
        // 方法逻辑......
    }
}

通过以上示例,我们可以清晰地知道该控制器对应的数据表、方法的用途以及返回值等信息。

二、PSR4规范的应用实践
PSR4规范主要关注PHP命名空间的自动加载,它提供了一种统一的方式来加载应用程序中的类。

在CakePHP框架中,我们可以通过以下步骤来使用PSR4规范:

  1. composer.json中添加以下内容:
"autoload": {
    "psr-4": {
        "App\": "src/",
        "App\Test\": "tests/",
        "App\Console\": "src/Console/",
        "App\Controller\": "src/Controller/",
        // 添加其他命名空间映射
    }
}
  1. 执行composer dump-autoload命令,将自动加载规则应用到项目中。
  2. 使用PSR4规范的类命名空间加载类:
use AppControllerUserController;

class AppController extends CakeControllerController {
    // 控制器的代码......
}

以上示例中,我们使用了AppControllerUserControllerrrreee

Ensuite, nous installons friendsofphp/php-cs-. fixateurcode> et ajoutez la commande de script suivante dans composer.json :

rrreee
Enfin, exécutez la commande composer cs-check pour vérifier si le code si le projet est conforme à la norme PSR2, exécutez la commande composer cs-fix pour résoudre automatiquement les problèmes de style dans le code.

    🎜Spécifications des commentaires de code🎜De plus, la spécification PSR2 exige également que les développeurs fassent des commentaires standardisés sur le code, y compris des commentaires sur les classes, les attributs, les méthodes, etc. Dans le framework CakePHP, nous pouvons utiliser les annotations PHPDoc pour répondre à cette exigence. 🎜🎜🎜Par exemple, pour une classe de contrôleur UserController, on peut l'annoter selon l'exemple suivant : 🎜rrreee🎜Grâce à l'exemple ci-dessus, on peut clairement connaître le but de la table de données et la méthode correspondante au contrôleur et renvoie la valeur et d’autres informations. 🎜🎜2. Pratique d'application de la spécification PSR4🎜La spécification PSR4 se concentre principalement sur le chargement automatique de l'espace de noms PHP. Elle fournit un moyen unifié de charger les classes dans les applications. 🎜🎜Dans le framework CakePHP, nous pouvons utiliser la spécification PSR4 en suivant les étapes suivantes : 🎜🎜🎜Ajouter le contenu suivant dans composer.json : 🎜🎜rrreee
      🎜Exécuter La commande composer dump-autoload applique des règles de chargement automatique au projet. 🎜🎜Utilisez l'espace de noms de classe de spécification PSR4 pour charger les classes : 🎜🎜rrreee🎜Dans l'exemple ci-dessus, nous avons utilisé la classe AppControllerUserController et n'avons pas inclus le fichier de classe manuellement, mais l'avons chargé via le chargement automatique. catégorie. 🎜🎜Conclusion : 🎜En appliquant les spécifications PSR2 et PSR4 au framework CakePHP, nous pouvons améliorer la lisibilité du code, utiliser un style de codage et des normes de codage unifiés, améliorant ainsi la maintenabilité du projet et l'efficacité du développement de l'équipe. En même temps, grâce à l'exemple de code ci-dessus, nous pouvons clairement comprendre comment appliquer ces deux spécifications dans le framework CakePHP. Je crois que ces expériences pratiques vous seront utiles dans votre développement futur. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn