PHP has large number of predefined constants. This HOWTO will present the seven most important, most practical and most useful PHP Magic Constants.
- __FILE__ – The full path and filename of the file.
- __DIR__ – The directory of the file.
- __FUNCTION__ – The function name.
- __CLASS__ – The class name.
- __METHOD__ – The class method name.
- __LINE__ – The current line number of the file.
- __NAMESPACE__ – The name of the current namespace
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__ . "
";
// This prints file full path, without file name
echo 'This file full path is ' . __DIR__ . "
";
// This prints current line number on file
echo 'This is line number ' . __LINE__ . "
";
function test_function_magic_constant() {
echo 'This is from ' . __FUNCTION__ . "
";
}
test_function_magic_constant();
class TestMagicConstants {
// prints class name
public function printClassName() {
echo 'This is ' . __CLASS__ . " class.
";
}
// prints class and method name
public function printMethodName() {
echo 'This is ' . __METHOD__ . " method
";
}
// print function name
public function printFunctionName() {
echo 'This is function ' . __FUNCTION__ . " inside class
";
}
// prints namespace name
public function printNamespace() {
echo 'Namespace name is ' . __NAMESPACE__ . "
";
}
}
$test_magic_constants = new TestMagicConstants;
$test_magic_constants->printClassName();
$test_magic_constants->printMethodName();
$test_magic_constants->printFunctionName();
$test_magic_constants->printNamespace();