auzefSunucu Tabanlı ProgramlamaWeb Tasarım Ve Kodlama

Sunucu Tabanlı Programlama Ünite -5

Model Katmanı

 

#1. Veritabanı tablolarının isimlendirilmesinde Laravel’in varsayılan davranışı nedir?

Cevap: B) Çoğul isim kullanma
Açıklama : Laravel’in varsayılan davranışı, model isimlerini tekil, ilişkili veritabanı tablolarını ise çoğul olarak kullanmaktır.
Örnek:

– Model Adı: User
– Oluşturulan Tablonun Adı: users

#2. Laravel’de migration dosyaları nerede saklanır?

Cevap: D) database/migrations

Açıklama : Laravel’de migration dosyaları database/migrations klasöründe saklanır.

#3. Laravel’de migration dosyaları ne zaman veritabanına yansır?

Cevap: A) php artisan migrate komutu çalıştırıldığında

Açıklama : Migration dosyaları oluşturulduktan sonra veritabanına yansıtılması için şu komut çalıştırılmalıdır:

php artisan migrate

#4. ORM teknolojisinin temel amacı nedir?

Cevap: E) SQL sorgularını nesne yönelimli yapıya dönüştürmek
Açıklama : ORM (Object-Relational Mapping), SQL sorgularını nesne yönelimli programlama (OOP) prensiplerine uygun şekilde çalıştırmaya yarar. Laravel’de Eloquent ORM bu amaçla kullanılır.

#5. Laravel’de bir yazarın birden fazla kitabı olabileceğini belirtmek için hangi ilişki türü kullanılır?

Cevap: A) hasMany
Açıklama : Laravel’de hasMany ilişkisi, bir modelin birden fazla ilişkili kayda sahip olduğunu ifade etmek için kullanılır. Örneğin, bir yazarın birden fazla kitabı olabilir.
Örnek Kod:

class Yazar extends Model {
public function kitaplar() {
return $this->hasMany(Kitap::class);
}
}

Öğrenme Yönetim Sistemi Öğrenci Dostu LOLONOLO bol bol deneme sınavı yapmayı önerir.

#6. Laravel’de bir modelin hangi veritabanı alanlarının toplu olarak doldurulabileceğini belirtmek için kullanılan özellik hangisidir?

Cevap: C) protected $fillable
Açıklama : $fillable özelliği, toplu atama (mass assignment) için izin verilen sütunları belirler.
Örnek:

class Kitap extends Model {
protected $fillable = ['baslik', 'yazar_id', 'yayim_tarihi'];
}

#7. Laravel’de .env dosyasının temel amacı nedir?

Cevap : C) Konfigürasyon ayarlarını saklamak

Açıklama : Laravel’de .envdosyası veritabanı bağlantıları, API anahtarları ve sistem ayarları gibi bilgiler saklamak için kullanılır.

#8. Laravel’de bir modelin başka bir modele ait olduğunu belirtmek için hangi ilişki kullanılır?

Cevap: B) belongsTo

Açıklama: Bir kitap bir yazara ait olabilir. Bu durumda belongsTo ilişkisi kullanılır.
Örnek Kod:

class Kitap extends Model {
public function yazar() {
return $this->belongsTo(Yazar::class);
}
}

#9. ir kitabın birden fazla kategoriye ait olabileceği ilişki türü hangisidir?

Cevap : E) belongsToMany
Açıklama : Bir kitap birden fazla kategoriye ait olabilir ve bir kategori birden fazla kitabı içerebilir. Bu tür ilişkiler için belongsToMany kullanılır.

Örnek Kod:

class Kitap extends Model {
public function kategoriler() {
return $this->belongsToMany(Kategori::class);
}
}

#10. Model oluştururken aynı anda migration da oluşturmak için hangi parametre kullanılır?

Cevap: D) –migration
Açıklama : Migration ile birlikte model oluşturmak için şu komut kullanılır:
php artisan make:model Kitap --migration

Öğrenme Yönetim Sistemi Öğrenci Dostu LOLONOLO bol bol deneme sınavı yapmayı önerir.

Öncesi
TESTi BiTiR, PUANINI GÖR

SONUÇ

