这是index.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();
答案 0 :(得分:12)
省略结束标记可防止意外将尾随空格注入响应中。
在某些框架中是常见的编码习惯,例如Zend。
答案 1 :(得分:10)
省略PHP结束标记是Drupal Coding Standards。
的一部分自Drupal 4.7以来,?&gt;故意省略代码文件的末尾。这包括模块和包含文件。其原因可归纳为: