Grav - Yaşam Döngüsü

Bu bölümde Grav'ın yaşam döngüsünü anlayacağız. Grav Lifecycle, Grav'ı Plugins aracılığıyla genişletmek için Grav'ın nasıl işlediğini belirler. Aşağıdaki diyagram, Grav yaşam döngüsü sürecinin akışını göstermektedir.

Grav yaşam döngüsünden aşağıdaki dört adım -

  • PHP Version

  • Loader class is initialized

  • Obtain Grav Instance

  • Call Grav Process

PHP Sürümü

5.4.0 üstü PHP sürümünü çalıştırdığımızdan emin olmak için PHP sürümünü kontrol eder.

Loader sınıfı başlatıldı

İkinci adımda, sınıf yükleyici başlatılır.

Yer Çekimi Örneği Alın

  • Örnek yoksa, load () yöntemini çağırır ve Grav ekler.

  • Hata ayıklayıcı değerini başlatır ve hata ayıklayıcıya ekler.

  • Günlüğü ve hata işleyiciyi kaydeder.

  • Uri, görev, olaylar, önbellek, oturum, eklentiler, temalar, dal, taksonomi, dil, sayfalar, varlıklar ve temel url'yi ekler.

  • Akışı ve yapılandırma işleyicisini kaydeder.

Grav İşlemini Ara

  • Yapılandırmayı, Uri nesnesini, hata işleyiciyi, hata ayıklayıcıyı ve oturumu başlatır.

  • Başlattıktan sonra, çıktıyı tamponlamaya başlar.

  • Saat dilimini ve eklentileri başlatır ve onPluginsInitialized olayını çalıştırır.

  • Daha sonra temayı başlatır ve onThemeInitialized ve onTask [TASK] olaylarını tetikler .

  • Varlıkları başlatır ve onAssetsInitialized olayını tetikler .

  • Dalı aşağıdaki eylemlerle başlatır -

    • Yapılandırmaya bağlı olarak, dal şablonu yollarını ayarlar.

    • Mevcut dil şablonlarını işler.

    • Daha sonra onTwigTemplatePaths olayını tetikler .

    • Yükleyici zinciri ve dal yapılandırması yüklendi.

    • Yangınlar onTwigInitialized olayı.

    • Twig uzantılarını yükler ve TwigExtensions olayında ateşler .

    • Standart dal değişkenlerini ayarlar.

  • Daha sonra sayfaları başlatır.

    • BuildPages () yöntemini çağırır .

    • Önbellek iyiyse, sayfaları önbellekten yükler. Önbellek iyi değilse recurse () yöntemi çağrılır.

    • onBuildPagesInitialized olayı, recurse () yönteminde tetiklenir .

    • Bir dosya .md olarak bulunursa , aşağıdaki eylemler gerçekleştirilir -

      • Dosya ayrıntılarını yüklemek için init () yöntemi çağrılır.

      • FilePath'i, değiştirilmiş ve kimliği ayarlar.

      • Başlık () metodu başlık değişkenlerini başlatmak için çağrılmaktadır.

      • Sümüklüböcek () metodu URL kurşunu ayarlamak için çağrılır.

      • Görünür () metodu görünür durumu belirtmek için çağrılır.

      • _ ( Alt çizgi) ile başlayan klasöre bağlı olarak modularTwig () ayarlanır.

    • Daha sonra onPageProcessed olayını başlatır .

    • bir klasör bulunursa çocukları recurse () .

    • Bu ateşler onFolderProcessed olay.

    • buildRoutes () yöntemini çağırır .

    • Tüm sayfalar için sınıflandırma başlatılır

    • Rota tablosu hızlı arama için inşa edilmiştir.

  • OnPagesInitialized ve onPageInitialized olayları tetiklenir.

  • Varlıklara hata ayıklayıcı CSS / JS eklenir.

  • Twig'in processSite () yöntemini kullanarak çıktıyı alıyoruz.

    • TwigSiteVariables üzerindeki olay tetiklenir.

    • Sayfanın çıktısını alır.

    • Sayfa bulunamadığında veya yönlendirilemediğinde onPageNotFound olayı tetiklenir.

    • Tüm Twig değişkenleri twig nesnesinde ayarlanır.

    • Şablon adı, dosya / başlık / uzantı bilgilerine bağlı olarak belirlenir.

    • render () yöntemi çağrılır.

    • Dosya biçimini HTML olarak döndürür

  • Bu ateşler onOutputGenerated olay.

  • HTTP üstbilgilerini ayarlayın.

  • Çıkışı görüntüler

  • Çıktı tamponu sayfaya boşaltılır.

  • OnOutputRendered etkinliği ateşlenecek .

  • İstemciyle olan bağlantıyı kapatır.

  • Son olarak, onShutDown olayını tetikler .

Page'de content () yöntemi çağrıldığında, aşağıdaki yaşam döngüsü gerçekleşir.

  • OnPageContentRaw olayı ateş alacak.

  • Markdown ve Twig ayarlarına göre sayfayı işler.

  • Bu ateşler onPageContentProcessed olay.