Modül Ayar ve Veri Kancaları

1.7k görüntülenme Markdown

Modül ayarları, API kaydı, araç verisi ve içe aktarmanın dokuz kancası.

Genel Bakış

Modülün ayarları dört ayrı yerden kaydedilir: modülün kendi ayarları, eklenti ayarları, modülün açtığı sayfadaki ayarlar ve sahtekârlık denetimi ayarları. Dördü de ayrı bir olay üretir.

Yanlarında verinin geçtiği üç filtre durur: araç verisi, aktarma arşivi ve aktarılabilir tipler. Bir de her dış çağrıdan sonra çalışan API kaydı bulunur.

Referans

Modül ayarlarının kaydını izleme

actionmodule.config_saved
AdminModules yazımdan sonra

Bir modülün ayarları kaydedildikten sonra çalışır.

Parametreler 2
$typestringModülün tipi.
$keystringModülün anahtarı.
Dönüş 1
voidDönüş yoksayılır.
Dinleyici
Hook::add('action:module.config_saved', 10, function ($type, $key) {
    Acme::invalidateModuleCache($type, $key);
});

Eklenti ayarlarının kaydını izleme

actionmodule.addon_settings_saved
AddonModule gizli değer taşır

Bir eklentinin ayarları kaydedildikten sonra çalışır.

Parametreler 2
$namestringEklentinin anahtarı.
$configarrayDiske yazılan yapılandırmanın tamamı. İçinde API anahtarı ve erişim ayarları bulunur: kendi kaydınıza ya da günlüğünüze yazmayın.
Dönüş 1
voidDönüş yoksayılır.
Dinleyici
Hook::add('action:module.addon_settings_saved', 10, function ($name, $config) {
    // Yapilandirmanin kendisini tasimayin.
    Acme::notifyOps('eklenti ayari degisti: ' . $name);
});

Modül alanı ayarlarının kaydını izleme

actionmodule.area_settings_saved
AdminArea yalnız gönderilenler

Modülün kendi yönetim sayfasındaki ayarlar kaydedildikten sonra çalışır.

Parametreler 3
$module_typestringModülün tipi.
$module_namestringModülün adı.
$valuesarrayKaydedilen değerler. Yalnız bu çağrıda gönderilenler bulunur: ayarların tamamı değildir. Eksik bir anahtarı “silinmiş” diye okumayın.
Dönüş 1
voidDönüş yoksayılır.
Dinleyici
Hook::add('action:module.area_settings_saved', 10,
    function ($module_type, $module_name, $values) {
        // Dizi yalniz GONDERILENLERI tasir, ayarlarin tamamini degil.
        Acme::auditChange($module_name, array_keys($values));
    });

Sahtekârlık modülü ayarlarını izleme

actionmodule.fraud_settings_saved
FraudModule gizli değer taşır

Bir sahtekârlık denetimi modülünün ayarları kaydedildikten sonra çalışır.

Parametreler 2
$namestringModülün anahtarı.
$configarrayDiske yazılan yapılandırma: durumu ve ayarları. Servis anahtarı içerir; taşımayın.
Dönüş 1
voidDönüş yoksayılır.
Dinleyici
Hook::add('action:module.fraud_settings_saved', 10, function ($name, $config) {
    Acme::notifyOps('sahtekarlik denetimi ayari degisti: ' . $name);
});

Modül API kaydını izleme

actionmodule.api_logged
ModuleBase ham istek ve yanıt

Bir modül dış servisle konuştuktan sonra çalışır. Her çağrı için çalışır: yoğun bir yoldur.

Parametreler 4
$typestringModülün tipi.
$modulestringModülün adı.
$actionstringKaydedilen işlem.
$log_dataarrayKaydın tamamı: gönderilen istek, alınan yanıt ve istek bilgileri. ? İçinde sunucu parolası, API anahtarı ve müşteri verisi ham hâlde bulunur. Kendi kaydınıza kopyalamadan önce gerçekten neye ihtiyacınız olduğunu seçin.
Dönüş 1
voidDönüş yoksayılır.
Dinleyici
Hook::add('action:module.api_logged', 10, function ($type, $module, $action, $log_data) {
    // Kaydin tamamini KOPYALAMAYIN: gizli deger tasir.
    Acme::metric($type . '.' . $module . '.' . $action);
});

Araç verisini değiştirme

filtermodule.tool_data
ServerModule bağla geçer