İstanbul Üniversitesi Açık ve Uzaktan Eğitim Fakültesi (Auzef)
Açık Öğretim Fakültesi
Bölüm : Web Tasarımı ve Kodlama
2. Sınıf Bahar Dönemi
Sunucu Tabanlı Programlama Ünite -5
Model Katmanı

İstanbul Üniversitesi Açık ve Uzaktan Eğitim Fakültesi (Auzef)
Açık Öğretim Fakültesi
Bölüm : Web Tasarımı ve Kodlama
2. Sınıf Bahar Dönemi
Sunucu Tabanlı Programlama Ünite -5
Model Katmanı

Model Katmanı

İstanbul Üniversitesi Açık ve Uzaktan Eğitim Fakültesi (Auzef)
Açık Öğretim Fakültesi
Bölüm : Web Tasarımı ve Kodlama
2. Sınıf Bahar Dönemi
Sunucu Tabanlı Programlama Ünite -5
Model Katmanı

Model Katmanı

Model Katmanı

Model Katmanı: Laravel ve Nesne Yönelimli Veritabanı Yönetimi

Günümüzde modern web uygulamaları, büyük miktarda veriyi yönetmek için güçlü ve ölçeklenebilir veritabanı sistemlerine ihtiyaç duyar. Laravel framework’ü, veritabanı işlemlerini daha verimli ve yönetilebilir hale getirmek için Eloquent ORM (Object-Relational Mapping) yapısını kullanır. Bu model tabanlı yaklaşım, veritabanı tablolarını nesne yönelimli programlama paradigmasına uygun hale getirerek, SQL sorgularını daha okunabilir ve yönetilebilir bir hale getirir.

Model İlişkileri ve Kullanımı

Laravel’de model ilişkileri, veritabanındaki tablolar arasındaki bağlantıları daha anlaşılır bir şekilde yönetmek için kullanılır. Örneğin, bir yazarın birden fazla kitabı olabilir. Bu tür bire-çok (one-to-many) ilişkisini tanımlamak için hasMany metodu kullanılır:

  class Yazar extends Model {
    public function kitaplar() {
        return $this->hasMany(Kitap::class);
    }
}

Eğer bir veri modeli başka bir modele aitse, yani çoktan-bire (many-to-one) ilişkisi varsa, belongsTo metodu kullanılır:

  class Yazar extends Model {
    public function kitaplar() {
        return $this->hasMany(Kitap::class);
    }
}

Bunun yanı sıra, çoktan-çoğa (many-to-many) ilişkilerde belongsToMany metodu kullanılır. Örneğin, bir kitap birden fazla kategoriye ait olabilir ve bir kategori birden fazla kitabı içerebilir:

class Kitap extends Model {
    public function kategoriler() {
        return $this->belongsToMany(Kategori::class);
    }
}

Bu ilişkiler, Laravel’in güçlü ORM yapısı sayesinde SQL sorgularına dönüştürülerek veritabanında etkili bir şekilde çalıştırılır.

Veritabanı İsimlendirme Kuralları

Laravel’de model ve tablo isimlendirme konusunda belirli standartlar bulunmaktadır:

– Model isimleri tekil olarak belirlenir. Örneğin, User modeli tekil isimle tanımlanır.

– Veritabanı tabloları çoğul olarak adlandırılır. Örneğin, users tablosu bu model ile eşleşir.

Bu isimlendirme yöntemi, Laravel’in otomatik veritabanı eşleştirme yapabilmesini sağlar. Eğer özel bir tablo adı kullanmak istenirse, model içinde $table özelliği belirlenebilir:

 class Kullanici extends Model {
    protected $table = 'kullanici_tablosu';
} 

ORM ve SQL Entegrasyonu

ORM (Object-Relational Mapping), SQL sorgularını nesne yönelimli yapıya dönüştürerek veritabanı işlemlerinin daha esnek ve yönetilebilir olmasını sağlar. Laravel’de Eloquent ORM, SQL sorgularını minimize ederek aşağıdaki gibi kullanım kolaylığı sağlar:

  // Tüm kullanıcıları getir
$kullanicilar = User::all();

