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

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

阅读全文 »

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