PHP Başlangıç Şablonu
Her yeni projenin altına konan hazır temel: kurulum sihirbazı, rol tabanlı panel, migration, kuyruk, olay sistemi, modüller, REST API ve PWA. Composer, framework ve CDN yok.
Ekran Görüntüleri 3 görsel
Bu Örnek Ne Yapıyor?
- Tarayıcıdan çalışan kurulum sihirbazı: .env üretir, tabloları ve migration'ları kurar, yönetici hesabı açar
- Kimlik ve yetki hazır: giriş/kayıt, beni hatırla, rol-yetki, kaba kuvvet koruması, sertleştirilmiş oturum
- Altyapı katmanları hazır: yönlendirme, hata yönetimi, günlük, migration, depolama, önbellek, olaylar, kuyruk, zamanlayıcı
- Açılıp kapanabilen modül sistemi: her modülün kendi rotaları, tabloları, görünümleri ve menüsü var
- REST API: standart yanıt zarfı, Bearer anahtarı, hız sınırı ve sayfalama
- PWA desteği ve panelden yönetilen künye; sayfa yönetimi, SEO alanları ve dinamik sitemap
- Çekirdek iş mantığını bilmez: olay yayınlar, modüller dinler — yirmi komutluk konsol (php cy) ile üreteçler
- Composer, framework ve CDN yok; paylaşımlı hostingte de komut satırı olmadan kurulur
Nerede İşe Yarar?
- Yeni bir müşteri projesine sıfırdan başlarken hazır bir temel olarak
- ERP, CRM, CMS, blog veya SaaS gibi farklı işlerin altına aynı altyapıyı koymak
- Framework kullanmadan katmanlı bir PHP mimarisi öğrenmek ya da öğretmek
- Paylaşımlı hostingte komut satırı olmadan kurulabilen bir yönetim paneli gerektiğinde
- Var olan bir projeye kuyruk, olay veya modül altyapısı eklerken referans almak
Gereksinimler
- PHP 8.1+ (pdo_mysql, mbstring, json; gd ve fileinfo önerilir) · MySQL 5.7+ veya MariaDB 10.3+ · Apache (mod_rewrite) ya da Nginx
Nasıl Kurulur?
- Proje dosyalarını sunucunuza kopyalayın (örn. XAMPP'ta htdocs veya kendi web sunucunuzun kök dizini)
- Tarayıcıda kurulum adresini açın — komut satırı gerekmez
- Sihirbazı tamamlayın: sihirbaz .env dosyasını yazar, tabloları kurar ve migration'ları çalıştırır
- Yönetici hesabınızı oluşturun; şablonu ilk kez deniyorsanız örnek veri kutusunu işaretleyin
- Son adımdaki düğmeyle kurulum klasörünü silin
- mod_rewrite yoksa .env içinde APP_PRETTY_URLS değerini false yapın
Nasıl Çalışıyor?
Çılgın Yazılım – PHP Başlangıç Şablonu
Her yeni projeye buradan başlayın
Kurulum sihirbazı · rol tabanlı panel · konsol · migration · kuyruk · olay · modül sistemi · REST API · PWA — hepsi hazır.📖 Ayrıntılı Sistem Kılavuzu → SISTEM.md
Bu şablon nedir?
Her yeni PHP projesinde baştan yazdığınız teknik altyapıyı hazır sunar.
Belirli bir iş uygulaması değildir; ERP, CRM, CMS, blog, SaaS, REST
API ya da iç uygulama — hepsinin altına aynı sağlam temeli koyar.
Composer yok, framework yok, CDN yok. İndirin, kurulum/ adresini
açın, birkaç adımda çalışan bir site + panel elde edin.
Tek cümlelik felsefe
Core, uygulamanın ne iş yaptığını bilmez. Yalnızca **nasıl
çalıştığını** sağlar.
// YANLIŞ — çekirdek iş mantığını biliyor
UserService::register($data);
ErpPersonel::olustur($user);
// DOĞRU — çekirdek duyurur, modül dinler
Events::dispatch(new UserRegistered($user));Neler hazır?
| Katman | İçerik |
|---|---|
| Kurulum | Adım adım sihirbaz · .env üretimi · tabloları ve migration'ları kurar · yönetici hesabı · isteğe bağlı örnek veri · tek tuşla kendini silme |
| Kimlik | Giriş/kayıt/çıkış · beni hatırla · rol-yetki · kaba kuvvet koruması · sertleştirilmiş oturum |
| Yönlendirme | Temiz SEO adresleri · {parametre} · GET/POST/PUT/PATCH/DELETE · gruplar |
| Hata yönetimi | Merkezi işleyici · ölümcül hata yakalama · geliştirici ekranı · güvenli 404/403/419/500 |
| Günlük | Kanal bazlı (app error security auth mail queue) · parola maskeleme · rotasyon |
| Veritabanı | Migration + rollback + parti · seeder · Repository deseni |
| Depolama | public / private disk · 9 katmanlı yükleme güvenliği · güvenli indirme |
| Önbellek | Dosya / veritabanı / kapalı sürücüleri · remember() |
| Olaylar | Yayıncı-dinleyici · hata yalıtımı · test için fake() |
| Kuyruk | Veritabanı kuyruğu · atomik ayırma · katlanan yeniden deneme |
| Zamanlayıcı | Tek cron satırı · üst üste binme koruması |
| E-posta | SMTP / mail() / diske yazma · toplu gönderim · kuyruk · panel arayüzü |
| REST API | Standart yanıt zarfı · Bearer anahtarı · hız sınırı · sayfalama |
| Modüller | Aç/kapa · kendi rotaları, tabloları, görünümleri, menüsü |
| PWA | Panelden yönetilen künye (ad, simge, açılış adresi, görüntüleme modu, renk) · servis çalışanı · çevrimdışı sayfa |
| İçerik | Sayfa yönetimi — zengin metin editörü · adres (slug) üretimi · taslak/yayın · menü · sayfa bazlı SEO |
| SEO | Temiz adresler · canonical · Open Graph · başlık şablonu · dinamik sitemap.xml & robots.txt (panelden ek kural) |
| Ayarlar | Bölüm bölüm sayfalar · durum özetli genel bakış · kapsamlı kaydetme · logo ve favicon yükleme |
| İletişim | Form + spam koruması · WhatsApp düğmesi (hazır mesajla) · sosyal medya bağlantıları |
| Tema | Tek renk seçin, panelin ve sitenin tamamı yeniden renklensin |
| Konsol | php cy — 20 komut, üreteçler dahil |
Kurulum
Gereksinimler
- PHP 8.1+ (
pdo_mysql,mbstring,json;gdvefileinfoönerilir) - MySQL 5.7+ / MariaDB 10.3+
- Apache (
mod_rewrite) ya da Nginx
Adımlar
git clone https://github.com/CilginYazilim/cy-php-starter
- Klasörü sunucunuza koyun
- Tarayıcıda
http://siteniz/kurulum/adresini açın - Sihirbazı tamamlayın
- Son adımdaki düğmeyle
kurulum/klasörünü silin
Hepsi bu. Komut satırı gerekmez — sihirbaz .env dosyasını yazar,
tabloları kurar, migration'ları çalıştırır (önbellek, kuyruk, API
anahtarları) ve yönetici hesabınızı açar. Paylaşımlı hostingde de
eksiksiz kurulur.
Örnek veri: Son adımda "Örnek verileri de yükle" kutusu vardır.
Şablonu ilk kez deniyorsanız işaretleyin — listeleri ve filtreleri
dolu görürsünüz (demo parolasıDemo1234!). Gerçek bir projeye
başlıyorsanız boş bırakın, veritabanınız tertemiz kalır.
mod_rewriteyoksa:.enviçindeAPP_PRETTY_URLS=falseyapın.
Uygulamaindex.php?r=…biçimine döner, başka hiçbir şey değişmez.
Klasör yapısı
├── index.php Web giriş noktası
├── cy Konsol giriş noktası (php cy …)
├── sw.js Servis çalışanı (PWA)
│
├── app/
│ ├── bootstrap.php Web + CLI ortak önyükleme
│ ├── Core/ ÇEKİRDEK (iş mantığı içermez)
│ │ ├── Api/ Cache/ Console/ Database/ Events/ Exceptions/
│ │ ├── Log/ Mail/ Modules/ Queue/ Schedule/ Storage/
│ │ └── Auth Config Csrf Database Env ErrorHandler Flash
│ │ Middleware RateLimiter Request Response Router
│ │ Session Setting Uploader Url Validator View
│ ├── Events/ Listeners/ Jobs/
│ ├── Models/ Entity'ler (ORM DEĞİL) + Role
│ ├── Repositories/ SQL yalnızca burada
│ ├── Http/Controllers/ Panel · Api · Site
│ └── Support/helpers.php
│
├── config/ app db session log cache queue api storage
│ upload security validation events
├── routes/ web.php · events.php · schedule.php
├── database/ migrations/ · seeders/
├── modules/ Eklenebilir modüller (Ornek/ = çalışan örnek)
├── views/ layouts · partials · emails · errors · sayfalar
├── assets/ css · js · images (CDN yok)
├── storage/ logs · cache · files · mail (web'e kapalı)
├── upload/ Yüklenen görseller (PHP çalıştırma kapalı)
└── kurulum/ Sihirbaz + database.sql + demo.sql (sonra SİLİN)
İsteğin yolculuğu
Tarayıcı → .htaccess → index.php → bootstrap → Session/Güvenlik
→ Ayarlar → Modüller → Router → Middleware → Controller
→ Repository → View / JSON
Konsol
php cy # tüm komutlar
php cy yardim migrate # ayrıntılı yardım
# Şema
php cy make:migration "urunlere aciklama ekle"
php cy migrate php cy migrate --pretend
php cy migrate:status php cy migrate:rollback --step=3
php cy migrate:fresh --seed
# Üreteçler
php cy make:module Stok # çalışır durumda CRUD modülü
php cy make:controller Urun --api
php cy make:model Urun --repository
php cy make:seeder Urun
# Modüller
php cy module php cy module --enable=Stok
# Bakım
php cy cache:clear --expired php cy config:cache
php cy log:purge --list php cy queue:work --max=30
php cy schedule:run --list php cy mail:test [email protected]
Cron — tek satır yeter:
* * * * * cd /yol/site && php cy schedule:run >> /dev/null 2>&1Modül eklemek
php cy make:module Stok
php cy module --enable=Stok
php cy migratePanelde
/panel/stok hazır: listeleme, ekleme, silme. Modül kendirotalarını, tablolarını, görünümlerini ve menü girdisini taşır.
Kapalı modül hiç yüklenmez — rotaları tanımlanmaz, sınıfları
yüklenmez, olayları dinlenmez.
Sık kullanılanlar
// Adres ve varlık (hepsi köke göreli)
url('panel/ayarlar'); asset('css/site.css');
// Ayarlar
config('db.host'); // config/ dosyaları (geliştirici)
setting('site_adi'); // ayarlar tablosu (yönetici, panelden)
// Yetki
can('users.delete');
// Marka rengi (Ayarlar → Sistem → Tema Rengi)
Theme::brand(); // '#7c3aed' — doğrulanmış
Theme::styleTag(); // düzenlere basılan <style> bloğu
// Günlük
Logger::info('…', ['id' => 3], 'auth');
Logger::security('Şüpheli istek', ['ip' => $ip]);
// Önbellek
Cache::remember('rapor', 900, fn () => $agirHesap());
// Olay
Events::dispatch(new UserRegistered($user));
// Kuyruk
Queue::push(new RaporUret(3));
// Dosya
Uploader::store($request->file('belge'), ['disk' => 'private', 'group' => 'belge']);
// API yanıtı
ApiResponse::paginated($items, $total, $page, $perPage);Güvenlik
| Tehdit | Önlem |
|---|---|
| SQL Injection | Hazırlıklı sorgular; sıralama sütunu beyaz listeden |
| XSS | e() kaçışlama + CSP (script-src 'self', satır içi JS yok) |
| CSP çakışması | Analytics kodunun adresi ve sha256 özeti otomatik tanıtılır; politika gevşetilmez |
| CSRF | Her POST'ta token (form alanı veya X-CSRF-Token) |
| Oturum çalma | httponly + samesite + secure + parmak izi + yenileme |
| Kaba kuvvet | Hız sınırı + kilit (kimlik+IP) |
| Path traversal | Segment bazlı doğrulama + realpath() |
| Kötücül yükleme | Gerçek MIME + beyaz/kara liste + rastgele ad + GD yeniden üretimi |
| Dosya ifşası | app/ config/ storage/ views/ .env cy web'e kapalı |
| Bilgi sızması | Yayında yığın izi ve dosya yolu gösterilmez |
Panel → Sistem Bilgisi sayfası bunların canlı denetimini yapar ve
her sorunun nasıl çözüleceğini yazar.
Canlıya çıkış
# .env
APP_ENV=production
APP_DEBUG=false
LOG_LEVEL=info
php cy config:cache && php cy migrate- [ ]
kurulum/klasörü silindi - [ ] HTTPS aktif
- [ ]
storage/veupload/yazılabilir - [ ]
php cy mail:testbaşarılı - [ ] Cron kuruldu
- [ ] Sistem Bilgisi sayfasındaki tüm denetimler yeşil
Nginx kullanıyorsanız
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ ^/(app|config|storage|views|database|modules|kurulum)/ { deny all; }
location ~ /\.env { deny all; }
location ~ ^/cy$ { deny all; }
location ~* ^/upload/.*\.php$ { deny all; }
Yeni projeye başlarken
git clone https://github.com/CilginYazilim/cy-php-starter yeni-proje
cd yeni-proje && rm -rf .git
# kurulum/ adresini aç, sihirbazı tamamla
# ("Örnek verileri de yükle" kutusunu işaretlemeyin)
rm -rf modules/Ornek app/Jobs/OrnekIs.php
php cy make:module KendiModulun
Ardından Panel → Site Ayarları'ndan site adını, logoyu ve tema
rengini kendinize göre ayarlayın; arayüz anında yeni renginizi alır.
**Ayrıntılı mimari, tasarım kararları ve genişletme rehberi için: SISTEM.md**
MIT Lisansı · Çılgın Yazılım · cilginyazilim.com
Kaynak Kod soldaki ağaçtan bir dosya seçin
-
app
-
Core
-
Api
- ApiGuard.php 5.5 KB
- ApiResponse.php 4.9 KB
- ApiToken.php 5.5 KB
-
Console
-
Commands
- CacheClearCommand.php 2 KB
- ConfigCacheCommand.php 1.7 KB
- ConfigClearCommand.php 896 B
- DbSeedCommand.php 3.2 KB
- LogPurgeCommand.php 2.5 KB
- MailTestCommand.php 3.6 KB
- MailWorkCommand.php 3.4 KB
- MakeCommand.php 3.1 KB
- MakeControllerCommand.php 2.4 KB
- MakeMigrationCommand.php 1.6 KB
- MakeModelCommand.php 1.7 KB
- MakeModuleCommand.php 3.3 KB
- MakeSeederCommand.php 1.2 KB
- MigrateCommand.php 2 KB
- MigrateFreshCommand.php 2.6 KB
- MigrateRollbackCommand.php 1.9 KB
- MigrateStatusCommand.php 2.4 KB
- ModuleCommand.php 3.4 KB
- QueueStatusCommand.php 2.1 KB
- QueueWorkCommand.php 2.5 KB
- ScheduleRunCommand.php 5 KB
-
stubs
- controller-api.stub 885 B
- controller.stub 761 B
- migration.stub 1.1 KB
- model.stub 1.4 KB
- module-controller.stub 2 KB
- module-json.stub 226 B
- module-migration.stub 1 KB
- module-repository.stub 1.4 KB
- module-routes.stub 1 KB
- module-view.stub 4.6 KB
- repository.stub 1.9 KB
- seeder.stub 1018 B
- Command.php 3.3 KB
- Input.php 3.2 KB
- Kernel.php 6.8 KB
- Output.php 6.1 KB
-
-
Database
- Migration.php 3.9 KB
- Migrator.php 11.3 KB
- Seeder.php 2.3 KB
-
Events
- Dispatcher.php 7.6 KB
- Event.php 2.3 KB
- EventException.php 679 B
- Events.php 2.9 KB
-
Exceptions
- HttpException.php 7.5 KB
-
Log
- Logger.php 13.3 KB
-
Mail
- LogTransport.php 2.4 KB
- Mailable.php 11.7 KB
- Mailer.php 11.7 KB
- MailException.php 620 B
- MailUi.php 6 KB
- Mime.php 7.1 KB
- NativeTransport.php 2.5 KB
- Notifier.php 6 KB
- SmtpTransport.php 9.3 KB
- Transport.php 1.4 KB
-
Modules
- Module.php 2.9 KB
- Modules.php 7.4 KB
-
Queue
- Job.php 2.5 KB
- Queue.php 10.8 KB
- QueueException.php 213 B
-
Schedule
- Schedule.php 3.2 KB
- Task.php 5.2 KB
-
Storage
- Disk.php 10.9 KB
- Storage.php 4.6 KB
- StorageException.php 616 B
- StoredFile.php 1.8 KB
- Auth.php 11.4 KB
- Autoloader.php 1.5 KB
- Config.php 8.4 KB
- Csrf.php 1.2 KB
- Database.php 1.9 KB
- Env.php 7.2 KB
- ErrorHandler.php 14.5 KB
- Flash.php 2.6 KB
- Html.php 9 KB
- Middleware.php 4.6 KB
- RateLimiter.php 5 KB
- Request.php 2.8 KB
- Response.php 9.4 KB
- Router.php 9.5 KB
- Session.php 4.3 KB
- Setting.php 7.9 KB
- Theme.php 6.2 KB
- Uploader.php 17.6 KB
- Url.php 8.1 KB
- Validator.php 7.2 KB
- View.php 2.5 KB
-
-
Events
- ContactMessageReceived.php 1 KB
- FileUploaded.php 1.1 KB
- PasswordChanged.php 1.1 KB
- UserLoggedIn.php 1 KB
- UserLoggedOut.php 811 B
- UserRegistered.php 991 B
-
Http
-
Controllers
-
Api
- MailApiController.php 17.4 KB
- MessageApiController.php 6.1 KB
- UserApiController.php 12.5 KB
-
Site
- ContactController.php 6.6 KB
- HomeController.php 6.9 KB
- PageController.php 1.8 KB
- SeoController.php 5 KB
- AuthController.php 6.1 KB
- DashboardController.php 2.1 KB
- MailController.php 2.5 KB
- MessageController.php 904 B
- PageController.php 7 KB
- ProfileController.php 6.7 KB
- PwaController.php 4.1 KB
- SettingsController.php 13.9 KB
- SystemController.php 20.8 KB
- UserController.php 1.3 KB
-
- Controller.php 3.8 KB
-
-
Jobs
- OrnekIs.php 1.6 KB
-
Listeners
- HosgeldinMailiGonder.php 1.4 KB
- IletisimMesajiniBildir.php 1.1 KB
-
Models
- MailLog.php 4 KB
- Message.php 2.1 KB
- Page.php 4.4 KB
- Role.php 4.3 KB
- User.php 5.6 KB
-
Repositories
- MailRepository.php 11.3 KB
- MessageRepository.php 7.4 KB
- PageRepository.php 9.3 KB
- UserRepository.php 16.3 KB
-
Support
- helpers.php 15.7 KB
- .htaccess 315 B
- bootstrap.php 2.9 KB
-
-
assets
-
css
- admin.css 52.9 KB
- bootstrap.min.css 227.5 KB
- cilginyazilim.css 36.4 KB
- dataTables.bootstrap5.min.css 11.7 KB
- site-sections.css 13.9 KB
- site.css 6.9 KB
-
images
- apple-touch-icon.png 10.2 KB
- favicon.png 1.3 KB
- logo.png 70.4 KB
-
js
- app.js 19 KB
- bootstrap.bundle.js 203.2 KB
- contact.js 2.1 KB
- dataTables.bootstrap5.min.js 2.3 KB
- editor.js 7.4 KB
- jquery-3.7.0.js 278.3 KB
- jquery.dataTables.min.js 85.1 KB
- login.js 1.6 KB
- mail.js 15.5 KB
- messages.js 9.3 KB
- pages.js 1.6 KB
- pwa.js 2.8 KB
- register.js 413 B
- settings.js 4.5 KB
- users.js 13.2 KB
-
-
config
- .htaccess 196 B
- api.php 994 B
- app.php 1.7 KB
- cache.php 1.8 KB
- db.php 1.3 KB
- events.php 1.3 KB
- log.php 942 B
- queue.php 1.3 KB
- security.php 2.1 KB
- session.php 767 B
- storage.php 1.7 KB
- upload.php 3.6 KB
- validation.php 310 B
-
database
-
migrations
- 2026_08_10_010000_onbellek_tablosu.php 1.5 KB
- 2026_08_10_020000_isler_tablosu.php 1.7 KB
- 2026_08_10_030000_api_anahtarlari_tablosu.php 1.7 KB
- 2026_08_10_040000_mesajlar_ip_indeksi.php 1.2 KB
- 2026_08_10_050000_sayfalar_tablosu.php 4.4 KB
- 2026_08_10_060000_beni_hatirla_sutunlari.php 1.7 KB
- 2026_08_10_070000_yeni_ayarlar.php 4 KB
- 2026_08_10_080000_pwa_ayarlari.php 5.1 KB
-
seeders
- .gitkeep 0 B
- .htaccess 33 B
- kurulum.sql 33.4 KB
-
-
docs
-
screenshots
- .gitkeep 0 B
- README.md 1.5 KB
- KURULUM-TEST-RAPORU.md 12.3 KB
-
-
modules
-
Ornek
-
migrations
- 2026_08_10_062032_ornek_tablosu.php 1 KB
-
src
-
Controllers
- OrnekController.php 2 KB
-
Repositories
- OrnekRepository.php 1.4 KB
-
-
views
- index.php 4.6 KB
- module.json 283 B
- routes.php 1007 B
-
- .htaccess 33 B
-
-
routes
- .htaccess 197 B
- events.php 4 KB
- schedule.php 3.2 KB
- web.php 12.1 KB
-
storage
-
files
- .gitignore 25 B
- .htaccess 33 B
-
logs
- .gitignore 25 B
- .htaccess 33 B
- app-2026-08-11.log 505 B
- app-2026-08-15.log 192 B
- app-2026-08-16.log 373 B
- auth-2026-08-11.log 113 B
- auth-2026-08-15.log 204 B
- auth-2026-08-16.log 113 B
- error-2026-08-16.log 4.4 KB
- index.html 0 B
- security-2026-08-16.log 665 B
-
mail
- .gitignore 25 B
- .htaccess 33 B
- [email protected] 9.4 KB
- .htaccess 33 B
-
-
upload
- .htaccess 357 B
-
views
-
auth
- login.php 6.3 KB
- register.php 5.7 KB
-
dashboard
- index.php 11.8 KB
-
emails
- duyuru.php 1.1 KB
- hosgeldin.php 933 B
- iletisim-bildirim.php 1.1 KB
- iletisim-yanit.php 1.4 KB
- layout.php 4.5 KB
- sinama.php 1.1 KB
-
errors
- 403.php 1.7 KB
- 404.php 578 B
- 500.php 392 B
- debug.php 6.2 KB
-
layouts
- admin.php 4 KB
- plain.php 1005 B
- site.php 7.8 KB
-
mail
- index.php 14.8 KB
- modals.php 3.3 KB
-
messages
- index.php 5.9 KB
- modal.php 4.5 KB
-
pages
- form.php 11 KB
- index.php 8.2 KB
-
partials
- pwa-head.php 2 KB
- sidebar.php 8.4 KB
- site-footer.php 6.8 KB
- site-nav.php 3.5 KB
- topbar.php 3.3 KB
-
profile
- index.php 9.7 KB
-
settings
- group.php 25.9 KB
- index.php 4.9 KB
-
site
- contact.php 11.9 KB
- home.php 8.4 KB
- offline.php 612 B
- page.php 5 KB
-
system
- index.php 15.7 KB
-
users
- index.php 6 KB
- modals.php 14 KB
- .htaccess 262 B
-
- .gitattributes 2 KB
- .gitignore 3 KB
- .htaccess 5.6 KB
- CANLI-KURULUM.md 3.7 KB
- cy 1.3 KB
- cy-php-starter.code-workspace 43 B
- index.php 4.5 KB
- LICENSE 1.1 KB
- README.md 11.2 KB
- SISTEM.md 48.7 KB
- sw.js 3.5 KB
Güvenlik gereği kaynak dosyalardaki parola, API anahtarı ve benzeri gizli
değerler gösterilmeden önce maskelenir (••••••••).
Sık Sorulan Sorular
İkisi de değil. Belirli bir iş uygulaması değildir; ERP, CRM, CMS, blog ya da SaaS — hepsinin altına aynı temeli koyar. Framework de değildir, çünkü Composer paketi olarak kurulmaz: dosyaları kopyalayıp üzerine yazmaya başlarsınız. Temel ilke şudur: çekirdek uygulamanın ne iş yaptığını bilmez, yalnızca nasıl çalıştığını sağlar.
Hayır. Tarayıcıda kurulum adresini açmanız yeterlidir. Sihirbaz .env dosyasını yazar, tabloları kurar, migration'ları çalıştırır (önbellek, kuyruk, API anahtarları) ve yönetici hesabınızı açar. Paylaşımlı hostingte de eksiksiz kurulur. Son adımdaki düğme kurulum klasörünü kendisi siler.
Hayır. Composer yok, framework yok, CDN yok. Tüm varlıklar proje içindedir; internet bağlantısı olmayan bir sunucuda da çalışır. Bunun bedeli hazır paketlerden yararlanmamaktır, kazancı ise bağımlılık güncellemesi yüzünden bozulan bir projeyle uğraşmamaktır.
Modüllere. Çekirdek yalnızca olay yayınlar; modüller o olayları dinler. Bu yüzden çekirdekte "kullanıcı kaydolunca şunu yap" gibi bir satır bulunmaz, onun yerine bir olay duyurulur ve ilgilenen modül işini yapar. Her modülün kendi rotaları, tabloları, görünümleri ve menüsü vardır ve panelden açılıp kapatılabilir.
.env dosyasında APP_PRETTY_URLS değerini false yapın. Uygulama index.php?r=… biçimine döner ve başka hiçbir şey değişmez; adres üretimi tek merkezden yapıldığı için uygulama kodunda değişiklik gerekmez.
Şablonu ilk kez deniyorsanız evet: listeleri ve filtreleri dolu görürsünüz. Gerçek bir projeye başlıyorsanız kutuyu boş bırakın, veritabanınız tertemiz kalır. Örnek veri son kurulum adımında bir onay kutusudur, sonradan da yüklenebilir.
Yorumlar 1 konuşma
Soru Sor veya Yorum Yaz
Yorumunuz onaylandıktan sonra yayınlanır. Teknik sorularınıza ekibimiz yanıt verir.