ServBay ile CakePHP Projesi Oluşturma ve Çalıştırma
ServBay, macOS ve Windows üzerinde çalışan, PHP, Node.js, Python, Go, Java gibi birden fazla dil desteği sunan, MySQL, PostgreSQL, MongoDB, Redis gibi çeşitli veritabanı servisleriyle entegre halde çalışan bir yerel web geliştirme ortamıdır. Caddy veya Nginx web sunucularıyla kullanılır ve geliştiricilere projelerini kolayca kurup yönetebilecekleri verimli bir platform sağlar.
Bu makalede, ServBay ortamında bir CakePHP projesini nasıl oluşturacağınız, yapılandıracağınız ve çalıştıracağınız adım adım açıklanacaktır. CakePHP, hızlı geliştirme imkanı, güçlü ORM yapısı ve yerleşik güvenlik özellikleriyle öne çıkan MVC (Model-View-Controller) mimarisini izleyen popüler bir PHP web geliştirme framework’üdür. ServBay’in kolaylığı sayesinde CakePHP ile geliştirmeye hızlı bir başlangıç yapabilirsiniz.
CakePHP Nedir?
CakePHP, esnekliği koruyarak web uygulamalarını hızlı ve yapılandırılmış şekilde geliştirme imkânı veren açık kaynak PHP web geliştirme framework’üdür. "Konfigürasyondan çok varsayım" ilkesini izleyerek sık karşılaşılan birçok geliştirme işlemini basitleştirir.
CakePHP'nin Temel Özellikleri ve Avantajları
- MVC Tabanlı Mimari: Şeffaf kod organizasyonu, kolay bakım ve genişletme.
- Hızlı Geliştirme: Komut satırı aracı (Bake) ile kod oluşturma ve geliştirme sürecini hızlandırma.
- Güçlü ORM (Nesne-İlişki Eşleme): Veritabanı işlemlerini kolaylaştırır, çoklu veritabanı sistemi desteği.
- Yerleşik Güvenlik: CSRF koruması, SQL enjeksiyon önleme, giriş doğrulaması gibi entegre güvenlik özellikleri.
- Esnek Şablon Motoru: Farklı görünümler ve tema teknolojileri ile entegrasyon.
- Aktif Topluluk ve Zengin Eklentiler: Problemler için hızlı destek ve genişletilebilir fonksiyonellik.
- Detaylı Dokümantasyon: Kapsamlı rehberler ve API referansları sunar.
CakePHP, basit API uygulamalarından karmaşık kurumsal sistemlere kadar her ölçekte web uygulaması geliştirmek için uygundur.
ServBay ile CakePHP Geliştirme Ortamı Kurulumu
ServBay, CakePHP geliştirmeleri için ideal, entegre bir ortam sağlar:
- PHP yorumlayıcı ve popüler eklentiler önceden kuruludur.
- Composer paket yöneticisi yüklüdür.
- Kolayca yapılandırılabilen web sunucusu (Caddy/Nginx).
- Entegre veritabanı servisleri (MySQL, PostgreSQL, Redis vs.).
Bu sayede, tüm bu bileşenleri manuel olarak kurup yapılandırma zorluklarından kurtulursunuz.
Ön Koşullar
Başlamadan önce aşağıdaki adımları tamamladığınızdan emin olun:
- ServBay’in Kurulması: macOS üzerinde ServBay’i indirin ve başarılı şekilde kurulu olduğundan emin olun.
- ServBay Servislerini Başlatın: ServBay uygulamasını başlatın ve ihtiyacınız olan paketlerin (örneğin PHP, kullanacağınız veritabanı - MySQL veya PostgreSQL, ve önbellek servisleri - Redis veya Memcached) çalışır durumda olduğundan emin olun. Servis yönetimini ServBay kontrol panelindeki “Paketler” sekmesinden yapabilirsiniz.
- ServBay’in Temel İşleyişine Hakim Olun: Yeni bir site ekleme ve yapılandırma işlemini öğrenin. Eğer acemiyseniz, önce ServBay Temel Kullanım Rehberi dokümanını inceleyin.
CakePHP Projesi Oluşturma
ServBay, web projelerinizi /Applications/ServBay/www
klasöründe topluca tutmanızı önerir. Bu, ServBay’in sitenizi otomatik olarak algılayıp yönetmesine yardımcı olur.
Terminali Açın
macOS’ta Terminal uygulamasını başlatın.
ServBay Web Sitesi Kök Dizinine Geçin
ServBay’in önerdiği dizine geçin:
bashcd /Applications/ServBay/www
1Proje Klasörü Oluşturun
CakePHP projeniz için yeni bir klasör oluşturun. Örneğin:
bashmkdir servbay-cakephp-app cd servbay-cakephp-app
1
2Composer ile CakePHP Projesi Yaratın
ServBay Composer’ı önceden yükler. Şu komutla CakePHP iskeletini oluşturun:
bashcomposer create-project --prefer-dist cakephp/app .
1Bu komut, son sürüm CakePHP ve bağlı paketleri indirip mevcut dizine kuracaktır.
ORM Sürücüsünü Kurun (PostgreSQL kullanıyorsanız)
PostgreSQL kullanacaksanız ek ORM sürücüsünü yükleyin:
bashcomposer require cakephp/orm-pgsql
1MySQL için ek sürücü gerekmiyor – ana paketle birlikte gelir.
Temel Yapılandırma
Proje oluşturduktan sonra özellikle veritabanı bağlantı bilgileri için temel birkaç ayar yapmalısınız.
Ortam Değişkenleri & Veritabanı Bağlantısını Ayarlayın
CakePHP yerel ayarlarınız çoğunlukla
config/app_local.php
dosyasındadır. Bu dosyayı düzenleyin,Datasources
kısmından veritabanı bağlantınızı girin. ServBay’in varsayılan veritabanı kullanıcı adı genellikleroot
, şifresi isepassword
’dür.Örneğin MySQL bağlantısı:
php// config/app_local.php 'Datasources' => [ 'default' => [ 'className' => \Cake\Database\Connection::class, 'driver' => \Cake\Database\Driver\Mysql::class, // PostgreSQL için \Cake\Database\Driver\Postgres::class 'persistent' => false, 'host' => '127.0.0.1', // ServBay’de veritabanı genellikle lokal çalışır //'port' => '3306', // MySQL için 3306, PostgreSQL için 5432 'username' => 'root', // ServBay varsayılan kullanıcı adı 'password' => 'password', // ServBay varsayılan şifre 'database' => 'servbay_cakephp_app', // Yaratacağınız veritabanı adı 'encoding' => 'utf8mb4', 'timezone' => 'UTC', 'flags' => [], 'cacheMetadata' => true, 'log' => false, /** * Tablo adınız "user" gibi bir kelimeyse true kullanın, "cake" gibi ise false olabilir. Emin değilseniz true seçin. */ 'quoteIdentifiers' => false, /** * Limitasyonlar: * - Çoğu sürücü, PDO ile izolasyon seviyesini ayarlamayı desteklemez. * - Tüm sürücüler charset ayarını PDO ile desteklemez. * - CakePHP içerisindeki Postgres gibi paketli sürücüler PDO seçeneklerini tam desteklemeyebilir. */ 'options' => [], //'url' => env('DATABASE_URL', null), // DATABASE_URL kullanıyorsanız açabilirsiniz ], ],
1
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
33Kullandığınız veritabanı (MySQL veya PostgreSQL) tipine göre
driver
ve gerektiğindeport
ayarını düzenleyin.database
isminin gerçekten oluşturacağınız veritabanı ile aynı olmasına dikkat edin.
Web Sunucu Yapılandırması (ServBay'de Site Oluşturma)
Projenize tarayıcıdan erişebilmek için ServBay üzerinden bir site oluşturup, ilgili klasöre yönlendirmeniz gerekir.
ServBay Kontrol Panelini Açın
ServBay simgesine tıklayın.
“Sites” Sekmesine Geçin
Sol menüden “Sites” (önceden “Hosts”) bölümünü seçin.
Yeni Site Ekleyin
Alttaki
+
işaretine tıklayıp yeni bir site ekleyin. Bilgiler şöyle olmalı:- Ad (Name): Kolay tanımanız için bir isim – örn.
My CakePHP Dev Site
. - Alan Adı (Domain): Yerel geliştirme için bir domain – örn.
servbay-cakephp-test.local
. ServBay otomatik olarak lokalde yönlendirme yapar. - Site Tipi (Site Type):
PHP
seçin. - PHP Sürümü (PHP Version): CakePHP sürümüne uygun bir versiyon (örn. CakePHP 4+ için genellikle PHP 7.4+, CakePHP 5+ için PHP 8.1+ veya üstü seçin, öneri olarak
8.3
). - Kök Dizin (Document Root): Önemli! CakePHP’de web server root dizini ana proje klasörü değil, içteki
webroot
dizinidir. Yani/Applications/ServBay/www/servbay-cakephp-app/webroot
(proje adını kendi kullandığınızla değiştirin).
- Ad (Name): Kolay tanımanız için bir isim – örn.
Kaydedip Uygulayın
Bilgileri girdikten sonra “Kaydet” tuşuna basın. ServBay, değişiklik uygulamada sizi yönlendirecek; onaylayın. Ardından Caddy veya Nginx web sunucusunu domaininize (
servbay-cakephp-test.local
) uygun şekilde yapılandırıp istekleri projenizinwebroot
klasörüne yönlendirecek.
Detaylı site ekleme adımları ServBay dokümantasyonundaki İlk Siteyi Ekleme kısmında bulunabilir.
Temel Ayarların Doğrulanması
Artık oluşturduğunuz siteye tarayıcıdan erişebilirsiniz.
Tarayıcıya girin, ServBay’de ayarladığınız domaini ziyaret edin: https://servbay-cakephp-test.local
Her şey doğru ayarlandıysa, CakePHP’in varsayılan hoşgeldiniz sayfasını görmelisiniz. Bu, PHP ortamının, web sunucusunun ve ServBay site yapılandırmasının doğru kurulduğunu gösterir.
Veritabanı ve Önbellek Servisleri Entegrasyonu
CakePHP, güçlü ORM ve önbellek altyapısı ile ServBay’in veritabanı ve önbellek servisleriyle kolayca entegre çalışır.
İlişkisel Veritabanı Örneği (MySQL / PostgreSQL)
Bu örnekte, CakePHP ORM ile ServBay’deki MySQL veya PostgreSQL veritabanına bağlanıp basit bir users
tablosu oluşturacak ve veriye ekleme, silme, güncelleme, görüntüleme işlemlerini göstereceğiz.
ServBay’de Veritabanı Oluşturun
Migration işlemlerinden önce ServBay’in veritabanı sunucusunda yeni bir veritabanı yaratmalısınız. Bunu phpMyAdmin (MySQL/MariaDB için), pgAdmin (PostgreSQL için), ya da Navicat/DBeaver gibi araçlarla yapabilirsiniz. Genelde adres
127.0.0.1
, kullanıcıroot
, şifrepassword
’dür. Yeni birservbay_cakephp_app
veritabanı oluşturun.ORM Model Dosyası Oluşturun
CakePHP ORM, tabloyu temsil eden bir model dosyasına ihtiyaç duyar.
UsersTable.php
dosyasını yaratın:src/Model/Table/UsersTable.php
dosyasına aşağıdakileri kaydedin:php<?php namespace App\Model\Table; use Cake\ORM\Table; use Cake\Validation\Validator; // Doğrulama kuralları gerekirse class UsersTable extends Table { /** * Initialize metodu * * @param array $config Tablo yapılandırması. * @return void */ public function initialize(array $config): void { parent::initialize($config); $this->setTable('users'); // Tablo adı $this->setDisplayField('name'); // Varsayılan gösterilecek alan $this->setPrimaryKey('id'); // Birincil anahtar // Zaman damgası davranışını eklemek isterseniz // $this->addBehavior('Timestamp'); } /** * Varsayılan doğrulama kuralları. * * @param \Cake\Validation\Validator $validator Validator nesnesi. * @return \Cake\Validation\Validator */ public function validationDefault(Validator $validator): Validator { $validator ->scalar('name') ->maxLength('name', 255) ->requirePresence('name', 'create') ->notEmptyString('name'); $validator ->email('email') ->requirePresence('email', 'create') ->notEmptyString('email') ->add('email', 'unique', ['rule' => 'validateUnique', 'provider' => 'table']); // E-mail’in benzersiz olmasını sağla return $validator; } }
1
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
49Bake Aracıyla Migration Dosyası Oluşturun
CakePHP, veritabanı yapısını migration ile yönetmenizi önerir. Proje dizininde (
/Applications/ServBay/www/servbay-cakephp-app
) şu komutla bir migration dosyası hazırlayın:bashbin/cake bake migration CreateUsers name:string email:string:unique
1Bu komut, bir
users
tablosu,name
(string) veemail
(benzersiz string) alanını içeren migration komutu oluşturur.Veritabanı Migration’ı Çalıştırın
Migration işlemini başlatın:
bashbin/cake migrations migrate
1Başarıyla çalışınca veritabanında yeni
users
tablosunu göreceksiniz.Veritabanı Bağlantısı Ayarını Kontrol Edin (Eğer yapılmadıysa)
config/app_local.php
içindekiDatasources.default
ayarınız, kullandığınız veritabanı ve kimlik bilgileriyle örtüşmeli.MySQL için:
php'Datasources' => [ 'default' => [ 'className' => \Cake\Database\Connection::class, 'driver' => \Cake\Database\Driver\Mysql::class, 'host' => '127.0.0.1', 'username' => 'root', 'password' => 'password', 'database' => 'servbay_cakephp_app', // ... diğer ayarlar ], ],
1
2
3
4
5
6
7
8
9
10
11PostgreSQL için:
php'Datasources' => [ 'default' => [ 'className' => \Cake\Database\Connection::class, 'driver' => \Cake\Database\Driver\Postgres::class, 'host' => '127.0.0.1', // 'port' => '5432', // Varsayılan port 'username' => 'root', 'password' => 'password', 'database' => 'servbay_cakephp_app', // ... diğer ayarlar ], ],
1
2
3
4
5
6
7
8
9
10
11
12
Örnek Routing ve Controller Metotları Ekleyin
config/routes.php
dosyasını düzenleyin, kullanıcı ekleme/görüntüleme için route’lar ekleyin:php// config/routes.php use Cake\Routing\RouteBuilder; use Cake\Routing\Router; use Cake\Routing\Route\DashedRoute; Router::defaultRouteClass(DashedRoute::class); Router::scope('/', function (RouteBuilder $routes) { // ... diğer route'lar $routes->connect('/', ['controller' => 'Pages', 'action' => 'display', 'home']); // Veritabanı örneği route’ları $routes->connect('/db-add-user', ['controller' => 'Pages', 'action' => 'dbAddUser']); $routes->connect('/db-list-users', ['controller' => 'Pages', 'action' => 'dbListUsers']); // ... diğer route'lar $routes->fallbacks(DashedRoute::class); });
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18src/Controller/PagesController.php
dosyanıza veritabanı işlemleri için metotlar ekleyin:php<?php namespace App\Controller; use Cake\Http\Response; use Cake\ORM\TableRegistry; use Cake\Datasource\Exception\RecordNotFoundException; // Kayıt bulunmazsa hata yönetimi için class PagesController extends AppController { /** * Bir view gösterir * * @param array ...$path Yol segmentleri. * @return \Cake\Http\Response|null */ public function display(...$path): ?Response { // ... Varsayılan display metodu return new Response(['body' => 'Hello ServBay! Bu CakePHP’in varsayılan sayfasıdır.']); } /** * Veritabanı örneği: kullanıcı ekle */ public function dbAddUser(): Response { $usersTable = TableRegistry::getTableLocator()->get('Users'); // Users Table örneğini al // Yeni bir kullanıcı yarat $user = $usersTable->newEntity([ 'name' => 'ServBay Demo User', 'email' => 'servbay-demo@servbay.test' // ServBay marka örnek e-mail ]); // Veritabanına kaydet if ($usersTable->save($user)) { return new Response(['body' => 'Kullanıcı başarıyla eklendi! Kullanıcı ID: ' . $user->id]); } else { // Eklenemezse, doğrulama hatası veya başka bir sorun olabilir $errors = $user->getErrors(); // Hata mesajlarını al return new Response(['body' => 'Kullanıcı eklenemedi! Hatalar: ' . json_encode($errors)]); } } /** * Veritabanı örneği: tüm kullanıcıları listele */ public function dbListUsers(): Response { $usersTable = TableRegistry::getTableLocator()->get('Users'); // Users Table örneği // Tüm kullanıcıları getir $users = $usersTable->find()->all(); // Sonucu JSON olarak döndür return new Response(['body' => json_encode($users->toArray())]); // Koleksiyonu array’e çevir } }
1
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
53
54
55
56
57
58Veritabanı Örneğini Test Edin
Tarayıcıda:
https://servbay-cakephp-test.local/db-add-user
adresi ile bir kullanıcı ekleyin (başarı mesajı görmelisiniz).https://servbay-cakephp-test.local/db-list-users
adresiyle tüm kullanıcıları listeleyin (eklediğiniz kullanıcılar).
Bu adımlar ile CakePHP projenizi ServBay’deki ilişkisel veritabanına başarıyla entegre edip temel ORM işlemlerini kullandınız.
Önbellek Servisleri Örneği (Memcached / Redis)
CakePHP’nin birleşik önbellek API’si sayesinde Memcached veya Redis gibi farklı önbellek motorları arasında kolayca geçiş yapılabilir. ServBay, PHP Memcached ve Redis eklentilerini ve servislerini önceden kurulu olarak sunar.
Öncelikle, ServBay kontrol panelindeki “Paketler” sekmesinden Memcached veya Redis servisinin açık olduğuna emin olun.
Önbellek Bağlantısını Ayarlayın
config/app_local.php
dosyasındaCache
bölümünü düzenleyin.Memcached için:
php// config/app_local.php 'Cache' => [ 'default' => [ 'className' => \Cake\Cache\Engine\MemcachedEngine::class, 'servers' => ['127.0.0.1:11211'], // Varsayılan ServBay Memcached adresi 'prefix' => 'servbay_cakephp_', // Anahtar ön eki ], // ... diğer önbellek ayarları ],
1
2
3
4
5
6
7
8
9Redis için:
php// config/app_local.php 'Cache' => [ 'default' => [ 'className' => \Cake\Cache\Engine\RedisEngine::class, 'host' => '127.0.0.1', // ServBay Redis adresi 'port' => 6379, 'password' => null, // Redis’te şifre varsa girin 'database' => 0, // Redis veritabanı endeksi 'prefix' => 'servbay_cakephp_', // Anahtar ön eki ], // ... diğer önbellek ayarları ],
1
2
3
4
5
6
7
8
9
10
11
12
Kullanmak istediğiniz önbellek servisine göre ayarlayın.
Örnek Routing ve Controller Metotları Ekleyin
config/routes.php
dosyasına önbellek örneklerini ekleyin:php// config/routes.php // ... diğer route'lar $routes->connect('/cache-memcached', ['controller' => 'Pages', 'action' => 'cacheMemcached']); $routes->connect('/cache-redis', ['controller' => 'Pages', 'action' => 'cacheRedis']); // ... diğer route'lar
1
2
3
4
5src/Controller/PagesController.php
dosyasına önbellek işlemleri için metotlar ekleyin:php<?php namespace App\Controller; use Cake\Http\Response; use Cake\Cache\Cache; // Cache sınıfını dahil et // ... diğer use komutları class PagesController extends AppController { // ... diğer metodlar (display, dbAddUser, dbListUsers) /** * Önbellek örneği: Memcached kullanımı */ public function cacheMemcached(): Response { // app_local.php’de 'default' önbellek MemcachedEngine olarak ayarlanmış olmalı $cacheKey = 'servbay_memcached_test_key'; $cachedData = Cache::read($cacheKey); // Önbellekten oku $responseBody = ''; if ($cachedData === false) { // Önbellek miss oldu $responseBody = 'Önbellek bulunamadı! "Hello Memcached!" önbelleğe yazılıyor.'; $dataToCache = 'Hello Memcached!'; Cache::write($cacheKey, $dataToCache, 'default'); // Veriyi yaz } else { // Önbellek hit oldu $responseBody = 'Önbellekten veri bulundu! Veri: ' . $cachedData; } return new Response(['body' => $responseBody]); } /** * Önbellek örneği: Redis kullanımı */ public function cacheRedis(): Response { // app_local.php’de 'default' önbellek RedisEngine olarak ayarlanmış olmalı $cacheKey = 'servbay_redis_test_key'; $cachedData = Cache::read($cacheKey); // Önbellekten oku $responseBody = ''; if ($cachedData === false) { // Önbellek bulunamadı $responseBody = 'Önbellek bulunamadı! "Hello Redis!" önbelleğe yazılıyor.'; $dataToCache = 'Hello Redis!'; Cache::write($cacheKey, $dataToCache, 'default'); // Veriyi yaz } else { // Önbellekten veri bulundu $responseBody = 'Önbellekten veri bulundu! Veri: ' . $cachedData; } return new Response(['body' => $responseBody]); } }
1
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
53
54
55
56
57
58
59
60
61Önbellek Örneklerini Test Edin
Tarayıcıda:
- Memcached’i yapılandırdıysanız,
https://servbay-cakephp-test.local/cache-memcached
adresini ziyaret edin. İlk seferde “Önbellek bulunamadı” mesajı, yeniledikçe “Önbellekten veri bulundu” mesajı almalısınız. - Redis için
https://servbay-cakephp-test.local/cache-redis
adresini kullanın. Aynı şekilde “miss” ve sonrasında “hit” mesajları görünecektir.
- Memcached’i yapılandırdıysanız,
Bu, CakePHP projenizin ServBay önbellek servisleri ile başarılı şekilde entegre çalıştığını gösterir.
Uyarılar
- Veritabanı Kimlik Bilgileri: ServBay’in varsayılan veritabanı kullanıcı adı ve şifresi (
root
/password
) sadece yerel geliştirme içindir. Gerçek sistemde mutlaka daha güvenli bilgiler kullanın. - Site Kök Dizini: ServBay’de “Document Root”u mutlaka CakePHP projenizdeki
webroot
klasörüne ayarlayın, ana dizine değil. Bu, CakePHP iyi uygulamasıdır. - PHP Sürümü Uyumluluğu: Kullanacağınız CakePHP sürümüyle ServBay’deki PHP versiyonunun uyumlu olduğundan emin olun. Gerekli sürümler için CakePHP resmi belgelerine bakın.
- ServBay Portları: ServBay’in varsayılan portları (ör. 80 ve 443) başka bir uygulama tarafından kullanılıyorsa, ServBay ayarlarından portları değiştirmelisiniz ve erişimde hosts dosyasını ya da port numarasını güncellemelisiniz.
Sıkça Sorulan Sorular (SSS)
- S:
servbay-cakephp-test.local
adresine girince “Sayfa bulunamadı” hatası alıyorum, neden?- C: ServBay’de ilgili sitenin “Document Root”unun
/Applications/ServBay/www/servbay-cakephp-app/webroot
klasörüne doğru şekilde işaret ettiğinden emin olun. - ServBay web sunucusu (Caddy/Nginx) açık mı kontrol edin.
- Bilgisayarınızın hosts dosyası
servbay-cakephp-test.local
adını127.0.0.1
adresine yönlendiriyor mu bakın (ServBay genellikle otomatik yapar ama bazen kontrol gerekebilir). - CakePHP projesindeki
.htaccess
ya da web sunucusu yapılandırma dosyaları doğru mu (genelliklewebroot/.htaccess
varsayılan olarak uygundur).
- C: ServBay’de ilgili sitenin “Document Root”unun
- S: Veritabanı bağlantısı neden başarısız?
- C: ServBay’deki ilgili veritabanı servisinin (MySQL/PostgreSQL) açık olduğundan emin olun.
config/app_local.php
dosyasındaki host, port, kullanıcı adı, şifre ve veritabanı ayarlarının ServBay ile örtüşüp örtüşmediğini kontrol edin.- ServBay’deki veritabanı sunucusunda
servbay_cakephp_app
isimli veritabanını oluşturduğunuzdan emin olun.
- S: Composer veya
bin/cake
komutu çalışmıyor, ne yapmalıyım?- C: Terminalde aktif dizininiz CakePHP proje ana dizini (
/Applications/ServBay/www/servbay-cakephp-app
) olmalı. - ServBay’de PHP ve Composer paketlerinin açık olduğundan emin olun.
- Terminalinizde
php
komutunun bulunabilir olduğundan emin olun (ServBay genelde PATH’e ekler). Gerekirse ServBay entegre terminalini kullanın veya PATH’i elle ayarlayın.
- C: Terminalde aktif dizininiz CakePHP proje ana dizini (
Sonuç
ServBay ile CakePHP projesi için modern, hızlı ve güvenli bir geliştirme ortamını kolayca kurabilirsiniz. ServBay’in önceden entegre edilmiş PHP, Composer, web sunucusu ve veritabanı servisleri sayesinde karmaşık yapılandırmalara gerek kalmadan hızlıca projeyi ayağa kaldırabilirsiniz. Bu rehberde projenin yaratılması, temel yapılandırması, web sunucu ayarı ve veritabanı/önbellek entegrasyonu süreçlerini adım adım öğrendiniz. ServBay’in sunduğu rahatlığı kullanarak yapılandırma ile uğraşmadan doğrudan kodlamaya ve geliştirmeye odaklanabilirsiniz.