leventust / levframe
A lightweight framework using Laravel components
Installs: 2
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Type:project
pkg:composer/leventust/levframe
Requires
- php: ^8.1
- ext-json: *
- guzzlehttp/guzzle: ^7.10
- illuminate/bus: ^12.41
- illuminate/cache: ^12.41
- illuminate/config: ^12.41
- illuminate/database: ^12.20
- illuminate/encryption: ^12.41
- illuminate/events: ^12.20
- illuminate/filesystem: ^12.41
- illuminate/log: ^12.41
- illuminate/queue: ^12.41
- illuminate/support: ^12.20
- izniburak/router: ^3.0
- league/plates: ^3.6
- ramsey/uuid: ^4.9
- robthree/twofactorauth: ^3.0
- symfony/console: ^7.2
- symfony/var-dumper: ^8.0
- vlucas/phpdotenv: ^5.6
README
Bu proje, temel Laravel bileşenlerini kullanan hafif ve özelleştirilebilir bir PHP uygulamasıdır.
Kurulum
Projeyi Composer kullanarak aşağıdaki komutla kurabilirsiniz:
composer create-project leventust/levframe myapp
Klasör Yapısı
Projenin temel dizin yapısı aşağıdaki gibidir:
.
├── console # Konsol komutlarını çalıştıran dosya
├── public/ # Web sunucusu kök dizini (index.php buradadır)
├── config/ # Ayar dosyaları
├── database/ # Veritabanı ve migrasyon dosyaları
└── src/
├── app/ # Uygulama kodları
│ ├── Controllers/ # Kontrolcüler (Controller)
│ ├── Jobs/ # İş kuyruğu sınıfları (Job)
│ ├── Models/ # Veritabanı modelleri (Model)
│ └── routes.php # Rota tanımları
└── core/ # Çekirdek dosyalar (Framework core)
Konsol Komutları
Proje içerisindeki işlemleri php console komutu ile gerçekleştirebilirsiniz.
İş Kuyruğu (Queue/Job) Komutları
| Komut | Açıklama |
|---|---|
php console make:job <Isim> |
Yeni bir Job (İş) sınıfı oluşturur. |
php console queue:work |
Kuyruktaki işleri işlemeye başlar. |
php console make:queue-table |
Kuyruk tablosu için migrasyon oluşturur. |
php console make:queue-failed-table |
Hatalı işler tablosu için migrasyon oluşturur. |
php console queue:failed |
Hatalı işleri listeler. |
php console queue:retry <id> |
Hatalı bir işi tekrar kuyruğa ekler. |
Veritabanı & Migrasyon Komutları
| Komut | Açıklama |
|---|---|
php console make:migration <Isim> |
Yeni bir veritabanı migrasyonu oluşturur. |
php console migrate |
Migrasyonları çalıştırır (Tabloları oluşturur). |
php console migrate:rollback |
Son yapılan migrasyonu geri alır. |
php console migrate:status |
Migrasyonların durumunu gösterir. |
Nasıl Kullanılır?
1. Kurulum ve Başlangıç
Projeyi oluşturduktan sonra dizine girin ve gerekli ayarları yapın:
cd myapp cp .env.example .env # .env dosyasındaki veritabanı ayarlarını düzenleyin
2. Veritabanı Migrasyonları
Yeni Bir Tablo Oluşturma
Yeni bir tablo oluşturmak için --create parametresini kullanın:
php console make:migration create_products_table --create=products
Oluşan dosya database/migrations klasöründe olacaktır. İçeriğini şu şekilde düzenleyebilirsiniz:
Schema::create('products', function (Blueprint $table) { $table->id(); $table->string('name'); $table->decimal('price', 8, 2); $table->timestamps(); });
Mevcut Tabloyu Güncelleme
Var olan bir tabloya sütun eklemek veya değiştirmek için --table parametresini kullanın:
php console make:migration add_stock_to_products_table --table=products
Dosya içeriği:
Schema::table('products', function (Blueprint $table) { $table->integer('stock')->default(0); });
Migrasyonları çalıştırmak için:
php console migrate
3. Yeni Bir Job Oluşturma
Konsoldan aşağıdaki komutu çalıştırın:
php console make:job OrnekIslemJob
Bu komut src/app/Jobs/OrnekIslemJob.php dosyasını oluşturacaktır.
4. İşleri Çalıştırma (Worker)
Kuyruğa atılan işlerin arka planda işlenmesi için worker'ı başlatın:
php console queue:work