// Belirli bir kullanıcıyı getir
$kullanici = User::find(1);

Bu yapı, geliştiricilerin karmaşık SQL sorgularını yazmasını gereksiz kılarak zamandan tasarruf etmelerini sağlar.

Migration ve Veri Tabanı Yönetimi

Laravel’de migration yapıları, veritabanı şemalarının yönetimini kolaylaştırır. Migration dosyaları, database/migrations klasöründe saklanır ve veritabanı değişikliklerinin takip edilmesini sağlar. Yeni bir migration dosyası oluşturmak için şu komut kullanılır:

  php artisan make:migration create_kitaplar_table

Migration dosyaları oluşturulduktan sonra, veritabanına yansıtılması için şu komut çalıştırılır:

  php artisan migrate

Bu sayede, veritabanı tabloları kod içinde tanımlanarak, farklı ortamlara kolayca aktarılabilir hale gelir.

Toplu Veri İşleme ve Güvenlik

Laravel, toplu veri işlemeyi desteklemekle birlikte güvenliği de ön planda tutar. $fillable ve $guarded özellikleri, hangi alanların toplu doldurulabileceğini belirleyerek mass assignment güvenlik açıklarını önlemeye yardımcı olur.

Örneğin, sadece belirli sütunların toplu olarak doldurulabilmesini sağlamak için $fillable özelliği kullanılır:

  class Kitap extends Model {
    protected $fillable = ['baslik', 'yazar_id', 'yayim_tarihi'];
}

Çevresel Değişkenler ve Konfigürasyon

Laravel uygulamalarında .env dosyası, veritabanı bağlantıları, API anahtarları, sistem ayarları gibi hassas bilgileri saklamak için kullanılır. Örneğin:

 DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=veritabani_adi
DB_USERNAME=kullanici
DB_PASSWORD=sifre 

Bu yapı, kodun farklı ortamlara uyarlanmasını kolaylaştırır ve güvenliği artırır.

Model ve Migration Eş Zamanlı Oluşturma

Laravel’de bir model oluştururken aynı anda migration da oluşturmak mümkündür. Bunun için aşağıdaki komut kullanılır:

  php artisan make:model Kitap --migration

Bu komut, hem app/Models klasöründe bir Kitap modeli oluşturur hem de database/migrations klasöründe ilgili migration dosyasını oluşturur.

Sonuç

Model katmanı, Laravel’de veritabanı işlemlerinin nesne yönelimli bir şekilde yönetilmesini sağlayarak geliştiricilere büyük kolaylık sunar. Model ilişkileri, migration kullanımı, güvenlik mekanizmaları ve ORM’nin sağladığı avantajlar sayesinde, veritabanı işlemleri daha hızlı, verimli ve güvenli hale gelir. Laravel’in sunduğu esnek model yönetimi, modern web uygulamalarının gelişimi için kritik bir rol oynar.

@lolonolo_com

Sunucu Tabanlı Programlama Ünite -5

Model Katmanı

Model Katmanı

Model Katmanı

1: Laravel’de bir yazarın birden fazla kitabı olabileceğini belirtmek için hangi ilişki türü kullanılır?

A) hasMany
B) belongsTo
C) belongsToMany
D) hasOne
E) hasPivot

Cevap: A) hasMany

Açıklama : Laravel’de hasMany ilişkisi, bir modelin birden fazla ilişkili kayda sahip olduğunu ifade etmek için kullanılır. Örneğin, bir yazarın birden fazla kitabı olabilir.
Örnek Kod:

class Yazar extends Model {
public function kitaplar() {
return $this->hasMany(Kitap::class);
}
}

2- Veritabanı tablolarının isimlendirilmesinde Laravel’in varsayılan davranışı nedir?

A) Tekil isim kullanma
B) Çoğul isim kullanma
C) Büyük harfle başlatma
D) Tire ile ayırma
E) Alt çizgi kullanma

Cevap: B) Çoğul isim kullanma

Açıklama : Laravel’in varsayılan davranışı, model isimlerini tekil, ilişkili veritabanı tablolarını ise çoğul olarak kullanmaktır.
Örnek:

– Model Adı: User
– Oluşturulan Tablonun Adı: users

