डिबगिंग हुक जो निकाल दिया?


9

मैं मॉड्यूल विकास के लिए कुछ नया हूं।

क्या वर्तमान में आउटपुट के लिए एक तरीका है जो कुछ नोड्स पर हुक चला गया है?

यह xdebug के साथ किया जाएगा?

जवाबों:


9

जब तक आपको एक घातक त्रुटि (या रिक्त स्क्रीन) नहीं मिलती है, तब तक उन मॉड्यूलों की एक सूची प्राप्त करना बहुत आसान है जो एक विशेष क्लिप के आने पर आह्वान किया जाएगा:

$modules = module_implements($hook);
foreach ($modules as $key =>  $module) {
  $function = $module . '_' . $hook;
  if (!function_exists($function)) {
    unset($modules[$key]);
  }
}
// $modules is now an array containing all the modules that will be invoked by $hook.

आप Drupal के प्रवाह को ट्रैक करने के लिए xDebug जैसे सामान का उपयोग कर सकते हैं, लेकिन यह भारी हो सकता है, खासकर यदि आप Drupal में नए हैं।


1
यदि आप डिबगिंग की कोशिश करना चाहते हैं और इसे स्थापित करने में घंटों बिताना नहीं चाहते हैं, तो आप क्विकस्टार्ट की कोशिश कर सकते हैं । यह एक वर्चुअल मशीन है और ड्रश के साथ साइट को सेटअप करना बहुत आसान है, फिर अपने मॉड्यूल में डालें, नेटबीन्स में आयात करें और डीबग करें।
व्हिस्की

1
क्या यह केवल उन सभी मॉड्यूलों को नहीं दिखाएगा जो एक विशेष हुक को लागू करते हैं, न कि सभी हुक जो कि ड्रुपल ने उस बिंदु तक बुलाया है? बाद में मैं कैसे @ क्रिसजीली के अनुरोध को पढ़ता हूं।
mpdonadio

1
@MPD यह सिर्फ यह नहीं दिखाएगा कि कौन से मॉड्यूल हुक को लागू करते हैं बल्कि उस क्रम को भी कहते हैं जिसमें उन्हें बुलाया जाता है। यदि संदर्भ है जो मेरे मॉड्यूल के हुक से पहले / बाद में होता है, तो उपरोक्त पर्याप्त होगा। यदि आप यह पता लगाना चाहते हैं कि हुक फ्लो को निष्पादन प्रवाह में एक निश्चित समय पर कहा जाता है, तो यह पता लगाना काफी कठिन होगा, क्योंकि ड्रुपल बहुत जटिल है। विशेष रूप से एक नए डेवलपर के लिए। अगर यह ओपी की जरूरत है, तो मैं अनिश्चित हूं, लेकिन यह शायद वैसे भी किसी भी xDebug सुझावों की तुलना में अधिक उपयोगी है।
गोगुलेटॉर्प
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.