drupal अलग-अलग फाइलों में मॉड्यूल के कोड को कैसे विभाजित किया जाए




drupal-6 drupal-modules (3)

यह सरल है, बस अन्य बड़े मॉड्यूल (जैसे cck, views, आदि) की समीक्षा करें। मुख्य हुक मॉड्यूल में होना चाहिए, अन्य अलग-अलग फ़ाइलों में होना चाहिए - थीमर्स, व्यवस्थापक पृष्ठ, अन्य पृष्ठ, सेवा फ़ंक्शंस और इसी तरह ...

मुझे यह जानना बहुत उत्सुक है कि कैसे एक ड्रुपल मॉड्यूल एकाधिक शामिल फ़ाइलों में एकीकृत हो सकता है लिंक करने के लिए कई हुक समर्थन शामिल हैं, जैसे कि हुक-मेनु, हुक-डेमेम आदि।

एक बार जब मैंने अपने एक जटिल मॉड्यूल को सरल बनाने की योजना बनाई तो वह अपनी सुविधा के आधे हिस्से के साथ 2.3K लाइनों तक पहुंच गया। शामिल किए जाने के दायरे के बारे में ज्ञान की कमी के कारण मुझे उन सभी चरणों को वापस रोल करना होगा।

इस संबंध में मेरी मदद करें यदि कुछ विस्तृत जानकारी है


निकित ने कहा क्या सही है।
मैं जोड़ूंगा, कुछ हुक हैं जिन्हें परिभाषित करने की अनुमति है जो फ़ाइलों को लोड किए जाने की आवश्यकता है। ऐसे हुक के उदाहरण हैं hook_menu() , और hook_menu()

किसी मॉड्यूल को बिना किसी शर्त के एक फ़ाइल को लोड करना चाहिए जिसे फ़ंक्शन के बाहर से module_load_include() को कॉल करना module_load_include()

function book_menu() {
  $items['admin/content/book'] = array(
    'title' => 'Books',
    'description' => "Manage your site's book outlines.",
    'page callback' => 'book_admin_overview',
    'access arguments' => array('administer book outlines'),
    'file' => 'book.admin.inc',
  );
  $items['admin/content/book/list'] = array(
    'title' => 'List',
    'type' => MENU_DEFAULT_LOCAL_TASK,
  );
  $items['admin/content/book/settings'] = array(
    'title' => 'Settings',
    'page callback' => 'drupal_get_form',
    'page arguments' => array('book_admin_settings'),
    'access arguments' => array('administer site configuration'),
    'type' => MENU_LOCAL_TASK,
    'weight' => 8,
    'file' => 'book.admin.inc',
  );
  // …
}

function user_theme() {
  return array(
    'user_picture' => array(
      'arguments' => array('account' => NULL),
      'template' => 'user-picture',
    ),
    'user_profile' => array(
      'arguments' => array('account' => NULL),
      'template' => 'user-profile',
      'file' => 'user.pages.inc',
    ),
    // …
    'user_admin_perm' => array(
      'arguments' => array('form' => NULL),
      'file' => 'user.admin.inc',
    ),
    // …
  );
}

अधिक फाइलों का उपयोग करना, यह एक ही फाइल में इसी प्रकार की चीज़ों को समूहित करने का मामला है, इसे अधिक प्रबंधित रखने के लिए उपयोग की जाने वाली विशिष्ट फ़ाइलें हैं

  • सभी प्रशासनिक सामान, मेनू कॉलबैक, फ़ॉर्म आदि के लिए .admin.inc
  • फ़्रंटएंड मेनू कॉलबैक के लिए। .pages.inc
  • थीम फ़ंक्शंस, प्रीप्रोसेक हुक आदि के लिए .theme.inc
  • गैर .forms.inc फॉर्म और उनके हैंडलर के लिए .forms.inc

यह और अधिक एक कोडन शैली है कि कुछ और तो यह सिर्फ आपके द्वारा लिखे गए कोड को बनाए रखने में मदद करने के लिए है।