Restorasyon İşlemleri
"Başlangıç kontrolcüsü üzerinden $this nesnesini data olarak göndererek statik olmayan sınıflara ilgili data üzerinden erişebilirsiniz."
Bu bölümde proje üzerinde restorasyonun nasıl yapılacağı anlatılmıştır. Proje restorasyonun temel amacı yayında olan bir proje üzerinde yapılan çalışmalardan kullanıcıların etkilenmesini engellemektir. Proje restorasyonu orijinal projeden bir kopya alıp geliştiricilerin bu kopya üzerinde çalışma yapmasını sağlarken kullanıcıların orijinali üzerinden kullanmaya devam etmesini sağlar. Böylece kodsal düzenlemer hiç bir şekilde kullanıcıları etkilemez. Düzenlemeler bittikten sonra kopyada yapılan değişiklikler orijinaline taşınır. Bunun için basit bir kaç konsol komutundan yararlanılır.
# Bölüm Başıkları
● Tüm Dizinlerin Eş Kopyası
● Belirtilen Dizinlerin Eş Kopyası
● Eş Kopyanın Çalıştırılması
# Restorasyonu Başlatmak
Restorasyonu başlatmak için aşağıdaki konsol komutundan yararlanabilirsiniz.
php zerocore start-restoration ProjectDirectory
Devtools terminalini kullanarak bu komutu daha da kısaltabilirsiniz.
start-restoration ProjectDirectory
Bu komut ile oluşturulan eş kopyada 3 dizin yer alır. Bunlar: Controllers/, Views/ ve Storage/ dizinleridir.
Tüm dizinlerin eş kopyasının oluşturulması için konsol komutunuzu aşağıdaki gibi düzenlemeniz gerekmektedir.
start-restoration ProjectDirectory full
Eğer tüm dizinler yerine belirtilen yukarıdaki standart 3 dizin yanında istediğiniz diğer dizinlerinde eş kopyada yer almasını sağlayabilirsiniz. Bunun için komutumuzu aşağıdaki gibi düzenliyoruz.
start-restoration ProjectDirectory Models Config Routes
Yukarıdaki komutun çalıştırılmasından sonra Controllers/, Views/, Storage/ dizinleri yanında Models/, Config/ ve Routes/ dizinleri de yer alacaktır.
Restorasyon işleminin başlatılmasından sonra Projects/RestoreProjectDirectory/ isimli eş kopyanın oluştuğunu görebilirsiniz. Normal olarak URL üzerinden çalışma yapılan eş kopyaya Restore ön eki ile yazılı dizinden ulaşabilirsiniz.
# Restorasyonu Bitirmek
Düzenlemelerini bittikten sonra değişikliklerin orijinal projeye uygulanması için aşağıdaki komutu kullanabilirsiniz.
end-restoration ProjectDirectory
Yukarıdaki komut son eş kopyadaki değişiklikleri orijinal projeye taşır. Ancak eş kopya silinmez. Aynı zaman eş kopyanın işlemden sonra silinmesini isterseniz komutu aşağıdaki gibi düzenlemeniz gerekir.
Eş kopyanın orijinal projeye uygulandıktan sonra silinmesi için kullanılır.
end-restoration-delete ProjectDirectory
Yukarıdaki komut taşıma işlemi tamamlandıktan sonra eş kopyayı siler.