类/对象 函数 业 ,精于勤 荒于嬉.

类/对象 函数 __autoload 尝试加载未定义的类

发表日期:2021-07-01 08:57:11 | 来源: | 分类:类/对象 函数

__autoload

(PHP 5, PHP 7)

__autoload尝试加载未定义的类

警告

本函数已自 PHP 7.2.0 起被废弃,并自 PHP 8.0.0 起被移除。 强烈建议不要依赖本函数。

说明

__autoload(string $class): void

你可以通过定义这个函数来启用类的自动加载

参数

class

待加载的类名。

返回值

没有返回值。

参见

阅读全文 »

类/对象 函数 class_alias 为一个类创建别名

发表日期:2021-07-01 08:57:11 | 来源: | 分类:类/对象 函数

      示例1
01<?php
02class foo {
03 }
04class_alias('foo''bar');
05$a new foo;
06$b new bar;
07// the objects are the samevar_dump($a == $b, $a === $b);
08var_dump($a instanceof $b);
09// the classes are the samevar_dump($a instanceof foo);
10var_dump($a instanceof bar);
11var_dump($b instanceof foo);
12var_dump($b instanceof bar);
13?>

阅读全文 »

类/对象 函数 class_exists 检查类是否已定义

发表日期:2021-07-01 08:57:11 | 来源: | 分类:类/对象 函数

      示例1
1<?php
2// 使用前检查类是否存在if (class_exists('MyClass')) {
3    $myclass new MyClass();
4}
5?>
      示例2
01<?php
02function __autoload($class){
03    include($class '.php');
04    // Check to see whether the include declared the class    if (!class_exists($class, false)) {
05        trigger_error("Unable to load class: $class", E_USER_WARNING);
06    }
07}
08if (class_exists('MyClass')) {
09    $myclass new MyClass();
10}
11?>

阅读全文 »

类/对象 函数 get_called_class 后期静态绑定("Late Static Binding")类的名称

发表日期:2021-07-01 08:57:11 | 来源: | 分类:类/对象 函数

      示例1
01<?php
02class foo {
03    static public function test() {
04        var_dump(get_called_class());
05    }
06}
07class bar extends foo {
08}
09foo::test();
10bar::test();
11?>

阅读全文 »

类/对象 函数 get_class_methods 返回由类的方法名组成的数组

发表日期:2021-07-01 08:57:11 | 来源: | 分类:类/对象 函数

      示例1
01<?php
02class myclass {
03    // constructor    function myclass()    {
04        return(true);
05    }
06    // method 1    function myfunc1()    {
07        return(true);
08    }
09    // method 2    function myfunc2()    {
10        return(true);
11    }
12}
13$class_methods = get_class_methods('myclass');
14// or$class_methods = get_class_methods(new myclass());
15foreach ($class_methods as $method_name) {
16    echo "$method_name\n";
17}
18?>

阅读全文 »

类/对象 函数 get_class_vars 返回由类的默认属性组成的数组

发表日期:2021-07-01 08:57:11 | 来源: | 分类:类/对象 函数

      示例1
01<?php
02class myclass {
03    var $var1;
04 // this has no default value...    var $var2 = "xyz";
05    var $var3 = 100;
06    private $var4;
07    // constructor    function __construct() {
08        // change some properties        $this->var1 = "foo";
09        $this->var2 = "bar";
10        return true;
11    }
12}
13$my_class new myclass();
14$class_vars = get_class_vars(get_class($my_class));
15foreach ($class_vars as $name => $value) {
16    echo "$name : $value\n";
17}
18?>
      示例2
01<?php
02function format($array){
03    return implode('|'array_keys($array)) . "\r\n";
04}
05class TestCase{
06    public $a    = 1;
07    protected $b = 2;
08    private $c   = 3;
09    public static function expose()    {
10        echo format(get_class_vars(__CLASS__));
11    }
12}
13TestCase::expose();
14echo format(get_class_vars('TestCase'));
15?>

阅读全文 »

类/对象 函数 get_class 返回对象的类名

发表日期:2021-07-01 08:57:11 | 来源: | 分类:类/对象 函数

      示例1
