/**
* PHP类常量
*
* 类常量属于类自身,不属于对象实例,不能通过对象实例访问
* 不能用public,protected,private,static修饰
* 子类可以重写父类中的常量,可以通过(parent::)来调用父类中的常量
* 自PHP5.3.0起,可以用一个变量来动态调用类。但该变量的值不能为关键字(如self,parent或static)。
*/
class Foo
{
// 常量值只能是标量,string,bool,integer,float,null,可以用nowdoc结构来初始化常量
const BAR = 'bar';
public static function getConstantValue()
{
// 在类的内部可以用self或类名来访问自身的常量,外部需要用类名
return self::BAR;
}
public function getConstant()
{
return self::BAR;
}
}
$foo = 'Foo';
echo $foo::BAR, '
';
echo Foo::BAR, '
';
$obj = new Foo();
echo $obj->getConstant(), '
';
echo $obj->getConstantValue(), '
';
echo Foo::getConstantValue();
// 以上均输出bar
class Bar extends Foo
{
const BAR = 'foo'; // 重写父类常量
public static function getMyConstant()
{
return self::BAR;
}
public static function getParentConstant()
{
return parent::BAR;
}
}
echo Bar::getMyConstant(); // foo
echo Bar::getParentConstant(); // bar

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

SublimeText3 Linux new version
SublimeText3 Linux latest version

Atom editor mac version download
The most popular open source editor

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

SublimeText3 Mac version
God-level code editing software (SublimeText3)