Cara Mengimplementasikan Larastan Di Laravel Project - CRUDPRO

Cara Mengimplementasikan Larastan Di Laravel Project

Cara Mengimplementasikan Larastan Di Laravel Project

Larastan ialah package yang bisa membantu kami menemukan kesalahan dalam project kami.

Mari kita mulai:

Pertama instal dependensi:

composer require nunomaduro/larastan --dev

Saya menambah flag dev karena saya tidak mau menginstal di production environment. Cara setelah itu membuat file phpstan.neon di lajur root proyek:

includes:
    - ./vendor/nunomaduro/larastan/extension.neon

parameters:

    paths:
        - app/

    level: 2

    checkMissingIterableValueType: false

Mari kita jalankan:

./vendor/bin/phpstan analyse
Note: Using configuration file /solid-laravel/phpstan.neon.
 38/38 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%

 ------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 
  Line   Http/Resources/DepartmentResource.php                                                                                                                                               
 ------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 
  12     PHPDoc tag @extends contains generic type Illuminate\Http\Resources\Json\JsonResource<App\Models\Department> but class Illuminate\Http\Resources\Json\JsonResource is not generic.  
  23     Access to an undefined property App\Http\Resources\DepartmentResource::$id.                                                                                                         
  24     Access to an undefined property App\Http\Resources\DepartmentResource::$name.                                                                                                       
  25     Access to an undefined property App\Http\Resources\DepartmentResource::$address.                                                                                                    
 ------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 

 ------ -------------------------------------------------------------------------------------- 
  Line   Http/Resources/EmployeeResource.php                                                   
 ------ -------------------------------------------------------------------------------------- 
  18     Access to an undefined property App\Http\Resources\EmployeeResource::$id.             
  19     Access to an undefined property App\Http\Resources\EmployeeResource::$first_name.     
  20     Access to an undefined property App\Http\Resources\EmployeeResource::$last_name.      
  21     Access to an undefined property App\Http\Resources\EmployeeResource::$department_id.  
  22     Access to an undefined property App\Http\Resources\EmployeeResource::$role.           
  23     Access to an undefined property App\Http\Resources\EmployeeResource::$usd_salary.     
 ------ -------------------------------------------------------------------------------------- 

                                                                                                                        
 [ERROR] Found 10 errors

Oh, saya memiliki 10 kesalahan dalam kode saya di level 2. Mari kita perbaiki

/** @mixin Employee */
class EmployeeResource extends JsonResource
/** @mixin Department */
class DepartmentResource extends JsonResource
./vendor/bin/phpstan analyse
Note: Using configuration file /solid-laravel/phpstan.neon.
 38/38 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%


                                                                                                                        
 [OK] No errors                              

Oh, saya mempunyai 10 kesalahan dalam code saya di tingkat Anda bisa sesuaikan tingkat analitis dengan Laravel Stan, dimulai dari 1 (termudah) sampai 9 (paling susah). Untuk project yang lebih kecil, tingkat 8 dan 9 kemungkinan pas, dan untuk proyek yang semakin lebih besar, tingkat 3 sampai 5 direferensikan. Ingat-ingatlah jika tingkatkan tingkat analitis bisa menyebabkan semakin banyak kesalahan yang perlu diperbarui.

Untuk project kecil saya, saya pilih 9 tingkat. Saat saya menerapkan Larastan, saya harus juga membuat beberapa peralihan pada kode saya.

Saya anjurkan tambah ketentuan periksa di file CI Anda:2. Silahkan kita benahi

- name: Run PHPstan analyse
  run: ./vendor/bin/phpstan analyse