- Contents
- Codeigniter 4 Hakkında
- Codeigniter Intro
CodeIgniter 4, PHP ile yazılmış, açık kaynaklı ve hafif bir web uygulama framework’üdür. MVC (Model-View-Controller) mimarisini kullanır ve geliştiricilere hızlı, güvenli ve esnek bir şekilde web uygulamaları geliştirme imkânı sunar.
Öne çıkan özellikleri:
- Modern PHP (PHP 7.2 ve üzeri) desteği
- Modüler yapı ve kolay genişletilebilirlik
- RESTful API desteği
- Güçlü veri tabanı katmanı ve migration desteği
- Gelişmiş hata yönetimi ve debug araçları
- Otomatik yükleyici (Autoloader) ve namespace desteği
- Güvenlik için CSRF, XSS korumaları
Kullanım alanları:
- Kurumsal web siteleri
- RESTful API servisleri
- Küçük ve orta ölçekli projeler
CodeIgniter 4, hızlı kurulum ve düşük sunucu gereksinimleriyle öne çıkar. Belgeleri kapsamlıdır ve topluluğu aktiftir.
CodeIgniter 4’ün kullanımıyla ilgili temel adımlar ve önemli noktalar aşağıda özetlenmiştir:
(Codeigniter 4 Projesi Oluşturma)
Composer ile kurulum (önerilen):
composer create-project codeigniter4/appstarter myproject
Bu komut, myproject klasörüne yeni bir CodeIgniter 4 projesi oluşturur.
veya
ZIP dosyası ile kurulum:
Codeigniter adresinden indirip sunucunuza çıkarabilirsiniz.
- app/: Uygulamanızın ana kodları (Controller, Model, View)
- public/: Web sunucusunun kök dizini (index.php burada)
- writable/: Log, cache, session gibi yazılabilir dosyalar
- system/: Framework çekirdek dosyaları
namespace App\Controllers;
class Home extends BaseController
{
public function index()
{
return view('welcome_message');
}
}$routes->get('/', 'Home::index');<!DOCTYPE html>
<html>
<head>
<title>Hoşgeldiniz</title>
</head>
<body>
<h1>CodeIgniter 4'e Hoşgeldiniz!</h1>
</body>
</html>// filepath: UserModel.php
namespace App\Models;
use CodeIgniter\Model;
class UserModel extends Model
{
protected $table = 'users';
protected $allowedFields = ['name', 'email'];
}Veritabanı tablolarını yönetmek için migration kullanılır:
php spark make:migration CreateUsersTable
php spark migrate(yardımcı komutlar)
-
Sunucu başlatmak için:
php spark serve -
Yeni controller oluşturmak için:
php spark make:controller Blog
Tüm ayarlar app/Config klasöründe tutulur. Örneğin, veritabanı ayarları app/Config/Database.php dosyasındadır.
- CSRF koruması varsayılan olarak açıktır.
- XSS koruması için
esc()fonksiyonu kullanılır.
Daha fazla detay için resmi dokümantasyon önerilir. İhtiyacınıza göre örnek kodlar veya daha fazla detay isteyebilirsiniz!---
Veritabanı tablolarını yönetmek için migration kullanılır:
php spark make:migration CreateUsersTable
php spark migrate
- Sunucu başlatmak için:
php spark serve
- Yeni controller oluşturmak için:
php spark make:controller Blog
Tüm ayarlar app/Config klasöründe tutulur. Örneğin, veritabanı ayarları app/Config/Database.php dosyasındadır.
- CSRF koruması varsayılan olarak açıktır.
- XSS koruması için
esc()fonksiyonu kullanılır.
Daha fazla detay için resmi dokümantasyon önerilir. İhtiyacınıza göre örnek kodlar veya daha fazla detay isteyebilirsiniz!
CodeIgniter 4’te XSS (Cross-Site Scripting) koruması için temel olarak çıktıların güvenli şekilde ekrana yazdırılması gerekir. Bunun için CodeIgniter’ın sağladığı esc() fonksiyonu kullanılır.
Bir değişkeni view dosyasında güvenli şekilde göstermek için:
<?= esc($degisken) ?>Bu fonksiyon, özel karakterleri HTML entity’lerine çevirir ve XSS saldırılarını engeller.
<p>Kullanıcı adı: <?= esc($username) ?></p>esc($degisken, 'html'): HTML için (varsayılan)esc($degisken, 'js'): JavaScript içinesc($degisken, 'css'): CSS için
CodeIgniter 4, form validation sırasında da XSS koruması sağlar. Ancak, her zaman çıktıları ekrana yazdırırken esc() fonksiyonunu kullanmak en güvenli yöntemdir.
Daha fazla bilgi için:
https://codeigniter4.github.io/userguide/general/common_functions.html#esc