PHPixie Projesi Oluşturma ve Çalıştırma
PHPixie Nedir?
PHPixie, yüksek performanslı web uygulamalarını hızlı bir şekilde geliştirmek için kullanılan hafif bir PHP framework'üdür. HMVC (Hiyerarşik Model-View-Controller) tasarım modelini takip eder ve sade kod yapısı ve yüksek verimliliği ile öne çıkar. PHPixie, sadeliği, esnekliği ve yüksek performansı ile tanınır ve birçok geliştiricinin tercih ettiği bir framework'tür.
PHPixie'nin Ana Özellikleri ve Avantajları
- Hafif: PHPixie'nin çekirdek sistemi çok küçüktür, yalnızca gerekli bileşenleri içerir ve bu nedenle yükleme hızı çok hızlıdır.
- Yüksek Performans: PHPixie, yüksek performansı ve hızı ile tanınır ve yüksek eşzamanlı istekleri işleyebilir.
- Kolay Öğrenme: Basit ve kullanımı kolay bir API ve bol dökümantasyon sağlar, geliştiricilerin hızlı bir şekilde başlamasını sağlar.
- Esneklik: Geliştiricilerin üçüncü parti kütüphaneleri ve eklentileri özgürce seçip kullanmalarına olanak tanır, böylece işlevselliği genişletmek ve özelleştirmek kolaydır.
- Güçlü Topluluk Desteği: Aktif bir geliştirici topluluğu ve zengin üçüncü parti genişletmeleri vardır.
PHPixie, geliştiricilerin yüksek performanslı, yüksek kaliteli web uygulamaları hızlı bir şekilde oluşturmasına yardımcı olabilir ve her boyutta proje için uygundur.
ServBay Kullanarak PHPixie Projesi Oluşturma ve Çalıştırma
Bu makalede, PHP ortamı sağlamak için ServBay kullanarak bir PHPixie projesi oluşturup çalıştıracağız. ServBay'in 'Host' işlevini kullanarak web sunucusunu kurup basit bir yapılandırmayla projeye erişim sağlamayı göstereceğiz.
Dikkat: Eğer daha önce NGINX veya Apache kullanıcı iseniz
ServBay varsayılan olarak Caddy'yi web sunucusu olarak kullanır. NGINX ve Apache'den ServBay'e geçiş yapan kullanıcılar için dikkat edilmesi gereken bazı önemli noktalar:
Caddy Yapılandırması
ServBay, Caddy'yi önceden yapılandırmıştır ve varsayılan yapılandırma optimize edilmiştir. Geliştiriciler, ServBay'in 'Host' işlevini kullanarak siteleri yönetebilir, Caddy yapılandırma dosyalarını elle düzenlemeye gerek yoktur.
Rewrite Kuralları ve .htaccess
NGINX ve Apache'de, geliştiriciler genellikle Rewrite kuralları ve .htaccess dosyalarını kendileri yazarak URL yeniden yazma ve diğer yapılandırmaları yaparlar. Ancak, ServBay'de Caddy kuralları önceden yapılandırılmıştır; dolayısıyla, özel ihtiyaçlar dışında geliştiricilerin bu kuralları yazması gerekmez.
Daha Fazla Bilgi
Daha fazla ilgili bilgi için Rewrite ve htaccess, Apache Web Sitesini ServBay'e Nasıl Taşırım, NGINX Web Sitesini ServBay'e Nasıl Taşırım referanslarını inceleyin.
PHPixie Projesi Oluşturma
TIP
ServBay, geliştiricilerin sitelerini /Applications/ServBay/www
dizinine yerleştirmelerini önerir, böylece yönetim daha kolay olur.
Composer Kurulumu
ServBay, Composer ile birlikte gelir, ayrı bir kurulum yapmanıza gerek yoktur.
PHPixie Projesi Oluşturma
Composer kullanarak yeni bir PHPixie projesi oluşturun:
bashcd /Applications/ServBay/www mkdir servbay-phpixie-app cd servbay-phpixie-app composer create-project phpixie/project .
1
2
3
4Proje Dizini İçine Girme
Yeni oluşturulan PHPixie proje dizinine girin:
bashcd /Applications/ServBay/www/servbay-phpixie-app
1
Başlangıç Yapılandırması
Veritabanı Bağlantısını Yapılandırma
assets/config/database.php
dosyasında veritabanı bağlantı bilgilerini yapılandırın:phpreturn [ 'default' => [ 'driver' => 'pdo', 'connection' => 'mysql:host=127.0.0.1;dbname=servbay_phpixie_app', 'user' => 'root', 'password' => 'password', 'options' => [] ] ];
1
2
3
4
5
6
7
8
9
Web Sunucusunu Yapılandırma
ServBay'in 'Host' işlevini kullanarak PHPixie projesine web sunucusu aracılığıyla erişin. ServBay'de yeni bir host ekleyin:
- İsim:
My First PHPixie Dev Site
- Alan adı:
servbay-phpixie-test.local
- Web sitesi türü:
PHP
- PHP Sürümü:
8.3
seçin - Web sitesi kök dizini:
/Applications/ServBay/www/servbay-phpixie-app/web
Detaylı ayar adımları için İlk Web Sitesi Ekleme bölümüne bakın.
Örnek Kod Ekleme
src/App/HTTP/Controller/Home.php
dosyasına aşağıdaki kodu ekleyin:
namespace App\HTTP\Controller;
use PHPixie\HTTP\Request;
use PHPixie\Template;
class Home extends \PHPixie\Controller
{
protected $template;
public function __construct(Template $template)
{
$this->template = $template;
}
public function action_index(Request $request)
{
return $this->template->render('app:home');
}
public function action_memcached(Request $request)
{
$cache = $this->components->cache();
$cache->set('key', 'Hello Memcached!', 60);
$value = $cache->get('key');
return $this->response()->string($value);
}
public function action_redis(Request $request)
{
$redis = $this->components->redis();
$redis->set('key', 'Hello Redis!');
$value = $redis->get('key');
return $this->response()->string($value);
}
public function action_mysql_add(Request $request)
{
$query = $this->components->database()->query();
$query->insert('users')->data([
'name' => 'ServBay',
'email' => '[email protected]',
])->execute();
return $this->response()->string('User added');
}
public function action_mysql(Request $request)
{
$query = $this->components->database()->query();
$users = $query->select('*')->from('users')->execute()->fetchAll();
return $this->response()->json($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
46
47
48
49
50
51
52
assets/templates/app/home.php
dosyasına aşağıdaki kodu ekleyin:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Welcome to PHPixie</title>
</head>
<body>
<h1>Welcome to PHPixie</h1>
<p>The page you are looking at is being generated dynamically by PHPixie.</p>
</body>
</html>
2
3
4
5
6
7
8
9
10
11
12
Web Sitesine Erişim
Tarayıcıyı açın ve aşağıdaki URL'yi ziyaret edin:
https://servbay-phpixie-test.local
: SayfadaWelcome to PHPixie
yazısını göreceksiniz.
NoSQL Veri Tabanı Örnekleri
Memcached Örneği
Memcached Eklentisini Kurma
ServBay'de Memcached eklentisi önceden yüklüdür, ekstra kuruluma gerek yoktur.
Memcached Yapılandırma
assets/config/cache.php
dosyasında Memcached bağlantı bilgilerini yapılandırın:phpreturn [ 'default' => [ 'driver' => 'memcached', 'servers' => [ [ 'host' => '127.0.0.1', 'port' => 11211, 'weight' => 100, ], ], ], ];
1
2
3
4
5
6
7
8
9
10
11
12Memcached Kullanımı
Kontrolcüde önbelleği kullanın:
phppublic function action_memcached(Request $request) { $cache = $this->components->cache(); $cache->set('key', 'Hello Memcached!', 60); $value = $cache->get('key'); return $this->response()->string($value); }
1
2
3
4
5
6
7
Redis Örneği
Redis Eklentisini Kurma
ServBay'de Redis eklentisi önceden yüklüdür, ekstra kuruluma gerek yoktur.
Redis Yapılandırma
assets/config/redis.php
dosyasında Redis bağlantı bilgilerini yapılandırın:phpreturn [ 'default' => [ 'hostname' => '127.0.0.1', 'port' => 6379, 'timeout' => 0, 'database' => 0, ], ];
1
2
3
4
5
6
7
8Redis Kullanımı
Kontrolcüde önbelleği kullanın:
phppublic function action_redis(Request $request) { $redis = $this->components->redis(); $redis->set('key', 'Hello Redis!'); $value = $redis->get('key'); return $this->response()->string($value); }
1
2
3
4
5
6
7
İlişkisel Veri Tabanı Örnekleri
Veritabanı Yapısını ve Göç Dosyalarını Oluşturma
Göç Dosyası Oluşturma
PHPixie'nin CLI araçlarını kullanarak göç dosyası oluşturun:
bashphp pixie generate:migration create_users_table
1Göç Dosyasını Düzenleme
assets/migrations
dizininde yeni oluşturulan göç dosyasını bulun ve veritabanı tablosu yapısını tanımlamak için düzenleyin:phppublic function up() { $this->schema->create('users', function($table) { $table->increments('id'); $table->string('name'); $table->string('email')->unique(); $table->timestamps(); }); } public function down() { $this->schema->drop('users'); }
1
2
3
4
5
6
7
8
9
10
11
12
13
14Göçü Çalıştırma
PHPixie'nin CLI araçlarını kullanarak göçü çalıştırın ve veritabanı tablolarını oluşturun:
bashphp pixie migrate
1
MySQL Örneği
MySQL Yapılandırması
assets/config/database.php
dosyasında MySQL bağlantı bilgilerini yapılandırın:phpreturn [ 'default' => [ 'driver' => 'pdo', 'connection' => 'mysql:host=127.0.0.1;dbname=servbay_phpixie_app', 'user' => 'root', 'password' => 'password', 'options' => [] ] ];
1
2
3
4
5
6
7
8
9Kullanıcı Verilerini Yazma
Kontrolcüde kullanıcı verilerini yazma:
phppublic function action_mysql_add(Request $request) { $query = $this->components->database()->query(); $query->insert('users')->data([ 'name' => 'ServBay', 'email' => '[email protected]', ])->execute(); return $this->response()->string('User added'); }
1
2
3
4
5
6
7
8
9MySQL Kullanımı
Kontrolcüde veritabanı çağrısı yapma:
phppublic function action_mysql(Request $request) { $query = $this->components->database()->query(); $users = $query->select('*')->from('users')->execute()->fetchAll(); return $this->response()->json($users); }
1
2
3
4
5
6
PostgreSQL Örneği
PostgreSQL Yapılandırması
assets/config/database.php
dosyasında PostgreSQL bağlantı bilgilerini yapılandırın:phpreturn [ 'default' => [ 'driver' => 'pdo', 'connection' => 'pgsql:host=127.0.0.1;dbname=servbay_phpixie_app', 'user' => 'root', 'password' => 'password', 'options' => [] ] ];
1
2
3
4
5
6
7
8
9Kullanıcı Verilerini Yazma
Kontrolcüde kullanıcı verilerini yazma:
phppublic function action_pgsql_add(Request $request) { $query = $this->components->database()->query(); $query->insert('users')->data([ 'name' => 'ServBay', 'email' => '[email protected]', ])->execute(); return $this->response()->string('User added'); }
1
2
3
4
5
6
7
8
9PostgreSQL Kullanımı
Kontrolcüde veritabanı çağrısı yapma:
phppublic function action_pgsql(Request $request) { $query = $this->components->database()->query(); $users = $query->select('*')->from('users')->execute()->fetchAll(); return $this->response()->json($users); }
1
2
3
4
5
6
Yukarıdaki adımları tamamladığınızda, bir PHPixie projesini başarıyla oluşturup çalıştırdınız ve ServBay'in sağladığı işlevleri kullanarak projenizi yönettiniz ve erişim sağladınız. Aynı zamanda birden fazla veritabanı bağlantısı kurup, veritabanlarını çağırdınız. Bu makalenin PHPixie'yi hızlı bir şekilde öğrenmenize ve projelerinizde uygulamanıza yardımcı olacağını umuyorum.