Introduction
Constants are represented literally in an assignment expression such as $x=10 or $name="XYZ" where 10 and XYZ are numeric and string constants assigned to variables. In PHP, it is possible to define a constant with a user defined identifier with the help of define() function
Syntax
define ( string $name , mixed $value [, bool $case_insensitive = FALSE ] ) : bool
parameters
Sr.No | Parameter & Description |
---|---|
1 | name name of the constant. |
2 | value value of the constant may be any scalar value (integer, float, string etc) or array |
3 | case_insensitive Constant identifiers are case sensitive by default. If this parameter is set to true, name and NAME are treated similarly |
Return Value
Function returns TRUE if definition is sucessful, else FALSE is returned
Example
Following example shows use of define() function to define constants
<?php define("maxmarks",300); define("pi", 3.142); define("subjects",["phy", "che", "maths"]); ?>
magic constants
PHP has a large number of predefined constants but most of them will be enabled if corresponding extensions are installed. However, following constants - which are called magic constants - are always available
Name | Description |
__LINE__ | The current line number of the file. |
__FILE__ | The full path and filename of the file |
__DIR__ | The directory of the file. |
__FUNCTION__ | The function name, or {closure} for anonymous functions. |
__CLASS__ | The class name. The class name includes the namespace it was declared in (e.g. Foo\Bar). Note that as of PHP 5.4 __CLASS__ works also in traits. When used in a trait method, __CLASS__ is the name of the class the trait is used in. |
__TRAIT__ | The trait name. The trait name includes the namespace it was declared in (e.g. Foo\Bar). |
__METHOD__ | The class method name. |
__NAMESPACE__ | The name of the current namespace. |
Following example demonstrates some of magic constants
Example
<?php echo "Line no: " . __LINE__ . "\n"; echo "file name : " . __FILE__ . "\n"; echo "directory name: " . __DIR__ . "\n"; function myfunction(){ echo "function name: " . __FUNCTION__ . "\n"; } class myclass{ public function __construct() { echo __CLASS__ . "\n"; } public function mymethod(){ echo __METHOD__; } } $obj=new myclass(); $obj->mymethod(); ?>
Output
Following result will be displayed
Line no: 2 file name : C:\xampp\php\testscript.php directory name: C:\xampp\php myclass myclass::mymethod