FuelPHP Projesi Oluşturma ve Çalıştırma
FuelPHP Nedir?
FuelPHP, modern web uygulamaları geliştirmek için tasarlanmış esnek ve modüler bir PHP çerçevesidir. HMVC (Hierarchical Model-View-Controller) tasarım desenini takip eder ve geliştiricilerin yüksek kaliteli web uygulamaları hızlıca inşa etmelerini sağlayan zengin bir özellik ve araç seti sunar. Esnekliği, yüksek performansı ve genişletme kolaylığı ile bilinen FuelPHP, birçok geliştirici için tercih edilen bir çerçevedir.
FuelPHP'nin Temel Özellikleri ve Avantajları
- HMVC Mimarisi: Hierarchical MVC tasarım desenlerini destekler, kodun yeniden kullanılmasını ve modüler geliştirmeyi kolaylaştırır.
- Yüksek Performans: FuelPHP, verimli performansı ve hızıyla bilinir, yüksek eşzamanlılık gerektiren talepleri karşılayabilir.
- Genişletmesi Kolay: Geliştiricilerin kolayca özel işlevler ekleyebileceği zengin bir genişletme mekanizması sunar.
- Güvenlik: Girdi doğrulama, çıktı filtreleme ve CSRF koruması gibi birden fazla yerleşik güvenlik özellikleri içerir.
- Güçlü Topluluk Desteği: Aktif bir geliştirici topluluğuna ve çok sayıda üçüncü parti eklentilere sahiptir.
FuelPHP, geliştiricilere çeşitli büyüklüklerdeki projelere uygun, yüksek performanslı ve kaliteli web uygulamaları hızla oluşturmalarında yardımcı olabilir.
ServBay ile FuelPHP Projesi Oluşturma ve Çalıştırma
Bu makalede, ServBay tarafından sağlanan PHP ortamını kullanarak bir FuelPHP projesi oluşturup çalıştıracağız. Web sunucusunu ServBay'in "Host" özelliği ile kuracak ve basit bir yapılandırma ile proje erişimini sağlayacağız.
Not: Daha önce NGINX veya Apache kullanan kullanıcılar için
ServBay, varsayılan olarak web sunucusu olarak Caddy'yi kullanır. NGINX ve Apache'den ServBay'e geçiş yapan kullanıcılar için dikkate alınması gereken bazı önemli değişiklikler vardır:
Caddy Yapılandırması
ServBay, Caddy'yi entegre etmiş ve varsayılan yapılandırmayı optimize edip hatalarını ayıklamıştır. Geliştiriciler, Caddy yapılandırma dosyasını elle değiştirmeden sadece ServBay'in "Host" özelliği aracılığıyla siteleri yönetmekle ilgilenirler.
Yeniden Yazım Kuralları ve .htaccess
NGINX ve Apache'de, geliştiriciler genellikle URL yeniden yazımı ve diğer yapılandırmalar için kendi yeniden yazım kurallarını ve .htaccess dosyalarını yazmaları gerekir. Ancak, ServBay Caddy kuralları ile birlikte önceden yapılandırılmış gelir, bu yüzden özel gereksinimler olmadıkça bu kuralları yazmalarına gerek yoktur.
Daha Fazlasını Öğren
Daha fazla bilgi için lütfen Rewrite and htaccess, Apache Web Sitelerini ServBay'e Taşıma ve NGINX Web Sitelerini ServBay'e Taşıma sayfalarına başvurun.
FuelPHP Projesi Oluşturma
TIP
ServBay, web sitelerinin daha kolay yönetim için /Applications/ServBay/www
dizininde yer almasını önermektedir.
Composer'ı Kurun
Composer, ServBay ile birlikte önceden kuruludur, bu yüzden ayrı bir kurulum gerekmez.
Bir FuelPHP Projesi Oluşturun
Yeni bir FuelPHP projesi oluşturmak için Composer'ı kullanın:
bashcd /Applications/ServBay/www mkdir servbay-fuelphp-app cd servbay-fuelphp-app composer create-project fuel/fuel .
1
2
3
4Proje Dizini İçine Girin
Yeni oluşturulan FuelPHP proje dizinine girin:
bashcd /Applications/ServBay/www/servbay-fuelphp-app
1
Başlangıç Yapılandırması
Veritabanı Bağlantısını Yapılandırma
fuel/app/config/development/db.php
dosyasında veritabanı bağlantı bilgilerini yapılandırın:phpreturn [ 'default' => [ 'connection' => [ 'dsn' => 'mysql:host=localhost;dbname=fuel_dev', 'username' => 'root', 'password' => 'root', ], ], ];
1
2
3
4
5
6
7
8
9
Web Sunucusunu Yapılandırma
FuelPHP projesine bir web sunucusu aracılığıyla erişmek için ServBay'in "Host" özelliğini kullanın. ServBay'in "Host" ayarlarında yeni bir host ekleyin:
- İsim:
My First FuelPHP Dev Site
- Domain:
servbay-fuelphp-test.local
- Web Sitesi Türü:
PHP
- PHP Versiyonu:
8.3
seçin - Web Sitesi Kök Dizini:
/Applications/ServBay/www/servbay-fuelphp-app/public
Detaylı kurulum adımları için lütfen İlk Web Sitesini Ekleme sayfasına başvurun.
Örnek Kod Ekleme
fuel/app/classes/controller/welcome.php
dosyasına aşağıdaki kodu ekleyin:
use Fuel\Core\Controller;
use Fuel\Core\Response;
use Fuel\Core\Cache;
use Fuel\Core\DB;
class Controller_Welcome extends Controller
{
public function action_index()
{
return Response::forge('Hello ServBay!');
}
public function action_memcached()
{
Cache::set('key', 'Hello Memcached!', 60);
$value = Cache::get('key');
return Response::forge($value);
}
public function action_redis()
{
Cache::set('key', 'Hello Redis!', 60);
$value = Cache::get('key');
return Response::forge($value);
}
public function action_mysql_add()
{
DB::insert('users')->set([
'name' => 'ServBay',
'email' => '[email protected]',
])->execute();
return Response::forge('User added');
}
public function action_mysql()
{
$users = DB::select()->from('users')->execute()->as_array();
return Response::forge(json_encode($users));
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Web Sitesine Erişme
Tarayıcınızı açın ve aşağıdaki URL'yi ziyaret edin:
https://servbay-fuelphp-test.local
: SayfadaHello ServBay!
çıktısını göreceksiniz.
NoSQL Veritabanı Örnekleri
Memcached Örneği
Memcached Eklentisini Kurun
Memcached eklentisi ServBay ile birlikte önceden kuruludur, ek bir kurulum gerekmez.
Memcached'i Yapılandırma
fuel/core/config/cache.php
dosyasında Memcached bağlantı bilgilerini yapılandırın:phpreturn [ 'driver' => 'memcached', 'memcached' => [ 'cache_id' => 'fuel', 'servers' => [ 'default' => [ 'host' => '127.0.0.1', 'port' => 11211, 'weight' => 100, ], ] ], ];
1
2
3
4
5
6
7
8
9
10
11
12
13
14Yönlendirmeleri Ekleme
fuel/app/config/routes.php
dosyasına aşağıdaki yönlendirmeleri ekleyin:phpreturn array( 'memcached' => 'welcome/memcached', )
1
2
3Memcached Kullanma
Denetleyicide önbelleği kullanın:
phppublic function action_memcached() { Cache::set('key', 'Hello Memcached!', 60); $value = Cache::get('key'); return Response::forge($value); }
1
2
3
4
5
6
7Tarayıcıyı açın ve https://servbay-fuelphp-test.local/memcached adresini ziyaret edin
Redis Örneği
Redis Eklentisini Kurun
Redis eklentisi ServBay ile birlikte önceden kuruludur, ek bir kurulum gerekmez.
Redis'i Yapılandırma
fuel/app/config/redis.php
dosyasında Redis bağlantı bilgilerini yapılandırın:phpreturn [ 'driver' => 'redis', 'redis' => [ 'database' => 'default', ], ];
1
2
3
4
5
6Yönlendirmeleri Ekleme
fuel/app/config/routes.php
dosyasına aşağıdaki yönlendirmeleri ekleyin:phpreturn array( 'redis' => 'welcome/redis', )
1
2
3Redis Kullanma
Denetleyicide önbelleği kullanın:
phppublic function action_redis() { Cache::set('key', 'Hello Redis!', 60); $value = Cache::get('key'); return Response::forge($value); }
1
2
3
4
5
6
7Tarayıcıyı açın ve https://servbay-fuelphp-test.local/redis adresini ziyaret edin
İlişkisel Veritabanı Örnekleri
MySQL Örneği
MySQL'i Yapılandırma
fuel/app/config/development/db.php
dosyasında MySQL bağlantı bilgilerini yapılandırın:phpreturn [ 'default' => [ 'connection' => [ 'dsn' => 'mysql:host=localhost;dbname=fuel_dev', 'username' => 'root', 'password' => 'root', ], ], ];
1
2
3
4
5
6
7
8
9Göç Dosyaları Oluşturma
FuelPHP'nin oil aracını kullanarak göç dosyaları oluşturun:
bashphp oil g migration create_users_table
1Göç Dosyalarını Düzenleme
fuel/app/migrations
dizininde yeni oluşturulan göç dosyasını bulun ve veritabanı tablo yapısını tanımlamak için düzenleyin:php<?php namespace Fuel\Migrations; use Fuel\Core\DBUtil; class Create_users_table { public function up() { DBUtil::create_table('users', [ 'id' => ['type' => 'int', 'constraint' => 11, 'auto_increment' => true], 'name' => ['type' => 'varchar', 'constraint' => 100], 'email' => ['type' => 'varchar', 'constraint' => 100, 'unique' => true], ], ['id']); } public function down() { DBUtil::drop_table('users'); } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21Göç Çalıştırma
FuelPHP'nin oil aracını kullanarak göçleri çalıştırın ve veritabanı tablosunu oluşturun:
bashphp oil refine migrate
1Yönlendirmeleri Ekleme
fuel/app/config/routes.php
dosyasına aşağıdaki yönlendirmeleri ekleyin:phpreturn array( 'mysql_add' => 'welcome/mysql_add', 'mysql' => 'welcome/mysql', )
1
2
3
4Kullanıcı Verilerini Ekleme
Denetleyicide kullanıcı verilerini ekleyin:
phppublic function action_mysql_add() { DB::insert('users')->set([ 'name' => 'ServBay', 'email' => '[email protected]', ])->execute(); return Response::forge('User added'); }
1
2
3
4
5
6
7
8
9MySQL Kullanma
Denetleyicide veritabanını çağırın:
phppublic function action_mysql() { $users = DB::select()->from('users')->execute()->as_array(); return Response::forge(json_encode($users)); }
1
2
3
4
5
6Tarayıcıyı açın ve
https://servbay-fuelphp-test.local/mysql_add
vehttps://servbay-fuelphp-test.local/mysql
adreslerini ziyaret edin
Yukarıdaki adımlarla, ServBay'in özelliklerini kullanarak FuelPHP projesi oluşturup çalıştırdınız ve projenizi yönetmek ve çoklu veritabanlarına bağlanıp sorgulamak için erişim sağladınız. Umarım bu makale, FuelPHP'ye hızlıca başlamanıza ve projelerinize uygulamanıza yardımcı olur.