3-ORM teknolojisinin temel amacı nedir?

A) Veritabanını şifrelemek
B) Veritabanı performansını artırmak
C) Tablo ilişkilerini kaldırmak
D) Güvenlik duvarı oluşturmak
E) SQL sorgularını nesne yönelimli yapıya dönüştürmek

Cevap: E) SQL sorgularını nesne yönelimli yapıya dönüştürmek

Açıklama : ORM (Object-Relational Mapping), SQL sorgularını nesne yönelimli programlama (OOP) prensiplerine uygun şekilde çalıştırmaya yarar. Laravel’de Eloquent ORM bu amaçla kullanılır.

4-Laravel’de migration dosyaları ne zaman veritabanına yansır?

A) php artisan migrate komutu çalıştırıldığında
B) Model oluşturulduğunda
C) Sunucu başlatıldığında
D) Route tanımlandığında
E) Controller oluşturulduğunda

Cevap: A) php artisan migrate komutu çalıştırıldığında

Açıklama : Migration dosyaları oluşturulduktan sonra veritabanına yansıtılması için şu komut çalıştırılmalıdır:

php artisan migrate

5-Laravel’de bir modelin hangi veritabanı alanlarının toplu olarak doldurulabileceğini belirtmek için kullanılan özellik hangisidir?

A) protected $table
B) protected $hidden
C) protected $fillable
D) protected $guarded
E) protected $timestamps

Cevap: C) protected $fillable

Açıklama : $fillable özelliği, toplu atama (mass assignment) için izin verilen sütunları belirler.
Örnek:

class Kitap extends Model {
protected $fillable = ['baslik', 'yazar_id', 'yayim_tarihi'];
}

6-Bir kitabın birden fazla kategoriye ait olabileceği ilişki türü hangisidir?

A) hasOne
B) belongsTo
C) hasMany
D) hasPivot
E) belongsToMany

Cevap : E) belongsToMany

Açıklama : Bir kitap birden fazla kategoriye ait olabilir ve bir kategori birden fazla kitabı içerebilir. Bu tür ilişkiler için belongsToMany kullanılır.
Örnek Kod:

class Kitap extends Model {
public function kategoriler() {
return $this->belongsToMany(Kategori::class);
}
}

7-Laravel’de .env dosyasının temel amacı nedir?

A) Veritabanı tablolarını oluşturmak
B) Model ilişkilerini tanımlamak
C) Konfigürasyon ayarlarını saklamak
D) Route’ları yönetmek
E) Controller’ları yapılandırmak

Cevap : C) Konfigürasyon ayarlarını saklamak

Açıklama : Laravel’de .env dosyası veritabanı bağlantıları, API anahtarları ve sistem ayarları gibi bilgiler saklamak için kullanılır.

8- Laravel’de migration dosyaları nerede saklanır?

A) app/Models
B) app/Http
C) resources/views
D) database/migrations
E) routes/web.php

Cevap: D) database/migrations

Açıklama : Laravel’de migration dosyaları database/migrations klasöründe saklanır.

9- Model oluştururken aynı anda migration da oluşturmak için hangi parametre kullanılır?

A) –create
B) –force
C) –model
D) –migration
E) –table

Cevap: D) –migration

Açıklama : Migration ile birlikte model oluşturmak için şu komut kullanılır:

php artisan make:model Kitap --migration

10-Laravel’de bir modelin başka bir modele ait olduğunu belirtmek için hangi ilişki kullanılır?

A) hasMany
B) belongsTo
C) belongsToMany
D) hasOne
E) hasPivot

Cevap: B) belongsTo

Açıklama : Bir kitap bir yazara ait olabilir. Bu durumda belongsTo ilişkisi kullanılır.
Örnek Kod:

class Kitap extends Model {
public function yazar() {
return $this->belongsTo(Yazar::class);
}
}

@lolonolo_com

Web Tasarım ve Kodlama
Auzef Sunucu Tabanlı Programlama Web Tasarımı ve Kodlama

Auzef Web Tasarımı ve Kodlama 2. sınıf bahar dönemi soruları

Editor

Editör

error: Kopyalamaya Karşı Korumalıdır!