FuelPHP Projesi Oluşturma ve Çalıştırma
FuelPHP nedir?
FuelPHP, modern web uygulamaları geliştirmek için esnek ve modüler bir PHP framework'üdür. HMVC (Hierarchical Model-View-Controller) tasarım modelini takip eder ve zengin özellikler ve araçlar sunar. Bu da geliştiricilerin yüksek kalitede web uygulamalarını hızla inşa edebilmelerini sağlar. FuelPHP, esnekliği, yüksek performansı ve kolay genişletilebilirliği ile tanınır ve birçok geliştiricinin tercih ettiği bir framework'tür.
FuelPHP'nin Ana Özellikleri ve Avantajları
- HMVC Mimarisi: Kodun yeniden kullanılabilirliği ve modüler geliştirme için hiyerarşik MVC tasarım modelini destekler.
- Yüksek Performans: FuelPHP, yüksek verimliliği ve hızı ile tanınır ve yüksek eş zamanlı talepleri işleyebilir.
- Kolay Genişletilebilirlik: Zengin genişletme mekanizmaları sunar, böylece geliştiriciler kolayca özelleştirilmiş işlevler ekleyebilir.
- Güvenlik: Girdi doğrulama, çıktı filtreleme, CSRF koruması gibi birçok yerleşik güvenlik özelliği sunar.
- Güçlü Topluluk Desteği: Aktif bir geliştirici topluluğuna ve zengin üçüncü taraf eklentilere sahiptir.
FuelPHP, geliştiricilerin yüksek performanslı ve kaliteli web uygulamaları oluşturmasına yardımcı olur ve tüm ölçeklerde projeler için idealdir.
ServBay Kullanarak 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. ServBay'in 'host' özelliğini kullanarak web sunucusunu ayarlayacağız ve basit bir yapılandırma ile projeye erişim sağlayacağız.
Dikkat: Eğer daha önce NGINX ya da Apache kullanıcısıysanız
ServBay varsayılan olarak Caddy'yi web sunucusu olarak kullanır. NGINX ve Apache'den ServBay'e geçiş yapan kullanıcıların dikkat etmesi gereken bazı önemli değişiklikler vardır:
Caddy Yapılandırması
ServBay, Caddy'yi dahili olarak sağlar ve varsayılan yapılandırması optimize edilmiştir. Geliştiriciler, ServBay'in 'host' özelliği aracılığıyla siteleri yönetebilir, manuel olarak Caddy yapılandırma dosyasını değiştirmelerine gerek yoktur.
Rewrite Kuralları ve .htaccess
NGINX ve Apache'de, geliştiriciler genellikle URL yeniden yazma ve diğer yapılandırmaları işlemek için rewrite kuralları ve .htaccess dosyalarını kendileri yazarlar. Ancak ServBay, Caddy'nin kurallarını önceden yapılandırarak sağlar, bu yüzden özel gereksinimler dışında bu kuralları yazmanıza gerek yoktur.
Daha Fazla Bilgi
Daha fazla bilgi için Yeniden Yazma ve htaccess, Apache Web Sitesi Nasıl ServBay'e Taşınır ve NGINX Web Sitesi Nasıl ServBay'e Taşınır konularını inceleyebilirsiniz.
FuelPHP Projesi Oluşturma
TIP
ServBay, geliştiricilere sitelerini yönetebilmek için web sitelerini '/Applications/ServBay/www'
dizininde tutmalarını önerir.
Composer Kurulumu
ServBay, Composer ile birlikte gelir, bu yüzden ayrı olarak kurmanıza gerek yok.
FuelPHP Projesi Oluşturma
Composer kullanarak yeni bir FuelPHP projesi oluşturun:
bashcd /Applications/ServBay/www mkdir servbay-fuelphp-app cd servbay-fuelphp-app composer create-project fuel/fuel .
1
2
3
4Proje Dizini İçerisine 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
ServBay'in 'host' özelliğini kullanarak web sunucusu aracılığıyla FuelPHP projesine erişim sağlayın. ServBay'in 'host' ayarlarında yeni bir host ekleyin:
- İsim:
My First FuelPHP Dev Site
- Alan Adı:
servbay-fuelphp-test.local
- Web Sitesi Türü:
PHP
- PHP Versiyonu:
8.3
- Web Sitesi Kök Dizini:
/Applications/ServBay/www/servbay-fuelphp-app/public
Detaylı adımlar için İlk Web Sitesi Ekleme dokümantasyonunu inceleyin.
Örnek Kod Ekleme
fuel/app/classes/controller/welcome.php
dosyasına aşağıdaki kodları ekleyin:
use Fuel\Core\Controller;
use Fuel\Core\Response;
use Fuel\Core\Cache;
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()
{
$redis = \Redis::instance();
$redis->set('key', 'Hello Redis!');
$value = $redis->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
Web Sitesine Erişme
Tarayıcınızı açarak aşağıdaki URL'yi ziyaret edin:
https://servbay-fuelphp-test.local
: SayfadaHello ServBay!
çıktısını göreceksiniz.
NoSQL Veritabanı Örneği
Memcached Örneği
Memcached Eklentisini Yükleme
ServBay'de Memcached eklentisi önceden yüklenmiştir, ek bir kurulum gerekmez.
Memcached Yapılandırması
fuel/app/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
13Rota Ekleme
fuel/app/config/routes.php
dosyasına aşağıdaki rotayı ekleyin:phpreturn array( 'memcached' => 'welcome/memcached', )
1
2
3Memcached Kullanma
Kontrolörde cache'yi 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ınızı açın ve şu adresi ziyaret edin: https://servbay-fuelphp-test.local/memcached
Redis Örneği
Redis Eklentisini Yükleme
ServBay'de Redis eklentisi önceden yüklenmiştir, ek bir kurulum gerekmez.
Redis Yapılandırması
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
6Rota Ekleme
fuel/app/config/routes.php
dosyasına aşağıdaki rotayı ekleyin:phpreturn array( 'redis' => 'welcome/redis', )
1
2
3Redis Kullanma
Kontrolörde cache'yi 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ınızı açın ve şu adresi ziyaret edin: https://servbay-fuelphp-test.local/redis
İlişkisel Veritabanı Örneği
Veritabanı Yapısı ve Göç Dosyası Oluşturma
Göç Dosyası Oluşturma
FuelPHP’nin oil aracını kullanarak göç dosyası oluşturun:
bashphp oil g migration create_users_table
1Göç Dosyasını Düzenleme
fuel/app/migrations
dizininde yeni oluşturulan göç dosyasını bulun ve veritabanı tablosu yapısını tanımlayacak şekilde 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öçü çalıştırın ve veritabanı tablosunu oluşturun:
bashphp oil refine migrate
1
MySQL Örneği
MySQL 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
9Kullanıcı Verilerini Yazma
Kontrolörde kullanıcı verilerini yazın:
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
Kontrolörde veritabanına çağrı yapın:
phppublic function action_mysql() { $users = DB::select()->from('users')->execute()->as_array(); return Response::forge(json_encode($users)); }
1
2
3
4
5
Yukarıdaki adımlardan sonra, ServBay’in sağladığı özellikleri kullanarak FuelPHP projesini başarıyla oluşturup çalıştırdıynız ve çeşitli veritabanlarına bağlandınız ve verileri çağırdınız. Umarız bu makale FuelPHP’ye hızlı bir başlangıç yapmanıza ve projelerinize uygulamada kullanmanıza yardımcı olur.