2009-11-23 13 views
6

यह index.php में कोड है, केवल <?php के साथ, लेकिन ?> नहीं, यह मेरा पहला समय है जैसे कोई कारण, कोई कारण?ड्रोपल में PHP टैग क्यों बंद नहीं हैं?

<?php 
// $Id: index.php,v 1.94 2007/12/26 08:46:48 dries Exp $ 

/** 
* @file 
* The PHP page that serves all page requests on a Drupal installation. 
* 
* The routines here dispatch control to the appropriate handler, which then 
* prints the appropriate page. 
* 
* All Drupal code is released under the GNU General Public License. 
* See COPYRIGHT.txt and LICENSE.txt. 
*/ 

require_once './includes/bootstrap.inc'; 
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); 

$return = menu_execute_active_handler(); 

// Menu status constants are integers; page content is a string. 
if (is_int($return)) { 
    switch ($return) { 
    case MENU_NOT_FOUND: 
     drupal_not_found(); 
     break; 
    case MENU_ACCESS_DENIED: 
     drupal_access_denied(); 
     break; 
    case MENU_SITE_OFFLINE: 
     drupal_site_offline(); 
     break; 
    } 
} 
elseif (isset($return)) { 
    // Print any value (including an empty string) except NULL or undefined: 
    print theme('page', $return); 
} 

drupal_page_footer(); 

उत्तर

12

समापन टैग को छोड़कर प्रतिक्रिया में पीछे की सफेद जगह के आकस्मिक इंजेक्शन को रोकता है।

कुछ फ्रेमवर्क में एक सामान्य कोडिंग अभ्यास है, जैसे Zend

+6

उन लोगों के लिए यह कहने लायक हो सकता है जो आपको नहीं पता, कारण आप आकस्मिक सफेद जगह नहीं चाहते हैं कि यह 'हेडर पहले से भेजे गए' समस्या के साथ समाप्त होने का एक बहुत तेज़ तरीका है। –

+0

इसका उपयोग किसी भी फ्रेमवर्क/लाइब्रेरी द्वारा किया जाता है जो [पीएसआर -2] (http://www.php-fig.org/psr/psr-2/) कोडिंग मानक का पालन करता है। –

10

PHP समापन टैग को छोड़ना Drupal Coding Standards का हिस्सा है।

जब से कोड फ़ाइलों के अंत में ड्रूपल 4.7,?> के बाद से जानबूझकर छोड़ा जाता है। इसमें मॉड्यूल के लिए शामिल है और फाइलें शामिल हैं।

  • निकाला जा रहा है यह फ़ाइलों के अंत में अवांछित खाली स्थान के लिए संभावना जो पैदा कर सकता है "शीर्षक पहले ही भेज दिया" त्रुटियों, XHTML/XML सत्यापन मुद्दों, और अन्य समस्याओं को समाप्त: के रूप में इस के लिए कारणों में संक्षेप किया जा सकता है।
  • closing delimiter at the end of a file is optional
  • PHP.net स्वयं अपनी फाइलों के अंत से बंद डिलीमीटर को हटा देता है (उदाहरण: prepend.inc), इसलिए इसे "सर्वोत्तम अभ्यास" के रूप में देखा जा सकता है।
संबंधित मुद्दे