概述 PHP提供了9个魔术常数,您可以在PHP应用程序代码中使用。它们是“神奇的”,因为它们是在编译时定义的,不像常规常量(您可以自己定义)是在运行时定义的。...在父类中使用__CLASS__ 与__METHOD__魔术常量类似,__CLASS__常量将返回写入它的类的名称。...假设你有下面的类,App\Utilities\MyClass: namespace App\Utilities; class MyClass { // ... } 调用App\Utilities...LINE __LINE__魔术常量返回使用它的文件的当前行号。 例如,假设我们有以下代码: <?php // An empty line....../index.php。
魔术常量(8个) 1、__LINE__ 返回文件中的当前行号。 2、__FILE__ 返回文件的完整路径和文件名。如果用在包含文件中,则返回包含文件名。...自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。 5、__CLASS__ 返回类的名称(PHP 4.3.0 新加)。...自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。 6、__TRAIT__ Trait 的名字(PHP 5.4.0 新加)。...自 PHP 5.4 起此常量返回 trait 被定义时的名字(区分大小写)。Trait 名包括其被声明的作用区域(例如 Foo\Bar)。...此常量是在编译时定义的(PHP 5.3.0 新增) 预定义常量 PHP_VERSION PHP 程序的版本,如4.0.2 PHP_OS
PHP可以用预定义常量来获取PHP中的信息。...常用的预定义常量如下: 1、__FILE__ 默认常量,是指PHP程序文件名及路径; 2、__LINE__ 默认常量,是指PHP程序的行数; 3、__CLASS__: 类的名称...(PHP 4.3.0 新加)。...自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。 4、__METHOD__: 类的方法名(PHP 5.0.0 新加)。...5、PHP_VERSION 内建常量,是指PHP程序的版本; 6、PHP_OS 内建常量,是指PHP解析器的操作系统的名称; 7、TRUE 是指真值(true); 8、FALSE
之前我们已经了解了一些常用的魔术方法,除了魔术方法外,PHP还提供一些魔术常量,相信大家在日常的工作中也都使用过,这里给大家做一个总结。...其实PHP还提供了很多常量但都依赖于各类扩展库,而有几个常量是通用并且是跟随它们所在代码的位置来提供一些与位置有关的信息,这些就是魔术常量。...自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。 echo __FUNCTION__ ....自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。类名包括其被声明的作用区域(例如 Foo\Bar)。...此常量是在编译时定义的(PHP 5.3.0 新增)。 echo __NAMESPACE__ .
在 PHP 中,类的常量是指在类定义中定义的固定值,一旦定义就不可改变。类的常量可以被类的任何方法调用,也可以通过类名直接访问。...类常量的访问方式有两种:通过类名直接访问和通过对象访问。...通过类名直接访问类常量的语法格式如下:ClassName::CONSTANT_NAME通过对象访问类常量的语法格式如下:$objectName::CONSTANT_NAME下面是一个使用类常量的示例:class...我们还定义了一个名为 areaOfCircle 的方法,该方法接受一个参数 radius,计算圆的面积并返回。在方法中,我们使用 self::PI 访问 Math 类的常量 PI。...最后,我们创建了一个 Math 对象,并调用 areaOfCircle 方法来计算圆的面积。我们还通过 Math::PI 直接访问 Math 类的常量 PI。
什么魔术常量 ---- 预定义常量:预定义常量就是PHP内置的常量,预先定义好的 PHP有很多预定义常量,比如:PHP_VERSION(版本号)、PHP_OS(操作系统)。...这些普通的预定义常量在程序中的值是固定的,不会因为在不同的位置而改变自身的值。 在PHP有八个特殊的预定义常量,它们的值会随着它们在代码中的位置改变而改变,我们称之为魔术常量。 2....PHP的8个魔术常量 ---- 序号 魔术常量 示例 描述 1 __LINE__ 5 返回魔术常量输出时所在的行号 2 __FILE__ E:\www\1.php 返回文件路径(绝对路径) 3 __DIR...__ E:\www 返回文件所在的目录,当前文件位置:E:\www\1.php 4 __FUNCTION__ taskList 返回函数名称,区分大小写,不在函数中时返回空字符串 5 __CLASS__...php echo __LINE__;//3 echo __FILE__;//E:\www\1.php echo __DIR__;//E:\www echo userList();//userList
PHP PDO预定义常量 以下常量由本扩展模块定义,因此只有在本扩展的模块被编译到PHP中,或者在运行时被动态加载后才有效。 注意:PDO使用类常量自PHP 5.1。...PDO::FETCH_LAZY (integer)指定获取方式,将结果集中的每一行作为一个对象返回,此对象的变量名对应着列名。PDO::FETCH_LAZY 创建用来访问的对象变量名。...() 方法绑定的 PHP 变量。...此为默认的游标选项,因为此游标最快且是 PHP 中最常用的数据访问模式。 PDO::CURSOR_SCROLL (integer)创建一个可滚动游标的 PDOStatement 对象。...总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对ZaLou.Cn的支持。如果你想了解更多相关内容请查看下面相关链接
PHP 中魔术常量的实例详解 本文介绍下,php编程中的魔术常量,掌握并灵活应用这些方法与常量,对于提高php的编程水平,有很大的帮助。有需要的朋友参考学习下。...魔术常量: namespace ns1/ /; class Test { function __construct() { var_dump(__LINE__); var_dump(__...'ns1Test::__construct' (length=21) string 'ns1' (length=3) 如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持
分享给大家供大家参考,具体如下: 范围解析操作符 (::) 范围解析操作符(也可称作 Paamayim Nekudotayim)或者更简单地说是一对冒号,可以用于访问静态成员,类常量,还可以用于覆盖类中的属性和方法...把 Paamayim Nekudotayim 选作双冒号操作符的名字似乎有些奇怪。然而,这是 Zend 开发小组在写 Zend Engine 0.5(被用于 PHP 3 中)时所作出的决定。...事实上这个词在希伯莱文就是双冒号的意思。 在类的外部使用 :: self,parent 和 static 这三个特殊的关键字是用于在类定义的内部对其属性或方法进行访问的。 <?...::CONST_VALUE; // 自 PHP 5.3.0 起 echo MyClass::CONST_VALUE; 在类定义的内部使用 :: 当一个子类覆盖其父类中的方法时,PHP 不会调用父类中已被覆盖的方法...相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string
对于面向对象开发,抽象类与接口这两个东西是比较难理解的;就算是对于有一定经验的程序员来说也如此。下面根据自己的理解来讲述一下这两个东西,如有什么不对的,还望不吝赐教。...: 1、抽象类可以有属性、普通方法、抽象方法,但接口不能有属性、普通方法、可以有常量 2、抽象类内未必有抽象方法,但接口内一定会有“抽象”方法 3、语法上有不同 4、抽象类用abstract关键字在类前声明...php /* 写此程序源于自己的猜测,想在抽象类里实现某一接口。...php interface kk{ public function say(); } class a { public function show(){ echo '我是父类<br...如果你想了解更多相关内容请查看下面相关链接
玩转PHP中的抽象类与接口 在面向对象开发中,特别是使用现代化框架的过程中,我们经常会和接口、抽象类打交道。...被定义为抽象的方法只声明其调用方式,不能定义其具体的功能实现。 子类必须定义父类中的所有抽象方法,这些方法的访问控制必须和父类一致或者更为宽松。 方法的调用方式必须匹配,即类型和所需参数数量必须一致。...接口常量和类常量的使用完全相同,但是不能被子类或子接口所覆盖 interface B1 { const B1_NAME = 'Interface B1'; function getName...抽象类中可以有非抽象的已经实现的方法;接口中全是抽象的方法,都是方法定义 抽象类中方法和变量的访问控制自己定义;接口中只能是公共的 那么问题来了,这两货哪个好?...从这里可以看出,接口能够为我们程序的扩展提供非常强大的支撑。任何面向对象语言中接口都是非常重要的特性。下面我们来用接口模拟刚刚说的USB插口。
PHP 向它运行的任何脚本提供了大量的预定义常量。 不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。...有八个魔术常量它们的值随着它们在代码中的位置改变而改变。 例如 __LINE__ 的值就依赖于它在脚本中所处的行来决定。这些特殊的常量不区分大小写,如下: __LINE__ 文件中的当前行号。 <?...自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。 <?php function test() { echo '函数名为:' ....以上实例输出结果为: 函数名为:test __CLASS__ 类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。...以上实例输出结果为: 命名空间为:”MyProject” 以上就是详解PHP中的8个魔术常量的详细内容,更多关于PHP 魔术常量的资料请关注ZaLou.Cn其它相关文章!
在php5.3.0以后,可以使用const关键字在类定义的外部定义常量,先前版本const关键字只能在类(class)中使用。一个常量一旦被定义,就不能再改变或取消定义。...可以简单的通过指定其名字来获得常量的值,与变量不同,不应该在常量的前面加上$符号。如果常量名是动态的,也可以用函数constant()来获取常量的值。...常量和变量有如下不同: 1、常量前面没有美元符号($) 2、常量只能通过define()函数定义,而不能通过赋值语句 3、常量可以不用理会变量的作用域在任何地方定义和访问 4、常量一旦定义就不能重新定义或取消定义...问:在php中定义常量时,const和define的区别? 答:使用const使得代码简单易读,const本身就是一个语言结构,而define是一个函数。...php const BIT_5 = 1 << 5; // 无效的invalid define('BIT_5', 1 << 5); // 有效的valid ?
php定义常量方法的区别 区别说明 1、const是一种语言结构,define()是一个函数,const编译比define()快。...const关键字定义的常量区分大小写,define()函数可以通过第三个参数来决定是否区分大小写。 实例 <?...php // 常量 // 常量的定义和使用 // 定义方法1:define()函数 define("CON_INT", 100); echo CON_INT; // 将此常量的使用定义为可以不区分大小写...echo ""; print_r(get_defined_constants()); // 获取本脚本中所有可以访问到的常量,输出一个超长的数组 以上就是php定义常量方法的区别,希望对大家有所帮助...更多php学习指路:php教程 推荐操作系统:windows7系统、PHP5.6、DELL G3电脑 收藏 | 0点赞 | 0打赏
正文 在PHP5.3中,有两种方法可以定义常量: 使用const关键字 使用define()方法 const FOO = 'BAR'; define('FOO','BAR'); 这两种方式的根本区别在于...不过在PHP5.6之后const也可以接受常量的表达式了: const BIT_5 = 1 << 5; // 在PHP5.6之后有效,之前无效 define('BIT_5', 1 << 5); /.../ 一直有效 const的常量命名只能用直白的文本,而define()允许你用任何表达式来对常量命名。...FOO = 'BAR'; define('A\B\C\FOO', 'BAR'); 自从PHP5.6后,使用const数组也能被定义为常量。...尤其是在使用define定义大量常量时,PHP的运行速度会变得非常慢。
本文实例讲述了PHP抽象类与接口的区别。分享给大家供大家参考,具体如下: 抽象类abstract 概念 定义为抽象的类不能被实例化。...任何一个类,如果有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的类。 继承一个抽象类的时候,子类必须定义父类中的所有抽象方法,这些方法的访问控制必须喝父类中一样或者更为宽松。...抽象类可以声明各种变量、常量、方法。 抽象类可以有构造函数。 抽象类中的方法可以是公开的public、保护的protected、私有的private。 一个类只能继承一个抽象类。...php interface a { const b = 'Interface constant'; } // 输出接口变量 echo a:b; // 错误的写法,因为常量不能被覆盖。...// 接口常量的概念和类常量的是一样的。 class b implements a { const b = 'Class constant' } 希望本文所述对大家PHP程序设计有所帮助。
抽象类和接口的区别抽象类和接口在某些方面是相似的,但也有很大的区别。以下是它们之间的主要区别:抽象类可以包含具体的方法实现,而接口只能包含抽象方法。一个类只能继承一个抽象类,但可以实现多个接口。...抽象类的目的是为了代码的复用和继承,而接口的目的是为了实现多态性和代码的复用。抽象类可以定义构造函数,但接口不能。抽象类可以包含成员变量,但接口不能。...示例代码下面是一个使用抽象类和接口的示例代码,它定义了一个简单的动物类和两个子类 Dog 和 Cat:makeSound();在上面的示例代码中,我们定义了一个接口 Animal,它包含一个常量 TYPE 和一个抽象方法 makeSound(...在主函数中,我们创建了一个 Dog 对象和一个 Cat 对象,并调用它们的方法来输出它们的名字、种类和叫声。在上面的示例代码中,我们使用了抽象类和接口的组合来实现一个简单的动物类,以及两个子类。
PHP中define定义常量的方法 说明 1、PHP中的变量是指程序中使用的值可以改变的量,相反的是常量。 2、常量值定义后,脚本的其他任何地方都不能改变。...$value:常量值;在PHP5中,value必须是标准值(int、float、string、boolean、null),也可以是PHP7中的array值。...PHP7.3.0废弃了定义大小写不敏感的常量。 返回值:成功时返回true,失败时返回false。...> 1 输出:woman 以上就是PHP中define定义常量的方法,希望对大家有所帮助。
本文实例讲述了PHP学习记录之常用的魔术常量。...分享给大家供大家参考,具体如下: PHP 向它运行的任何脚本提供了大量的预定义常量,不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。...再来就是__FUNCTION__了,它表示当前所在的函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写),所以在 PHP 4 中该值总是小写字母的。...第五个就是__CLASS__了,它表示当前所在的类的名称(PHP 4.3.0 新加),自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。...最后需要记录的就是__NAMESPACE__,它表示当前命名空间的名称(区分大小写),这个常量是在编译时定义的(PHP 5.3.0 新增)。实例如下: <?
本文实例讲述了PHP抽象类与接口的区别。分享给大家供大家参考,具体如下: 抽象类abstract 概念 定义为抽象的类不能被实例化。...任何一个类,如果有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的类。 继承一个抽象类的时候,子类必须定义父类中的所有抽象方法,这些方法的访问控制必须喝父类中一样或者更为宽松。...抽象类可以声明各种变量、常量、方法。 抽象类可以有构造函数。 抽象类中的方法可以是公开的public、保护的protected、私有的private。 一个类只能继承一个抽象类。 示例 示例一 <?...php // 抽象类 abstract class AbstractClass { // 我们的抽象方法仅需要定义需要的参数 abstract protected function prefixName...php interface a { const b = 'Interface constant'; } // 输出接口变量 echo a:b; // 错误的写法,因为常量不能被覆盖。
领取专属 10元无门槛券
手把手带您无忧上云