类/对象 函数 业 ,精于勤 荒于嬉.
- 类/对象 函数 __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
01
<?php
02
class
foo {
03
}
04
class_alias(
'foo'
,
'bar'
);
05
$a
=
new
foo;
06
$b
=
new
bar;
07
// the objects are the samevar_dump($a == $b, $a === $b);
08
var_dump(
$a
instanceof
$b
);
09
// the classes are the samevar_dump($a instanceof foo);
10
var_dump(
$a
instanceof bar);
11
var_dump(
$b
instanceof foo);
12
var_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
02
function
__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
}
08
if
(
class_exists
(
'MyClass'
)) {
09
$myclass
=
new
MyClass();
10
}
11
?>
- 类/对象 函数 get_called_class 后期静态绑定("Late Static Binding")类的名称
-
发表日期:2021-07-01 08:57:11 | 来源: | 分类:类/对象 函数
-
示例1
01
<?php
02
class
foo {
03
static
public
function
test() {
04
var_dump(get_called_class());
05
}
06
}
07
class
bar
extends
foo {
08
}
09
foo::test();
10
bar::test();
11
?>
- 类/对象 函数 get_class_methods 返回由类的方法名组成的数组
-
发表日期:2021-07-01 08:57:11 | 来源: | 分类:类/对象 函数
-
示例1
01
<?php
02
class
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());
15
foreach
(
$class_methods
as
$method_name
) {
16
echo
"$method_name\n"
;
17
}
18
?>
- 类/对象 函数 get_class_vars 返回由类的默认属性组成的数组
-
发表日期:2021-07-01 08:57:11 | 来源: | 分类:类/对象 函数
-
示例1
01
<?php
02
class
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
));
15
foreach
(
$class_vars
as
$name
=>
$value
) {
16
echo
"$name : $value\n"
;
17
}
18
?>
示例2
01
<?php
02
function
format(
$array
){
03
return
implode(
'|'
,
array_keys
(
$array
)) .
"\r\n"
;
04
}
05
class
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
}
13
TestCase::expose();
14
echo
format(get_class_vars(
'TestCase'
));
15
?>
- 类/对象 函数 get_class 返回对象的类名
-
发表日期:2021-07-01 08:57:11 | 来源: | 分类:类/对象 函数
-
示例1
01
<?php
02
class
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
02
abstract
class
bar {
03
public
function
__construct() {
04
var_dump(get_class(
$this
));
05
var_dump(get_class());
06
}
07
}
08
class
foo
extends
bar {
09
}
10
new
foo;
11
?>
示例3
1
<?php
2
namespace Foo\Bar;
3
class
Baz {
4
public
function
__construct() {
5
}
6
}
7
$baz
=
new
\Foo\Bar\Baz;
8
var_dump(get_class(
$baz
));
9
?>
- 类/对象 函数 get_declared_classes 返回由已定义类的名字所组成的数组
-
发表日期:2021-07-01 08:57:11 | 来源: | 分类:类/对象 函数
-
示例1
1
<?php
2
print_r(get_declared_classes());
3
?>
- 类/对象 函数 get_declared_interfaces 返回一个数组包含所有已声明的接口
-
发表日期:2021-07-01 08:57:11 | 来源: | 分类:类/对象 函数
-
示例1
1
<?php
2
print_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
02
class
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);
17
print_r(get_object_vars(
$p1
));
18
$p1
->setLabel(
"point #1"
);
19
print_r(get_object_vars(
$p1
));
20
?>
示例2
01
<?php
02
class
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;
13
var_dump(get_object_vars(
$test
));
14
$test
->test();
15
?>
- 类/对象 函数 get_parent_class 返回对象或类的父类名
-
发表日期:2021-07-01 08:57:12 | 来源: | 分类:类/对象 函数
-
示例1
01
<?php
02
class
dad {
03
function
dad() {
04
// implements some logic }
05
}
06
class
child
extends
dad {
07
function
child() {
08
echo
"I'm "
, get_parent_class(
$this
) ,
"'s son\n"
;
09
}
10
}
11
class
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
02
class
dad {
03
function
dad() {
04
// implements some logic }
05
}
06
class
child
extends
dad {
07
function
child() {
08
echo
"I'm "
, get_parent_class(
$this
) ,
"'s son\n"
;
09
}
10
}
11
class
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();
6
if
(
is_a
(
$WF
,
'WidgetFactory'
)) {
7
echo
"yes, \$WF is still a WidgetFactory\n"
;
8
}
9
?>
示例2
1
<?php
2
if
(
$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();
10
if
(
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
}
16
if
(
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();
10
if
(
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
}
16
if
(
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(
'.'
);
3
var_dump(method_exists(
$directory
,
'read'
));
4
?>
示例2
1
<?php
2
var_dump(method_exists(
'Directory'
,
'read'
));
3
?>
- 类/对象 函数 property_exists 检查对象或类是否具有该属性
-
发表日期:2021-07-01 08:57:12 | 来源: | 分类:类/对象 函数
-
示例1
01
<?php
02
class
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
}
10
var_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
。 -
- 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)