01<?php
02class foo {
03    function name()    {
04        echo "My name is " , get_class($this) , "\n";
05    }
06}
07// create an object$bar = new foo();
08// external callecho "Its name is " , get_class($bar) , "\n";
09// internal call$bar->name();
10?>
      示例2
01<?php
02abstract class bar {
03    public function __construct()    {
04        var_dump(get_class($this));
05        var_dump(get_class());
06    }
07}
08class foo extends bar {
09}
10new foo;
11?>
      示例3
1<?php
2namespace Foo\Bar;
3class Baz {
4    public function __construct()    {
5    }
6}
7$baz new \Foo\Bar\Baz;
8var_dump(get_class($baz));
9?>

阅读全文 »

类/对象 函数 get_declared_classes 返回由已定义类的名字所组成的数组

发表日期:2021-07-01 08:57:11 | 来源: | 分类:类/对象 函数

      示例1
1<?php
2print_r(get_declared_classes());
3?>

阅读全文 »

类/对象 函数 get_declared_interfaces 返回一个数组包含所有已声明的接口

发表日期:2021-07-01 08:57:11 | 来源: | 分类:类/对象 函数

      示例1
1<?php
2print_r(get_declared_interfaces());
3?>

阅读全文 »

类/对象 函数 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
01<?php
02class Point2D {
03    var $x$y;
04    var $label;
05    function Point2D($x$y)    {
06        $this->x = $x;
07        $this->y = $y;
08    }
09    function setLabel($label)    {
10        $this->label = $label;
11    }
12    function getPoint()    {
13        return array("x" => $this->x,                     "y" => $this->y,                     "label" => $this->label);
14    }
15}
16// "$label" is declared but not defined$p1 = new Point2D(1.233, 3.445);
17print_r(get_object_vars($p1));
18$p1->setLabel("point #1");
19print_r(get_object_vars($p1));
20?>
      示例2
01<?php
02class foo {
03    private $a;
04    public $b = 1;
05    public $c;
06    private $d;
07    static $e;
08       public function test() {
09        var_dump(get_object_vars($this));
10    }
11}
12$test new foo;
13var_dump(get_object_vars($test));
14$test->test();
15?>

阅读全文 »

类/对象 函数 get_parent_class 返回对象或类的父类名

发表日期:2021-07-01 08:57:12 | 来源: | 分类:类/对象 函数

      示例1
01<?php
02class dad {
03    function dad()    {
04    // implements some logic    }
05}
06class child extends dad {
07    function child()    {
08        echo "I'm " , get_parent_class($this) , "'s son\n";
09    }
10}
11class child2 extends dad {
12    function child2()    {
13        echo "I'm " , get_parent_class('child2') , "'s son too\n";
14    }
15}
16$foo new child();
17$bar new child2();
18?>
      示例2
01<?php
02class dad {
03    function dad()    {
04    // implements some logic    }
05}
06class child extends dad {
07    function child()    {
08        echo "I'm " , get_parent_class($this) , "'s son\n";
09    }
10}
11class child2 extends dad {
12    function child2()    {
13        echo "I'm " , get_parent_class('child2') , "'s son too\n";
14    }
15}
16$foo new child();
17$bar new child2();
18?>

阅读全文 »

类/对象 函数 interface_exists 检查接口是否已被定义

发表日期:2021-07-01 08:57:11 | 来源: | 分类:类/对象 函数

      示例1
1<?php
2// 在尝试使用前先检查接口是否存在if (interface_exists('MyInterface')) {
3    class MyClass implements MyInterface    {
4        // Methods    }
5}
6?>

阅读全文 »

类/对象 函数 is_a 如果对象属于该类或该类是此对象的父类则返回 true

发表日期:2021-07-01 08:57:11 | 来源: | 分类:类/对象 函数

      示例1
1<?php
2// define a classclass WidgetFactory{
3  var $oink 'moo';
4}
5// create a new object$WF = new WidgetFactory();
6if (is_a($WF'WidgetFactory')) {
7  echo "yes, \$WF is still a WidgetFactory\n";
8}
9?>
      示例2
1<?php
2if ($WF instanceof WidgetFactory) {
3    echo 'Yes, $WF is a WidgetFactory';
4}
5?>

阅读全文 »

类/对象 函数 is_subclass_of 如果此对象是该类的子类,则返回 true

发表日期:2021-07-01 08:57:11 | 来源: | 分类:类/对象 函数

      示例1
01<?php
02// define a classclass WidgetFactory{
03  var $oink 'moo';
04}
05// define a child classclass WidgetFactory_Child extends WidgetFactory{
06  var $oink 'oink';
07}
08// create a new object$WF = new WidgetFactory();
09$WFC new WidgetFactory_Child();
10if (is_subclass_of($WFC'WidgetFactory')) {
11  echo "yes, \$WFC is a subclass of WidgetFactory\n";
12}
13 else {
14  echo "no, \$WFC is not a subclass of WidgetFactory\n";
15}
16if (is_subclass_of($WF'WidgetFactory')) {
17  echo "yes, \$WF is a subclass of WidgetFactory\n";
18}
19 else {
20  echo "no, \$WF is not a subclass of WidgetFactory\n";
21}
22// usable only since PHP 5.0.3if (is_subclass_of('WidgetFactory_Child', 'WidgetFactory')) {
23  echo "yes, WidgetFactory_Child is a subclass of WidgetFactory\n";
24}
25 else {
26  echo "no, WidgetFactory_Child is not a subclass of WidgetFactory\n";
27}
28?>
      示例2
01<?php
02// define a classclass WidgetFactory{
03  var $oink 'moo';
04}
05// define a child classclass WidgetFactory_Child extends WidgetFactory{
06  var $oink 'oink';
07}
08// create a new object$WF = new WidgetFactory();
09$WFC new WidgetFactory_Child();
10if (is_subclass_of($WFC'WidgetFactory')) {
11  echo "yes, $WFC is a subclass of WidgetFactory\n";
12}
13 else {
14  echo "no, $WFC is not a subclass of WidgetFactory\n";
15}
16if (is_subclass_of($WF'WidgetFactory')) {
17  echo "yes, $WF is a subclass of WidgetFactory\n";
18}
19 else {
20  echo "no, $WF is not a subclass of WidgetFactory\n";
21}
22// usable only since PHP 5.0.3if (is_subclass_of('WidgetFactory_Child', 'WidgetFactory')) {
23  echo "yes, WidgetFactory_Child is a subclass of WidgetFactory\n";
24}
25 else {
26  echo "no, WidgetFactory_Child is not a subclass of WidgetFactory\n";
27}
28?>

阅读全文 »

类/对象 函数 method_exists 检查类的方法是否存在

发表日期:2021-07-01 08:57:12 | 来源: | 分类:类/对象 函数

      示例1
1<?php
2$directory new Directory('.');
3var_dump(method_exists($directory,'read'));
4?>
      示例2
1<?php
2var_dump(method_exists('Directory','read'));
3?>

阅读全文 »

类/对象 函数 property_exists 检查对象或类是否具有该属性

发表日期:2021-07-01 08:57:12 | 来源: | 分类:类/对象 函数

      示例1
01<?php
02class myClass {
03    public $mine;
04    private $xpto;
05    static protected $test;
06    static function test() {
07        var_dump(property_exists('myClass''xpto'));
08 //true    }
09}
10var_dump(property_exists('myClass''mine'));
11   //truevar_dump(property_exists(new myClass, 'mine'));
12 //truevar_dump(property_exists('myClass', 'xpto'));
13   //true, as of PHP 5.3.0var_dump(property_exists('myClass', 'bar'));
14    //falsevar_dump(property_exists('myClass', 'test'));
15   //true, as of PHP 5.3.0myClass::test();
16?>

阅读全文 »

类/对象 函数 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

阅读全文 »

全部博文(1589)
集速网 copyRight © 2015-2022 宁ICP备15000399号-1 宁公网安备 64010402001209号
与其临渊羡鱼,不如退而结网
欢迎转载、分享、引用、推荐、收藏。