Keskin. Hızlı. Ölümsüz.
Modern PHP web uygulamaları için tasarlanmış, hafif ve güçlü bir MVC framework'üdür. Fındık kırmak için balyoz kullanmak istemeyenlere özel geliştirilmiştir. En iyi ve en güçlü php frameworklerdeki en çok kullanılan özellikler ve wordpress tema yönetimine benzer bir yapıyla, geliştiricilerinin işininin kolaylaştırılması amaçlanmıştır.
- Minimal Kurulum: Tek dosya ile başlayın
- Sıfır Yapılandırma: Anında çalışmaya hazır
- Maksimum Esneklik: İhtiyacınıza göre genişletin
- PHP 8+ Desteği: Modern PHP özelliklerini kullanır
- PSR-4 Autoloading: Standart sınıf yükleme
- Composer Uyumlu: Paket yönetimi desteği
// Basit rotalar
Sword::routerGet('/', 'HomeController@index');
Sword::routerPost('/login', 'AuthController@login');
// Parametreli rotalar
Sword::routerGet('/user/:id', 'UserController@show');
// RESTful rotalar
Sword::routerResource('/users', 'UserController');// Event dinleyici
Events::listen('order.created', function($order) {
// Email gönder
Mailer::send($order->email, 'Sipariş Onayı');
});
// Event tetikleme
Events::dispatch('order.created', $order);// Menü ekleme
Menu::add('admin', 'Dashboard', '/admin', [
'id' => 'dashboard',
'icon' => 'dashboard'
]);
// Submenu sistemi
Menu::add('admin', 'Ürünler', '#', [
'id' => 'products',
'icon' => 'box'
]);
Menu::add('admin', 'Tüm Ürünler', '/admin/products', [
'parent_id' => 'products'
]);
// Menü gösterimi
echo Menu::render('admin', 'admin');
echo Menu::render('main', 'navbar');// Plugin geliştirme
class SeoOptimizerPlugin extends BasePlugin
{
public function init()
{
$this->addAction('before_render', [$this, 'addMetaTags']);
$this->addMenu('admin', 'SEO Ayarları', '/admin/seo');
}
}
// Plugin yönetimi
Plugin::activate('seo-optimizer');
Plugin::deactivate('payment-gateway');// Query Builder
$users = Sword::db()->table('users')
->where('active', 1)
->orderBy('name')
->get();
// ORM Models
$user = User::find(1);
$activeUsers = User::where('active', 1)->get();// Basit view
echo Sword::view('home/index', ['title' => 'Ana Sayfa']);
// Section sistemi
<?php $this->extend('layouts/app'); ?>
<?php $this->startSection('content'); ?>
<h1>İçerik</h1>
<?php $this->endSection(); ?>// CSRF koruması
echo Sword::security()->csrfField();
// XSS temizleme
$clean = Sword::security()->xssClean($userInput);
// Şifreleme
$encrypted = Sword::cryptor()->encrypt($data);# Download
İndir
Zipten Çkar
docs klasörünü ve readme.md dosyalarını silin
// index.php
require_once 'sword/Sword.php';
Sword::bootstrap();
// Basit rota
Sword::routerGet('/', function() {
echo 'Merhaba Dünya!';
});
Sword::start();// app/controllers/HomeController.php
class HomeController extends Controller {
public function index() {
$data = ['title' => 'Ana Sayfa'];
return $this->render('home/index', $data);
}
}- E-ticaret siteleri
- Blog ve CMS sistemleri
- Kurumsal web uygulamaları
- API servisleri
- Prototip geliştirme
- Mikroservisler
app/
├── controllers/ # İş mantığı
├── models/ # Veri modelleri
├── views/ # Görünüm dosyaları
└── Routes.php # Rota tanımları
content/
├── themes/ # Tema dosyaları
├── plugins/ # Eklenti sistemi
├── storage/ # Cache, logs, sessions
└── uploads/ # Yüklenen dosyalar
sword/
├── Core sınıfları
├── Events.php # Event sistemi
├── Menu.php # Menü yönetimi
├── Plugin.php # Eklenti sistemi
├── ORM/ # Veritabanı katmanı
├── Cache/ # Önbellek sistemi
└── View/ # Görünüm motoru
// Framework'e özel metod ekle
Sword::map('apiCall', function($endpoint, $data = []) {
return $response;
});
// Kullanım
$result = Sword::apiCall('users', ['name' => 'John']);// Event dinleyici
Sword::on('user.created', function($user) {
Sword::mailer()->send($user->email, 'Hoş Geldiniz', $message);
});
// Event tetikleme
Sword::trigger('user.created', $newUser);- CSRF Protection: Cross-site request forgery koruması
- XSS Prevention: Cross-site scripting önleme
- SQL Injection: Prepared statements ile koruma
- Input Validation: Kapsamlı form doğrulama
- Password Hashing: Güvenli şifre saklama
- Rate Limiting: İstek sınırlama
- Lazy Loading: İhtiyaç duyulduğunda yükleme
- Query Caching: Veritabanı sorgu önbellekleme
- View Caching: Görünüm önbellekleme
- Memory Management: Bellek optimizasyonu
- Sword - Ana framework sınıfı
- Controller - Base controller sınıfı
- Router - URL routing sistemi
- Request - HTTP request yönetimi
- Response - HTTP response yönetimi
- View - Görünüm sistemi
- Events - Event sistemi
- Menu - Menü yönetimi
- Plugin - Eklenti sistemi
- Model - ORM model sınıfı
- Database - Veritabanı bağlantısı
- QueryBuilder - SQL query builder
- Validation - Form doğrulama
- Security - Güvenlik işlemleri
- Cryptor - Şifreleme işlemleri
- Auth - Kimlik doğrulama
- Cache - Önbellek sistemi
- Session - Oturum yönetimi
- Cookie - Cookie yönetimi
- Upload - Dosya yükleme
- Image - Görüntü işleme
- Mailer - E-posta gönderimi
- Logger - Log kayıtları
- Helpers - Yardımcı fonksiyonlar
// Makale listesi
Sword::routerGet('/blog', function() {
$posts = Sword::model('Post')->where('published', 1)->get();
echo Sword::view('blog/index', ['posts' => $posts]);
});
// Makale detay
Sword::routerGet('/blog/:slug', function($slug) {
$post = Sword::model('Post')->where('slug', $slug)->first();
echo Sword::view('blog/post', ['post' => $post]);
});Sword::routerPost('/api/users', function() {
$validation = Sword::validate($_POST, [
'name' => 'required|min:2',
'email' => 'required|email|unique:users'
]);
if ($validation->passes()) {
$user = Sword::model('User')->create($_POST);
Sword::response()->json(['success' => true, 'user' => $user])->send();
} else {
Sword::response()->validationError($validation->errors())->send();
}
});// Pahalı sorguyu cache'le
$popularPosts = Sword::cache()->remember('popular_posts', 3600, function() {
return Sword::model('Post')
->where('views', '>', 1000)
->orderBy('views', 'DESC')
->limit(10)
->get();
});- Fork edin
- Feature branch oluşturun (
git checkout -b feature/amazing-feature) - Commit edin (
git commit -m 'Add amazing feature') - Push edin (
git push origin feature/amazing-feature) - Pull Request açın
MIT License - Ticari ve açık kaynak projelerde özgürce kullanılabilir.
Sword Framework ile modern, güvenli ve performanslı web uygulamaları geliştirin.
Keskin kodlar, hızlı geliştirme, ölümsüz projeler!