Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why are php tags not closed in drupal?

Tags:

php

drupal

This is the code in index.php,with only <?php,but no ?>,this is my first time to see code like this,any reason?

<?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();
like image 251
Mask Avatar asked Nov 23 '09 06:11

Mask


People also ask

How do I close a PHP tag?

As in C or Perl, PHP requires instructions to be terminated with a semicolon at the end of each statement. The closing tag of a block of PHP code automatically implies a semicolon; you do not need to have a semicolon terminating the last line of a PHP block.

Why is it considered a best practice to avoid using a PHP closing tag ?> In PHP files that contain only PHP code?

To recap, closing PHP tags (?>) are entirely optional if you're coding a PHP-only file and there's no intermingled HTML. Files containing single class definitions are good candidates. Omitting the closing tag has another benefit: it becomes impossible to accidentally add white space to the end of the file.

What is the correct opening tag and close tag for PHP scripts?

php and ?>. These are called PHP's opening and closing tags. Statements witihn these two are interpreted by the parser. PHP script within these tags can be embedded in HTML document, so that embedded code is executed on server, leaving rest of the document to be processed by client browser's HTML parser.

Which is the most widely recommended way to use PHP tags?

The first and second tags are the ones most recommended and most widely used. Using a tag which is rarely used may result in a web-server being unable to detect the start and end of the PHP code.


2 Answers

Omitting the closing tag prevents the accidental injection of trailing white space into the response.

Is a common coding practice in some Frameworks, like Zend.

like image 88
Christian C. Salvadó Avatar answered Sep 19 '22 14:09

Christian C. Salvadó


Omitting PHP closing tags is part of the Drupal Coding Standards.

Ever since Drupal 4.7, the ?> at the end of code files is purposely omitted. This includes for module and include files. The reasons for this can be summarized as:

  • Removing it eliminates the possibility for unwanted whitespace at the end of files which can cause "header already sent" errors, XHTML/XML validation issues, and other problems.
  • The closing delimiter at the end of a file is optional.
  • PHP.net itself removes the closing delimiter from the end of its files (example: prepend.inc), so this can be seen as a "best practice."
like image 34
alexanderpas Avatar answered Sep 18 '22 14:09

alexanderpas