Costanti Predefinite in PHP

  • __FILE__ – Percorso completo e nome file del file in cui viene chiamata.
  • __DIR__ – Directory del file in cui viene chiamata.
  • __FUNCTION__ – Nome della funzione.
  • __CLASS__ – Nome della classe.
  • __METHOD__ – Nome del metodo della classe.
  • __LINE__ – Attuale numero di riga nel file.
  • __NAMESPACE__ – Nome dell'attuale namespace

ESEMPIO:

esempio.php
<?php
 
	// Set namespace (works only with PHP 5.3)
	namespace TestProject;
 
	// This prints file full path and name
	echo "This file full path and file name is '" . __FILE__ . "'.\n";
 
	// This prints file full path, without file name
	echo "This file full path is '" . __DIR__ . "'.\n";
 
	// This prints current line number on file
	echo "This is line number " . __LINE__ . ".\n";
 
	// Really simple basic test function
	function test_function_magic_constant() {
		echo "This is from '" . __FUNCTION__ . "' function.\n";
	}
 
	// Prints function and used namespace
	test_function_magic_constant();
 
	// Really simple class for testing magic constants
	class TestMagicConstants {
		// Prints class name
		public function printClassName() {
			echo "This is " . __CLASS__ . " class.\n";
		}
 
		// Prints class and method name
		public function printMethodName() {
			echo "This is " . __METHOD__ . " method.\n";
		}
 
		// Prints function name
		public function printFunction() {
			echo "This is function '" . __FUNCTION__ . "' inside class.\n";
		}
 
		// Prints namespace name (works only with PHP 5.3)
		public function printNamespace() {
			echo "Namespace name is '" . __NAMESPACE__ . "'.\n";
		}
	}
 
	// Create new TestMagicConstants class
	$test_magic_constants = new TestMagicConstants;
 
	// This prints class name and used namespace
	$test_magic_constants->printClassName();
 
	// This prints method name and used namespace
	$test_magic_constants->printMethodName();
 
	// This prints function name inside class and used namespace
	// same as method name, but without class
	$test_magic_constants->printFunction();
 
	// This prints namespace name (works only with PHP 5.3)
	$test_magic_constants->printNamespace();
 
?>

OUTPUT:

This file full path and file name is '/tmp/magic_constants/magic.php'.
This file full path is '/tmp/magic_constants'.
This is line number 13.
This is from 'TestProject\test_function_magic_constant' function.
This is TestProject\TestMagicConstants class.
This is TestProject\TestMagicConstants::printMethodName method.
This is function 'printFunction' inside class.
Namespace name is 'TestProject'.
php/predefined_constants.txt · Ultima modifica: 2017/01/25 17:00 da apressato
Torna su
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0