Gelişmiş Konular
Bu bölümde, ödeme yöntemleri oluşturma, soru yöntemleri, veri ızgaraları ve daha fazlası gibi e-Sınav'ın ileri düzey konularını tartışacağız. Bu konuya girmeden önce, Laravel'e aşina olduğunuzu varsayıyoruz.
Minio
MinIO Yüksek Performanslı Nesne Depolama
MinIO, Amazon Web Services S3 uyumlu bir API sağlayan ve tüm temel S3 özelliklerini destekleyen yüksek performanslı bir nesne depolama çözümüdür. MinIO, genel veya özel bulut, yalın donanım altyapısı, düzenlenmiş ortamlar ve uç altyapısı gibi her yerde devreye almak için tasarlanmıştır.
Kurulum
Bulut
MinIO (opens in a new tab) bulut tabanını kullanmak için kayıt olup dökümanları takip edebilirsiniz.
Docker
Docker kullanıyorsanız bulutu kullanmanız gerekmez. Bunun yerine, komut satırını kullanarak projeyi başlatın ve 'localhost:9000'de çalıştırın.
./vendor/bin/sail up
.env'de MinIO'yu yapılandırın:
MINIO_ENDPOINT=http://minio:9000
MINIO_URL=http://localhost:9000
MINIO_KEY=sail
MINIO_SECRET=password
MINIO_REGION=us-east-1
MINIO_BUCKET=imtihan
Meilisearch
Meilisearch'ü yükleme, belge ekleme, ilk aramanızı yapma, arama önizlemesini kullanma ve bulut sunucunuzu koruma konularında size yol gösterecektir.
Kurulum
Bulut
Meilisearch (opens in a new tab) bulut tabanını kullanmak için kayıt olup dökümanları takip edebilirsiniz.
Docker
Docker kullanıyorsanız bulutu kullanmanız gerekmez. Bunun yerine, komut satırını kullanarak projeyi başlatın ve 'localhost:7700'de çalıştırın.
./vendor/bin/sail up
.env'de Meilisearch'ü yapılandırın:
SCOUT_DRIVER=meilisearch
MEILISEARCH_HOST=http://meilisearch:7700
MEILISEARCH_KEY=masterKey
SCOUT_QUEUE=true
Toplu İçe Aktarma
Scout'u mevcut bir projeye kuruyorsanız, dizinlerinize aktarmanız gereken veritabanı kayıtlarınız zaten olabilir. Scout, mevcut tüm kayıtlarınızı arama dizinlerinize içe aktarmak için kullanabileceğiniz bir scout:import
Artisan komutu sağlar:
sail artisan scout:import "App\Models\Name"
flush
komutu, bir modelin tüm kayıtlarını arama dizinlerinizden kaldırmak için kullanılabilir:
sail artisan scout:flush "App\Models\Name"
Kuyruk
Scout'u kullanmak için kesinlikle gerekli olmamakla birlikte, kitaplığı kullanmadan önce bir kuyruk sürücüsü (opens in a new tab) yapılandırmayı kesinlikle düşünmelisiniz. Bir sıra çalışanı çalıştırmak, Scout'un model bilgilerinizi arama dizinlerinizle senkronize eden tüm işlemleri kuyruğa almasına izin vererek, uygulamanızın web arayüzü için çok daha iyi yanıt süreleri sağlar.
Bir kuyruk
sürücüsü yapılandırdıktan sonra, config/scout.php
yapılandırma dosyanızdaki kuyruk seçeneğinin değerini true
olarak ayarlayın:
'queue' => true,
kuyruk
seçeneği yanlış
olarak ayarlandığında bile, Algolia ve Meilisearch gibi bazı Scout sürücülerinin kayıtları her zaman eşzamansız olarak indekslediğini unutmamak önemlidir. Yani laravel uygulamanız içerisinde indeksleme işlemi tamamlanmış olsa bile arama motorunun kendisi yeni ve güncellenmiş kayıtları hemen yansıtmayabilir.
Scout işlerinizin kullandığı bağlantıyı ve kuyruğu belirtmek için, kuyruk
yapılandırma seçeneğini bir dizi olarak tanımlayabilirsiniz:
'queue' => [
'connection' => 'redis',
'queue' => 'scout'
],