类/对象 函数 业 ,精于勤 荒于嬉.
- 类/对象 函数 __autoload 尝试加载未定义的类
-
发表日期:2021-07-01 08:57:11 | 来源: | 分类:类/对象 函数
-
__autoload
(PHP 5, PHP 7)
__autoload — 尝试加载未定义的类
警告本函数已自 PHP 7.2.0 起被废弃,并自 PHP 8.0.0 起被移除。 强烈建议不要依赖本函数。
参数
-
class
-
待加载的类名。
返回值
没有返回值。
-
- 类/对象 函数 class_alias 为一个类创建别名
-
发表日期:2021-07-01 08:57:11 | 来源: | 分类:类/对象 函数
-
示例1
<?php class foo { } class_alias('foo', 'bar'); $a = new foo; $b = new bar; // the objects are the samevar_dump($a == $b, $a === $b); var_dump($a instanceof $b); // the classes are the samevar_dump($a instanceof foo); var_dump($a instanceof bar); var_dump($b instanceof foo); var_dump($b instanceof bar); ?>
- 类/对象 函数 class_exists 检查类是否已定义
-
发表日期:2021-07-01 08:57:11 | 来源: | 分类:类/对象 函数
-
示例1
<?php // 使用前检查类是否存在if (class_exists('MyClass')) { $myclass = new MyClass(); } ?>
示例2
<?php function __autoload($class){ include($class . '.php'); // Check to see whether the include declared the class if (!class_exists($class, false)) { trigger_error("Unable to load class: $class", E_USER_WARNING); } } if (class_exists('MyClass')) { $myclass = new MyClass(); } ?>
- 类/对象 函数 get_called_class 后期静态绑定("Late Static Binding")类的名称
-
发表日期:2021-07-01 08:57:11 | 来源: | 分类:类/对象 函数
-
示例1
<?php class foo { static public function test() { var_dump(get_called_class()); } } class bar extends foo { } foo::test(); bar::test(); ?>
- 类/对象 函数 get_class_methods 返回由类的方法名组成的数组
-
发表日期:2021-07-01 08:57:11 | 来源: | 分类:类/对象 函数
-
示例1
<?php class myclass { // constructor function myclass() { return(true); } // method 1 function myfunc1() { return(true); } // method 2 function myfunc2() { return(true); } } $class_methods = get_class_methods('myclass'); // or$class_methods = get_class_methods(new myclass()); foreach ($class_methods as $method_name) { echo "$method_name\n"; } ?>
- 类/对象 函数 get_class_vars 返回由类的默认属性组成的数组
-
发表日期:2021-07-01 08:57:11 | 来源: | 分类:类/对象 函数
-
示例1
<?php class myclass { var $var1; // this has no default value... var $var2 = "xyz"; var $var3 = 100; private $var4; // constructor function __construct() { // change some properties $this->var1 = "foo"; $this->var2 = "bar"; return true; } } $my_class = new myclass(); $class_vars = get_class_vars(get_class($my_class)); foreach ($class_vars as $name => $value) { echo "$name : $value\n"; } ?>
示例2
<?php function format($array){ return implode('|', array_keys($array)) . "\r\n"; } class TestCase{ public $a = 1; protected $b = 2; private $c = 3; public static function expose() { echo format(get_class_vars(__CLASS__)); } } TestCase::expose(); echo format(get_class_vars('TestCase')); ?>
- 类/对象 函数 get_class 返回对象的类名
-
发表日期:2021-07-01 08:57:11 | 来源: | 分类:类/对象 函数
-
示例1
<?php class foo { function name() { echo "My name is " , get_class($this) , "\n"; } } // create an object$bar = new foo(); // external callecho "Its name is " , get_class($bar) , "\n"; // internal call$bar->name(); ?>
示例2
<?php abstract class bar { public function __construct() { var_dump(get_class($this)); var_dump(get_class()); } } class foo extends bar { } new foo; ?>
示例3
<?php namespace Foo\Bar; class Baz { public function __construct() { } } $baz = new \Foo\Bar\Baz; var_dump(get_class($baz)); ?>
- 类/对象 函数 get_declared_classes 返回由已定义类的名字所组成的数组
-
发表日期:2021-07-01 08:57:11 | 来源: | 分类:类/对象 函数
-
示例1
<?php print_r(get_declared_classes()); ?>
- 类/对象 函数 get_declared_interfaces 返回一个数组包含所有已声明的接口
-
发表日期:2021-07-01 08:57:11 | 来源: | 分类:类/对象 函数
-
示例1
<?php print_r(get_declared_interfaces()); ?>
- 类/对象 函数 get_declared_traits 返回所有已定义的 traits 的数组
-
发表日期:2021-07-01 08:57:11 | 来源: | 分类:类/对象 函数
-
get_declared_traits
(PHP 5 >= 5.4.0, PHP 7, PHP 8)
get_declared_traits — 返回所有已定义的 traits 的数组
说明
get_declared_traits(): array参数
此函数没有参数。
返回值
返回一个数组,其值包含了所有已定义的 traits 的名称。 在失败的情况下返回
null
。
- 类/对象 函数 get_object_vars 返回由对象属性组成的关联数组
-
发表日期:2021-07-01 08:57:11 | 来源: | 分类:类/对象 函数
-
示例1
<?php class Point2D { var $x, $y; var $label; function Point2D($x, $y) { $this->x = $x; $this->y = $y; } function setLabel($label) { $this->label = $label; } function getPoint() { return array("x" => $this->x, "y" => $this->y, "label" => $this->label); } } // "$label" is declared but not defined$p1 = new Point2D(1.233, 3.445); print_r(get_object_vars($p1)); $p1->setLabel("point #1"); print_r(get_object_vars($p1)); ?>
示例2
<?php class foo { private $a; public $b = 1; public $c; private $d; static $e; public function test() { var_dump(get_object_vars($this)); } } $test = new foo; var_dump(get_object_vars($test)); $test->test(); ?>
- 类/对象 函数 get_parent_class 返回对象或类的父类名
-
发表日期:2021-07-01 08:57:12 | 来源: | 分类:类/对象 函数
-
示例1
<?php class dad { function dad() { // implements some logic } } class child extends dad { function child() { echo "I'm " , get_parent_class($this) , "'s son\n"; } } class child2 extends dad { function child2() { echo "I'm " , get_parent_class('child2') , "'s son too\n"; } } $foo = new child(); $bar = new child2(); ?>
示例2
<?php class dad { function dad() { // implements some logic } } class child extends dad { function child() { echo "I'm " , get_parent_class($this) , "'s son\n"; } } class child2 extends dad { function child2() { echo "I'm " , get_parent_class('child2') , "'s son too\n"; } } $foo = new child(); $bar = new child2(); ?>
- 类/对象 函数 interface_exists 检查接口是否已被定义
-
发表日期:2021-07-01 08:57:11 | 来源: | 分类:类/对象 函数
-
示例1
<?php // 在尝试使用前先检查接口是否存在if (interface_exists('MyInterface')) { class MyClass implements MyInterface { // Methods } } ?>
- 类/对象 函数 is_a 如果对象属于该类或该类是此对象的父类则返回 true
-
发表日期:2021-07-01 08:57:11 | 来源: | 分类:类/对象 函数
-
示例1
<?php // define a classclass WidgetFactory{ var $oink = 'moo'; } // create a new object$WF = new WidgetFactory(); if (is_a($WF, 'WidgetFactory')) { echo "yes, \$WF is still a WidgetFactory\n"; } ?>
示例2
<?php if ($WF instanceof WidgetFactory) { echo 'Yes, $WF is a WidgetFactory'; } ?>
- 类/对象 函数 is_subclass_of 如果此对象是该类的子类,则返回 true
-
发表日期:2021-07-01 08:57:11 | 来源: | 分类:类/对象 函数
-
示例1
<?php // define a classclass WidgetFactory{ var $oink = 'moo'; } // define a child classclass WidgetFactory_Child extends WidgetFactory{ var $oink = 'oink'; } // create a new object$WF = new WidgetFactory(); $WFC = new WidgetFactory_Child(); if (is_subclass_of($WFC, 'WidgetFactory')) { echo "yes, \$WFC is a subclass of WidgetFactory\n"; } else { echo "no, \$WFC is not a subclass of WidgetFactory\n"; } if (is_subclass_of($WF, 'WidgetFactory')) { echo "yes, \$WF is a subclass of WidgetFactory\n"; } else { echo "no, \$WF is not a subclass of WidgetFactory\n"; } // usable only since PHP 5.0.3if (is_subclass_of('WidgetFactory_Child', 'WidgetFactory')) { echo "yes, WidgetFactory_Child is a subclass of WidgetFactory\n"; } else { echo "no, WidgetFactory_Child is not a subclass of WidgetFactory\n"; } ?>
示例2
<?php // define a classclass WidgetFactory{ var $oink = 'moo'; } // define a child classclass WidgetFactory_Child extends WidgetFactory{ var $oink = 'oink'; } // create a new object$WF = new WidgetFactory(); $WFC = new WidgetFactory_Child(); if (is_subclass_of($WFC, 'WidgetFactory')) { echo "yes, $WFC is a subclass of WidgetFactory\n"; } else { echo "no, $WFC is not a subclass of WidgetFactory\n"; } if (is_subclass_of($WF, 'WidgetFactory')) { echo "yes, $WF is a subclass of WidgetFactory\n"; } else { echo "no, $WF is not a subclass of WidgetFactory\n"; } // usable only since PHP 5.0.3if (is_subclass_of('WidgetFactory_Child', 'WidgetFactory')) { echo "yes, WidgetFactory_Child is a subclass of WidgetFactory\n"; } else { echo "no, WidgetFactory_Child is not a subclass of WidgetFactory\n"; } ?>
- 类/对象 函数 method_exists 检查类的方法是否存在
-
发表日期:2021-07-01 08:57:12 | 来源: | 分类:类/对象 函数
-
示例1
<?php $directory = new Directory('.'); var_dump(method_exists($directory,'read')); ?>
示例2
<?php var_dump(method_exists('Directory','read')); ?>
- 类/对象 函数 property_exists 检查对象或类是否具有该属性
-
发表日期:2021-07-01 08:57:12 | 来源: | 分类:类/对象 函数
-
示例1
<?php class myClass { public $mine; private $xpto; static protected $test; static function test() { var_dump(property_exists('myClass', 'xpto')); //true } } var_dump(property_exists('myClass', 'mine')); //truevar_dump(property_exists(new myClass, 'mine')); //truevar_dump(property_exists('myClass', 'xpto')); //true, as of PHP 5.3.0var_dump(property_exists('myClass', 'bar')); //falsevar_dump(property_exists('myClass', 'test')); //true, as of PHP 5.3.0myClass::test(); ?>
- 类/对象 函数 trait_exists 检查指定的 trait 是否存在
-
发表日期:2021-07-01 08:57:12 | 来源: | 分类:类/对象 函数
-
trait_exists
(PHP 5 >= 5.4.0, PHP 7, PHP 8)
trait_exists — 检查指定的 trait 是否存在
说明
trait_exists(string$traitname
, bool$autoload
= ?): bool参数
-
traitname
-
待检查的 trait 的名称
-
autoload
-
如果尚未加载,是否使用自动加载(autoload)。
返回值
如果 trait 存在返回
true
,不存在则返回false
。发生错误的时候返回null
。 -
- PHP杂项(34)
- PHP基础-李炎恢系列课程(20)
- 中文函数手册(0)
- 错误处理 函数(13)
- OPcache 函数(6)
- PHP 选项/信息 函数(54)
- Zip 函数(10)
- Hash 函数(15)
- OpenSSL 函数(63)
- Date/Time 函数(51)
- 目录函数(9)
- Fileinfo 函数(6)
- iconv 函数(11)
- 文件系统函数(81)
- 多字节字符串 函数(57)
- GD 和图像处理 函数(114)
- 可交换图像信息(5)
- Math 函数(50)
- 程序执行函数(11)
- PCNTL 函数(23)
- JSON 函数(4)
- SPL 函数(15)
- URL 函数(10)
- cURL 函数(32)
- 网络 函数(33)
- FTP 函数(36)
- Session 函数(23)
- PCRE 函数(11)
- PCRE 正则语法(19)
- 数组 函数(81)
- 类/对象 函数(18)
- 函数处理 函数(13)
- 变量处理 函数(37)
- SimpleXML 函数(3)
- 杂项 函数(31)
- 字符串 函数(101)