siberfx/turkiye-address
Türkiye Adresler Laravel Paketi
Bu paket, Türkiye'nin şehir, ilçe ve mahalle verilerini Laravel projelerine kolayca entegre etmenizi sağlar. SQL dump dosyaları, dinamik tablo isimleri, seeder, migration ve Eloquent modelleri ile birlikte gelir.
Özellikler
- Türkiye'nin tüm şehir, ilçe ve mahalle verileri
- Esnek yapılandırma seçenekleri
- Performans için optimize edilmiş veri yükleme
- Kolay entegrasyon için hazır migration dosyaları
- Seçici yayınlama özelliği ile ihtiyacınız olan dosyaları yükleyin
- Laravel 12 ve 13 ile uyumlu (PHP 8.4)
Gereksinimler
- PHP 8.4+
- Laravel 12 veya 13
Kurulum
- Paketi Composer ile yükleyin:
composer require siberfx/turkiye-adresler-json
Servis sağlayıcısı paket bulma (package discovery) ile otomatik olarak kaydedilir; elle kayıt gerekmez.
Kullanım
Tüm Varlıkları Yayınlama
Tüm yapılandırma, migration ve seeder dosyalarını tek komutla yayınlayın:
php artisan turkiye:publish
Seçerek Yayınlama
Sadece ihtiyacınız olan dosyaları seçerek yayınlayabilirsiniz:
# Sadece config dosyasını yayınla
php artisan turkiye:publish --config
# Sadece migration dosyalarını yayınla
php artisan turkiye:publish --migrations
# Sadece seeder ve SQL dosyalarını yayınla
php artisan turkiye:publish --seeders
# Mevcut dosyaların üzerine yaz
php artisan turkiye:publish --force
Migration'ları Çalıştırma
Yayınlanan migration dosyalarını çalıştırın:
php artisan migrate
Verileri Yükleme
Seeder'ı DatabaseSeeder.php dosyanıza ekleyin:
$this->call(\Siberfx\TurkiyePackage\Database\Seeders\TurkiyeSeeder::class);
Ardından verileri yükleyin:
php artisan db:seed
Yapılandırma
config/turkiye-package.php dosyasından tablo isimlerini ve model sınıflarını özelleştirebilirsiniz:
return [
'cities_table' => env('TURKIYE_CITIES_TABLE', 'cities'),
'districts_table' => env('TURKIYE_DISTRICTS_TABLE', 'districts'),
'neighborhoods_table' => env('TURKIYE_NEIGHBORHOODS_TABLE', 'neighborhoods'),
'city_model' => 'Siberfx\\TurkiyePackage\\Models\\City',
'district_model' => 'Siberfx\\TurkiyePackage\\Models\\District',
'neighborhood_model' => 'Siberfx\\TurkiyePackage\\Models\\Neighborhood',
];
Modellerin Kullanımı
use Siberfx\TurkiyePackage\Models\City;
use Siberfx\TurkiyePackage\Models\District;
use Siberfx\TurkiyePackage\Models\Neighborhood;
// Tüm şehirleri getir
$iller = City::all();
// Belirli bir ile ait ilçeleri getir (city_id farklı tablo isimleri kullanılıyorsa değiştirilmnelidir )
$ilceler = District::where('city_id', 1)->get();
// Belirli bir ilçeye ait mahalleleri getir (district_id farklı tablo isimleri kullanılıyorsa değiştirilmnelidir )
$mahalleler = Neighborhood::where('district_id', 10)->get();
İlişkiler
Modeller arasında tanımlanmış ilişkileri kullanabilirsiniz:
// Bir şehrin tüm ilçeleri
$il = City::find(1);
$ilceler = $il->districts;
// Bir ilçenin tüm mahalleleri
$ilce = District::find(10);
$mahalleler = $ilce->neighborhoods;
Sürüm Geçmişi
Detaylı değişiklikler için CHANGELOG.md dosyasına bakınız.
Katkıda Bulunma
Katkılarınızı bekliyoruz! Lütfen önce bir konu açarak yapmak istediğiniz değişikliği tartışın.
Lisans
Bu paket MIT lisansı altında lisanslanmıştır.
İletişim
SiberFX - info@siberfx.com
Proje Linki: https://github.com/siberfx/turkiye-il-ilce-mahalle
Related Packages
Rinvex Addressable is a polymorphic Laravel package, for addressbook management....
Metamel Addresses is a polymorphic Laravel package, for address book management....
Türkiye İl İlçe Semt Muhit Mahalle ve Posta Kodları Laravel Paketi. Adds Turkish...