Laravel Projesi Oluşturma ve Çalıştırma
Laravel Nedir?
Laravel, PHP geliştiricisi Taylor Otwell tarafından oluşturulmuş açık kaynak kodlu bir PHP web framework'üdür. Geliştiricilere modern web uygulamaları oluşturmak için basit ve zarif bir araç seti sunmayı amaçlar. Laravel, yönlendirme, oturum, önbellek, kimlik doğrulama gibi zengin özellikler sunarak yaygın web geliştirme görevlerini basitleştirir.
Laravel'in Temel Özellikleri ve Avantajları
- Basitlik ve Zarafet: Laravel'in sözdizimi basit ve zariftir, bu da kodun okunabilirliğini ve sürdürülebilirliğini artırır.
- Zengin Fonksiyon Seti: Yönlendirme, kimlik doğrulama, oturum yönetimi ve önbellekleme gibi birçok fonksiyon içerir, bu da geliştirme çalışmalarını büyük ölçüde basitleştirir.
- Güçlü ORM: Eloquent ORM, veri tabanı işlemlerini kolaylaştıran basit bir ActiveRecord uygulaması sunar.
- Modüler Tasarım: Composer paket yöneticisi sayesinde üçüncü taraf kütüphaneler ve uzantılar kolayca entegre edilebilir.
- Güçlü Topluluk Desteği: Geniş bir geliştirici topluluğuna ve zengin bir ekosisteme sahiptir.
Laravel, geliştiricilere küçük uygulamalardan büyük kurumsal sistemlere kadar çeşitli ölçeklerde projeler oluşturma imkanı tanır.
ServBay Kullanarak Laravel Projesi Oluşturma ve Çalıştırma
Bu makalede, Laravel projesi oluşturmak ve çalıştırmak için ServBay'in sağladığı PHP ortamını kullanacağı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 veya Apache kullanıcısıysanız
ServBay varsayılan olarak Caddy'yi web sunucusu olarak kullanır. ServBay'e NGINX ve Apache'den geçiş yapan kullanıcılar için bazı önemli değişiklikler şunlardır:
Caddy Yapılandırması
ServBay, Caddy'yi otomatik olarak yapılandırmıştır ve varsayılan yapılandırmalar optimize edilmiştir. Geliştiriciler sadece ServBay'in 'host' özelliğini kullanarak sitelerini yönetebilirler, manuel olarak Caddy yapılandırma dosyasını değiştirmeye gerek yoktur.
Rewrite Kuralları ve .htaccess
NGINX ve Apache'de, geliştiriciler genellikle URL yeniden yazma ve diğer yapılandırma işlemleri için kendi Rewrite kurallarını ve .htaccess dosyalarını yazarlar. Ancak, ServBay'de bu kurallar zaten optimize edilmiştir, bu yüzden özel bir ihtiyaç olmadıkça geliştiricilerin bu kuralları yazmasına gerek yoktur.
Daha Fazlasını Öğrenin
Daha fazla bilgi için lütfen Rewrite ve htaccess, Apache Sitesini ServBay'e Taşıma, NGINX Sitesini ServBay'e Taşıma belgelerine göz atın.
Laravel Projesi Oluşturma
TIP
ServBay geliştiricilerin web sitelerini /Applications/ServBay/www
dizinine koymalarını önerir, bu yönetimi kolaylaştırır.
Composer Kurulumu
ServBay varsayılan olarak Composer ile gelir, ayrıca kurulum yapılmasına gerek yoktur.
Laravel Projesi Oluşturma
Composer'ı kullanarak yeni bir Laravel projesi oluşturun:
bashcd /Applications/ServBay/www mkdir servbay-laravel-app cd servbay-laravel-app composer create-project --prefer-dist laravel/laravel .
1
2
3
4Proje Dizinine Girme
Yeni oluşturulan Laravel proje dizinine girin:
bashcd /Applications/ServBay/www/servbay-laravel-app
1
Başlangıç Yapılandırması
Uygulama Anahtarı Oluşturma
Laravel, kullanıcı oturumları ve diğer şifreli verilerin güvenliğini sağlamak için bir uygulama anahtarına ihtiyaç duyar. Artisan komutunu kullanarak uygulama anahtarı oluşturabilirsiniz:
bashphp artisan key:generate
1Çevre Değişkenlerini Yapılandırma
.env
dosyasında veri tabanı bağlantı bilgilerini ve diğer çevre değişkenlerini yapılandırın. Aşağıdaki yapılandırmaların doğru şekilde ayarlandığından emin olun:APP_NAME=Laravel APP_ENV=local APP_KEY=base64:... APP_DEBUG=true APP_URL=https://servbay-laravel-test.local LOG_CHANNEL=stack DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=servbay_laravel_app DB_USERNAME=root DB_PASSWORD=password
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Web Sunucusunu Yapılandırma
Laravel projesine erişmek için ServBay'in 'host' özelliğini kullanarak bir web sunucusu eklememiz gerekiyor. ServBay'in 'host' ayarlarında, yeni bir host ekleyin:
- İsim:
My First Laravel Dev Site
- Alan Adı:
servbay-laravel-test.local
- Web sitesi türü:
PHP
- PHP sürümü:
8.3
- Web sitesi kök dizini:
/Applications/ServBay/www/servbay-laravel-app/public
Ayrıntılı ayar adımları için İlk Web Sitesi Ekleme rehberine bakın.
Örnek Kod Ekleme
routes/web.php
dosyasına aşağıdaki kodu ekleyin, "Hello ServBay!" çıktısını almak için:
Route::get('/', function () {
return 'Hello ServBay!';
});
2
3
Web Sitesine Erişim
Tarayıcınızı açın ve https://servbay-laravel-test.local
adresine gidin, sayfada Hello ServBay!
çıktısını göreceksiniz.
NoSQL Veritabanı Örneği
Memcached Örneği
Memcached Eklentisini Kurma
ServBay'de, Memcached eklentisi önceden kuruludur, ek kurulum gerekmez.
Memcached Yapılandırma
.env
dosyasında Memcached bağlantı bilgilerini yapılandırın:CACHE_STORE=memcached MEMCACHED_HOST=127.0.0.1
1
2Memcached Kullanma
Kontrolcüde önbellekleme kullanma:
phpuse Illuminate\Support\Facades\Cache; Route::get('/memcached', function () { Cache::put('key', 'value', 600); return Cache::get('key'); });
1
2
3
4
5
6
Redis Örneği
Redis Eklentisini Kurma
ServBay'de, Redis eklentisi önceden kuruludur, ek kurulum gerekmez.
Redis Yapılandırma
.env
dosyasında Redis bağlantı bilgilerini yapılandırın:CACHE_STORE=redis REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379
1
2
3
4Redis Kullanma
Kontrolcüde önbellekleme kullanma:
phpuse Illuminate\Support\Facades\Redis; Route::get('/redis', function () { Redis::set('key', 'value'); return Redis::get('key'); });
1
2
3
4
5
6
İlişkisel Veritabanı Örneği
Veri Tabanı Yapısı Oluşturma ve Migrasyon Dosyaları
Migrasyon Dosyası Oluşturma
Artisan komutunu kullanarak bir migrasyon dosyası oluşturun:
bashphp artisan make:migration create_accounts_table
1Migrasyon Dosyasını Düzenleme
database/migrations
dizininde oluşturulan yeni migrasyon dosyasını bulun ve veri tabanı tablosu yapısını tanımlamak için düzenleyin:phppublic function up() { Schema::create('accounts', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamps(); }); }
1
2
3
4
5
6
7
8
9Migrasyon Çalıştırma
Artisan komutunu kullanarak migrasyonu çalıştırın ve veri tabanı tablosunu oluşturun:
bashphp artisan migrate
1
MySQL Örneği
MySQL Yapılandırması
.env
dosyasında MySQL bağlantı bilgilerini yapılandırın:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=servbay_laravel_app DB_USERNAME=root DB_PASSWORD=password
1
2
3
4
5
6Kullanıcı Verilerini Yazma
Kontrollere kullanıcı verilerini yazma:
phpuse Illuminate\Support\Facades\DB; Route::get('/mysql-add', function () { DB::table('accounts')->insert([ 'name' => 'ServBay', 'email' => '[email protected]', ]); return 'Account added'; });
1
2
3
4
5
6
7
8
9MySQL Kullanma
Kontrollere veri tabanını çağırma:
phpuse Illuminate\Support\Facades\DB; Route::get('/mysql', function () { $users = DB::table('accounts')->get(); return $users; });
1
2
3
4
5
6
PostgreSQL Örneği
PostgreSQL Yapılandırması
.env
dosyasında PostgreSQL bağlantı bilgilerini yapılandırın:DB_CONNECTION=pgsql DB_HOST=127.0.0.1 DB_PORT=5432 DB_DATABASE=servbay_laravel_app DB_USERNAME=root DB_PASSWORD=password
1
2
3
4
5
6Kullanıcı Verilerini Yazma
Kontrollere kullanıcı verilerini yazma:
phpuse Illuminate\Support\Facades\DB; Route::get('/pgsql-add', function () { DB::table('accounts')->insert([ 'name' => 'ServBay', 'email' => '[email protected]', ]); return 'Account added'; });
1
2
3
4
5
6
7
8
9PostgreSQL Kullanma
Kontrollere veri tabanını çağırma:
phpuse Illuminate\Support\Facades\DB; Route::get('/pgsql', function () { $users = DB::table('accounts')->get(); return $users; });
1
2
3
4
5
6
Bu adımları tamamladıktan sonra, bir Laravel projesi oluşturup çalıştırmış ve ServBay'in sağladığı fonksiyonları kullanarak projenizi yönetmiş ve erişmiş olacaksınız. Ayrıca çeşitli veri tabanlarına bağlanarak verileri çağırabildiniz.