PHP has large number of predefined constants. This HOWTO will present the seven most important, most practical and most useful PHP Magic Constants.
This is example PHP script with comments, which demonstrate howto use all previously mentioned PHP Magic Constants.
<?php
// Set namespace
namespace TestProject;
// This prints file full path and anme
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";
function test_function_magic_constant() {
echo 'This is from ' . __FUNCTION__ . "\n";
}
test_function_magic_constant();
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";
}
// print function name
public function printFunctionName() {
echo 'This is function ' . __FUNCTION__ . " inside class\n";
}
// prints namespace name
public function printNamespace() {
echo 'Namespace name is ' . __NAMESPACE__ . "\n";
}
}
$test_magic_constants = new TestMagicConstants;
$test_magic_constants->printClassName();
$test_magic_constants->printMethodName();
$test_magic_constants->printFunctionName();
$test_magic_constants->printNamespace();