Proje: Okul Platform · Hub: Okul Platform — Conventions
Laravel Pint (Code Style)
pint.json — PSR-12 preset üzerine özelleştirmeler:
not_operator_with_successor_space: false—!$xyerine! $xyazılmıyorbraces_position: true— Brace konumu kuralısingle_line_empty_body: true— Boş body tek satırtrailing_comma_in_multiline— arguments, arrays, match, parametersconcat_space: one— String concat’te boşluktrim_array_spaces: true
Çalıştırma: ./vendor/bin/pint --test (CI) veya ./vendor/bin/pint (düzelt)
PHPStan (Static Analysis)
Level: 5 (9 maksimum)
Extension’lar: Larastan + Carbon extension
Analiz Edilen Dizinler
app/,config/,database/migrations|seeders|traits/,routes/constants.php,bootstrap/app.php,bootstrap/providers.phpCustomerIO/Objects/,CustomerIO/Client.phppackages/
Hariç Tutulanlar
app/Swagger/*,app/Overrides/*,packages/Okul/PHPStan/*
Universal Object Craters
Illuminate\Http\Resources\Json\JsonResource — Dynamic property erişimine izin ver
Custom PHPStan Rules (packages/Okul/PHPStan/Rules/)
ForbiddenDebugCodeRule
Debug/güvensiz kodların production’a çıkmasını engeller.
Yasaklanan fonksiyonlar: var_dump, dd, dump, sleep, exit, die, echo, print, goto
Bilinçli kullanım için: // @phpstan-ignore-next-line
StrictTypesDeclarationRule
Her PHP dosyasında declare(strict_types=1); zorunlu.
Bu yüzden kod tabanındaki çoğu dosyada declare(strict_types=1) var.
CI Komutu (commit mesajından)
style: apply Laravel Pint formatting — Otomatik formatlama commit’i
Related
- api-code-conventions — Genel kod konvansiyonları