Laravel IDE Helper
PhpStorm ve VS Code gibi editörler için Eloquent modellerine ve Facade'lara otomatik tamamlama desteği sağlayan araç.
Kurulum
Composercomposer require barryvdh/laravel-ide-helper
Dokümantasyon & Kullanım
MarkdownLaravel IDE Helper
Laravel IDE Helper, PhpStorm, VS Code (Intelephense / PHP Tools) ve diğer modern kod editörlerinde Laravel'in dinamik/sihirli metotları (Facade, Eloquent Model sütunları, Macro ve Scope'lar) için kusursuz kod tamamlama (autocomplete), PHPDoc etiketleri ve tür ipuçları (type-hinting) sağlayan temel bir geliştirici aracıdır.
Neden Tercih Edilmeli?
- Hatasız Kod Tamamlama: Eloquent modellerindeki sütunlar, ilişkiler ve dinamik scope'lar editörde doğrudan tanınır.
- Facade Desteği:
Route::get(),Cache::remember()gibi Facade çağrılarında statik analiz hatalarını giderir. - Model PHPDoc Üretimi: Veritabanı tablolarını okuyarak her modelin başına
@propertyaçıklamaları ekler. - Otomasyon ve Composer Hook:
composer.jsondosyasına eklenerek migration veya paket güncellemelerinden sonra otomatik çalıştırılabilir. - PHPStorm Meta Desteği: Konteyner çözümlemelerinde
app('user.service')gibi nesnelerin tipini tanır.
Kurulum
Geliştirme ortamı bağımlılığı (--dev) olarak yükleyin:
composer require barryvdh/laravel-ide-helper --dev
Yapılandırma dosyasını yayınlamak isterseniz:
php artisan vendor:publish --provider="Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider" --tag=config
Temel Kullanım
1. Facade'lar İçin Kod Tamamlama
Uygulamanızdaki tüm Facade'ları tarayarak kök dizinde _ide_helper.php dosyası oluşturur:
php artisan ide-helper:generate
2. Eloquent Modelleri İçin PHPDoc Oluşturma
Veritabanı şemasını tarayıp model dosyalarının başına uygun @property ve metot açıklamalarını yazar:
php artisan ide-helper:models --nowrite
Eğer doğrudan modellerin içine yazmasını isterseniz:
php artisan ide-helper:models --write
Üretilen model örneği:
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
/**
* App\Models\User
*
* @property int $id
* @property string $name
* @property string $email
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Post> $posts
* @method static \Illuminate\Database\Eloquent\Builder|User whereEmail($value)
* @mixin \Eloquent
*/
class User extends Model
{
public function posts()
{
return $this->hasMany(Post::class);
}
}
3. PhpStorm Meta Dosyası Üretme
Service Container app(...) çözümlemeleri için:
php artisan ide-helper:meta
Otomatik Çalıştırma (Composer Scripts)
composer.json dosyanızdaki scripts alanına ekleyerek her güncellemede otomatik tetikleyebilirsiniz:
"scripts": {
"post-update-cmd": [
"Illuminate\\Foundation\\ComposerScripts::postUpdate",
"@php artisan ide-helper:generate",
"@php artisan ide-helper:meta"
]
}
Paket Bilgileri
Etiketler
Diğer Paketler
TALL stack üzerine kurulu, zarif ve son derece genişletilebilir admin paneli ve CRUD yönetim aracı.
API oluşturmadan Vue, React veya Svelte bileşenlerini klasik Laravel controller ve view yapısıyla SPA olarak çalıştırmayı sağlayan adaptör.
PHP ve Laravel için popüler, güçlü, esnek görsel işleme, kırpma, filtreleme ve optimizasyon kütüphanesi.