Modül Ayar ve Veri Kancaları
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
Bir modülün ayarları kaydedildikten sonra çalışır.
Hook::add('action:module.config_saved', 10, function ($type, $key) {
Acme::invalidateModuleCache($type, $key);
});Eklenti ayarlarının kaydını izleme
Bir eklentinin ayarları kaydedildikten sonra çalışır.
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
Modülün kendi yönetim sayfasındaki ayarlar kaydedildikten sonra çalışır.
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
Bir sahtekârlık denetimi modülünün ayarları kaydedildikten sonra çalışır.
Hook::add('action:module.fraud_settings_saved', 10, function ($name, $config) {
Acme::notifyOps('sahtekarlik denetimi ayari degisti: ' . $name);
});Modül API kaydını izleme
Bir modül dış servisle konuştuktan sonra çalışır. Her çağrı için çalışır: yoğun bir yoldur.
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
Bir sunucu aracının verisi modülden döndükten sonra, ekrana gitmeden önce çalışır: posta kutuları, veritabanları ve kardeşleri.
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
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.
clean mevcut veriyi sıfırlar, enrich üzerine ekler.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
Yüklenen modül arşivi açılmadan önce çalışır. Yolu değiştirirseniz başka bir dosya açılır.
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
İçe aktarma sihirbazı hangi veri tiplerini sunacağını sorarken çalışır.
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
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.
İç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.
İlgili Makaleler
- Modül Kancaları
- Sistem Olayı Kancaları
- Kancalar Nasıl Çalışır
Geri bildiriminiz için teşekkürler!
Yukarıda bulamadığınız her şey için destek ekibimiz her zaman yanınızda.