Dev Vizyon


    × Bunları biliyor muydunuz?
"Başlangıç kontrolcüsü üzerinden $this nesnesini data olarak göndererek statik olmayan sınıflara ilgili data üzerinden erişebilirsiniz."


Grand vizyon, temel olarak veritabanında bulunan her bir tablo için bir model dosyasının otomatik olarak oluşturulmasını sağlayıp bu model dosyaları ile bu tabloların kontrol edilmesi üzerine oluşturulmuş sistemdir.

 

 

# Bölüm Başlıkları


# Vizyon Modelleri Oluşturmak
# Oluşturulan Vizyon Modellerini Kullanmak
# Vizyon Dosyalarını Silmek

 

 

# Vizyon Modelleri Oluşturmak


Veritabanında yer alan tablolarınızı model dosyaları haline getirmek için Generate::grandVision() yönteminden yararlanılır. Bu yöntemin çalıştırılmasından sonra model dosyaları Models/Visions/ dizini içine eklenir. Belirtilen yöntemin nasıl kullanıldığı Generate Kütüphanesi bölümünde anlatılmıştır. Vizyon dosyaları oluşturulurken Vision son eki alır.

Parametreler
array $databases = NULL Bu değer belirtilmezse tüm veritabanları dikkate alınır.
return bool
Kullanımı
Generate::grandVision(['current_database', 'other_database']);

Eğer veritabanlarından bazıları farklı ayarlar içeriyorsa aşağıdaki gibi kullanabilirsiniz.

Generate::grandVision(['db' => ['user' => 'user', 'password' => 'pass'], 'otherdb']);
Konsol Kullanımı

Aktif veritabanının vizyonlarını oluşturmak için;

php zerocore create-grand-vision

Farklı veritabanının vizyonlarını oluşturmak için;

php zerocore create-grand-vision other_database

komutları kullanılır.

Yukarıdaki kod ile {current-database} ve other_database veritabanları grand vizyon model dosyaları haline getirilmiştir.

Models/Visions/
    -> Current_database/
        -> InternalUserVision.php
        -> InternalProductVision.php
    -> Other_database/
        -> InternalOther_databaseUserVision.php
        -> InternalOther_databaseProductVision.php

Yukarıdaki dizin görünümünde her veritabanı için bir dizin ve o veritabanına ait tablolar içinde bir dosya oluşturulduğu gösterilmiştir. Varsayılan veritabanı ayarı için vizyon modelleri veritabanı ön eki almaz iken diğer veritabanları için tablo adından önce veritabanı ön eki alır. Ayrıca tüm vizyon modelleri Vision son eki alır.

 

 

# Oluşturulan Vizyon Modellerini Kullanmak


Yukarıda örnekte yer alan vizyonları kullanmak için;

output( UserVision::result() );
output( ProductVision::result() );
output( Other_databaseUserVision::result() );
output( Other_databaseProductVision::result() );

gibi kullanabilirsiniz. Varsayılan veritabanı için tablolara veritabanı ön eki getirilmediğine ancak diğer veritabanı için veritabanı ön eki getirildiğine dikkat edin. Kullanılan sınıfın vizyon modeli olduğunu anlamak ve diğer aynı isimli kütüphanelerle çakışmaması için Vision son eki kullanılmaktadır. Oluşturulan bu model dosyaları GrandModel genişletmesine ait yöntemleri kullanır.

 

 

# Vizyon Dosyalarını Silmek


Vizyonları silmek için Generate::deleteVision() yönteminden yararlanılır.

Parametreler
array $databases = '*' Hangi veritabanlarının silineceği. Varsayılan * kullanıldığı taktirde tüm vizyonları siler.
array $tables = NULL Hangi tabloların silineceği.
return bool
Kullanımı
Generate::deleteVision(); // Deleted All

Bir veritabanın belirtilen tablolarını silmek için aşağıdaki gibi kullanabilirsiniz.

Generate::deleteVision('ExampleDB', ['blog', 'comments']); 
Konsol Kullanımı
php zerocore delete-grand-vision
php zerocore delete-grand-vision other_database