Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Amalan aplikasi dan promosi spesifikasi PSR2 dan PSR4 dalam rangka kerja CakePHP

Amalan aplikasi dan promosi spesifikasi PSR2 dan PSR4 dalam rangka kerja CakePHP

王林
王林asal
2023-10-15 13:43:41853semak imbas

. PSR2 dan PSR4 yang dicadangkan oleh PHP-FIG (PHP Framework Interop Group) ialah piawaian pengekodan yang digunakan secara meluas oleh pembangun PHP. Dalam artikel ini, saya akan memperkenalkan secara terperinci amalan aplikasi spesifikasi PSR2 dan PSR4 dalam rangka kerja CakePHP dan memberikan contoh kod khusus.

Amalan aplikasi dan promosi spesifikasi PSR2 dan PSR4 dalam rangka kerja CakePHP1. Amalan aplikasi spesifikasi PSR2

Penyatuan gaya kod

Spesifikasi PSR2 terutamanya tertumpu pada penyatuan gaya kod, termasuk lekukan, ruang, kurungan, penamaan, dll. Dalam rangka kerja CakePHP, kami boleh memaksa kod untuk mengikut spesifikasi PSR2 dengan mengkonfigurasi alat semakan gaya kod CakePHP.

Pertama sekali, buat fail .php_cs.dist dalam direktori akar projek Kandungan fail adalah seperti berikut:

<?php
return PhpCsFixerConfig::create()
    ->setRiskyAllowed(true)
    ->setRules([
        '@PSR2' => true,
        // 在这里添加其他自定义的规则
    ])
    ->setFinder(
        PhpCsFixerFinder::create()
            ->exclude('vendor')
            ->in(__DIR__)
    );
    Kemudian, kami memasang friendsofphp/php-cs-. pakej fixercode> dan tambahkan arahan skrip berikut dalam composer.json:
  1. "scripts": {
        "cs-check": "php-cs-fixer fix --dry-run",
        "cs-fix": "php-cs-fixer fix"
    }

    Akhir sekali, laksanakan perintah composer cs-check untuk menyemak sama ada kod dalam projek mematuhi PSR2 Standard, laksanakan perintah composer cs-fix untuk menyelesaikan masalah gaya dalam kod secara automatik.
    1. Spesifikasi ulasan kod

      Selain itu, spesifikasi PSR2 juga memerlukan pembangun membuat ulasan piawai pada kod, termasuk ulasan pada kelas, atribut, kaedah, dsb. Dalam rangka kerja CakePHP, kami boleh menggunakan anotasi PHPDoc untuk mencapai keperluan ini. .php_cs.dist文件,文件内容如下:

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

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

      "autoload": {
          "psr-4": {
              "App\": "src/",
              "App\Test\": "tests/",
              "App\Console\": "src/Console/",
              "App\Controller\": "src/Controller/",
              // 添加其他命名空间映射
          }
      }

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

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

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

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

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

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

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

      1. composer.json中添加以下内容:
      rrreee
      1. 执行composer dump-autoload命令,将自动加载规则应用到项目中。
      2. 使用PSR4规范的类命名空间加载类:
      rrreee

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

      Sebagai contoh, untuk kelas pengawal UserController, kita boleh memberi anotasi mengikut contoh berikut:
      rrreee

      Melalui contoh di atas, kita boleh mengetahui dengan jelas tujuan jadual data dan kaedah yang sepadan kepada pengawal dan nilai pulangan dan maklumat lain. 🎜🎜2. Amalan aplikasi spesifikasi PSR4🎜Spesifikasi PSR4 tertumpu terutamanya pada pemuatan automatik ruang nama PHP. Ia menyediakan cara yang bersatu untuk memuatkan kelas dalam aplikasi. 🎜🎜Dalam rangka kerja CakePHP, kita boleh menggunakan spesifikasi PSR4 melalui langkah berikut: 🎜🎜🎜Tambah kandungan berikut dalam composer.json: 🎜🎜rrreee
        🎜Laksanakan Perintah composer dump-autoload menggunakan peraturan pemuatan automatik pada projek. 🎜🎜Gunakan ruang nama kelas spesifikasi PSR4 untuk memuatkan kelas: 🎜🎜rrreee🎜Dalam contoh di atas, kami menggunakan kelas AppControllerUserController dan tidak memasukkan fail kelas secara manual, tetapi memuatkannya melalui pemuatan automatik ini kelas. 🎜🎜Kesimpulan: 🎜Dengan menggunakan spesifikasi PSR2 dan PSR4 pada rangka kerja CakePHP, kami boleh meningkatkan kebolehbacaan kod, menggunakan gaya pengekodan bersatu dan piawaian pengekodan, dengan itu meningkatkan kebolehselenggaraan projek dan kecekapan pembangunan pasukan. Pada masa yang sama, melalui kod contoh di atas, kita dapat memahami dengan jelas cara menggunakan kedua-dua spesifikasi ini dalam rangka kerja CakePHP. Saya percaya bahawa pengalaman praktikal ini akan membantu anda dalam pembangunan masa hadapan. 🎜

    Atas ialah kandungan terperinci Amalan aplikasi dan promosi spesifikasi PSR2 dan PSR4 dalam rangka kerja CakePHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan:
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn