Neden php etiketleri drupal kapalı değil?

2 Cevap php

Bu sadece <?php ile index.php kod, ancak hiçbir ?>, bu, bu gibi herhangi bir sebep kodunu görmek için benim ilk kez?

<?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();

2 Cevap

Kapanış etiketi atlama tepki içine beyaz boşluk sondaki kazara enjeksiyonu önler.

Zend gibi bazı Düzenlemelerde ortak bir kodlama uygulamadır.

PHP kapanış etiketleri atlama Drupal Coding Standards parçasıdır.

Hiç Drupal 4.7 yana,?> Kod dosyalarının sonunda bilerek atlandı. Bu modül için içerir ve dosyaları içerir. Bunun nedeni olarak özetlenebilir:

  • O "başlığı zaten gönderildi" hataları, XHTML / XML doğrulama sorunları ve diğer sorunlara neden olabilir dosyaların sonunda istenmeyen boşlukla için olasılığını ortadan kaldırır çıkarma.
  • closing delimiter at the end of a file is optional.
  • PHP.net kendisi dosyaları (örnek: prepend.inc) sonundan kapanış sınırlandırıcıyı kaldırır, bu nedenle bu bir olarak görülebilir "en iyi uygulama."