Bir sunucu aracının verisi modülden döndükten sonra, ekrana gitmeden önce çalışır: posta kutuları, veritabanları ve kardeşleri.

Parametreler 3
$toolstringAracın anahtarı.
$actionstringAracın işlemi; varsayılan liste görünümüdür.
$dataarraybağlaModülden dönen veri, normalize edilmiş hâliyle.
Dönüş 1
voidDönüş yoksayılır; verinin üzerine yazarsınız. Kanca bütün araçlar için çalışır: önce hangi araçta olduğunuza bakın.
Dinleyici
Hook::add('filter:module.tool_data', 10, function ($tool, $action, &$data) {
    // Kanca butun araclar icin calisir.
    if ($tool !== 'databases') return;

    $data = Acme::hideSystemDatabases($data);
});

İçe aktarmayı durdurma

gatemodule.import_run
Imports sıfırlama modu

Başka bir sistemden veri aktarımı başlamadan önce çalışır. Modlardan biri mevcut veriyi sıfırlar: en değerli denetim burada yapılır.

Parametreler 3
$platformstringKaynak platform.
$typestringAktarılacak veri tipi.
$import_typestringAktarım modu: clean mevcut veriyi sıfırlar, enrich üzerine ekler.
Dönüş 1
string|nullBoş olmayan bir metin işlemi engeller ve hata olarak gösterilir. Boş dönüş devam ettirir.
Dinleyici
Hook::add('gate:module.import_run', 10, function ($platform, $type, $import_type) {
    // 'clean' mevcut veriyi SIFIRLAR: canlida kapatin.
    if ($import_type === 'clean' && Acme::hasLiveData($type))
        return 'Sifirlayan aktarim canli veri uzerinde calistirilamaz.';

    return null;
});

Açılacak arşivi değiştirme

filtermodule.import_archive
AdminModules bağla geçer

Yüklenen modül arşivi açılmadan önce çalışır. Yolu değiştirirseniz başka bir dosya açılır.

Parametreler 2
$theFilestringbağlaGeçici dizindeki arşivin tam yolu. Üzerine yazdığınız yol açılacak olandır.
$groupstringHedef modül tipi.
Dönüş 1
voidDönüş yoksayılır; yolun üzerine yazarsınız. Kendi ürettiğiniz bir dosyayı buraya koyacaksanız yolun sizin denetiminizde olduğundan emin olun.
Dinleyici
Hook::add('filter:module.import_archive', 10, function (&$theFile, $group) {
    // Yolu degistirmek BASKA bir dosyayi actirir: kendi urettiginizi verin.
    $theFile = Acme::repackage($theFile, $group);
});

Aktarılabilir veri tiplerini değiştirme

filtermodule.import_data_types
Imports bağla geçer

İçe aktarma sihirbazı hangi veri tiplerini sunacağını sorarken çalışır.

Parametreler 2
$data_typesarraybağlaTip listesi; her tip adı, açıklaması ve zorunlu olup olmadığını taşır.
$platformstringAktif platform.
Dönüş 1
voidDönüş yoksayılır; listenin üzerine yazarsınız. Zorunlu işaretli bir tipi listeden çıkarmak, aktarımı eksik veriyle başlatabilir.
Dinleyici
Hook::add('filter:module.import_data_types', 10, function (&$data_types, $platform) {
    // Zorunlu tipi cikarmak aktarimi eksik baslatir.
    $data_types['acme-notes'] = [
        'name'        => 'Acme notlari',
        'description' => 'Musteri kayitlarina bagli notlar',
        'required'    => false,
    ];
});

Tuzaklar

API kaydı ham gizli değer taşır

Kayıt, dış servise gönderilen isteği ve gelen yanıtı olduğu gibi içerir: sunucu parolası, API anahtarı, müşteri verisi. Bu diziyi kendi kaydınıza kopyalamak, gizli değerleri ikinci bir yere yaymaktır. İhtiyacınız olan alanı seçin, tamamını taşımayın.

Sıfırlayan aktarım geri alınamaz

İçe aktarmanın bir modu mevcut veriyi siler. Aktarım kapısı, bu modun canlı veri üzerinde çalışmasını engelleyebileceğiniz tek noktadır.

Faydalı oldu mu?

Geri bildiriminiz için teşekkürler!

Hâlâ Yardıma mı İhtiyacınız Var?

Yukarıda bulamadığınız her şey için destek ekibimiz her zaman yanınızda.