实例演示属性与方法重载、 实例演示命名空间与类自动加载器
16lz
2022-04-28
<?php
// 1. 实例演示属性与方法重载
// 1. 属性重载:__get(), __set()
class hw{
private $data=[
'age'=>20
];
// 查询拦截器
public function __get($name){
return $this->data[$name];
}
// 更新拦截器
public function __set($name,$value){
if($value<99){
return $this->data[$name] = $value;
}else{
echo "请输入合法年龄" . "<hr>";
}
}
// 2. 方法重载:__call(),__callStatic()
public function __call($name, $args){
printf("方法:%s,<br/>参数:<pre>%s</pre>",$name,print_r($args,true));
}
public static function __callStatic($name, $args){
printf("方法:%s,<br/>参数:<pre>%s</pre>",$name,print_r($args,true));
}
}
$HW = new hw;
echo $HW->age . "<hr>";
$HW->age = 101;
$HW->age = 98;
echo $HW->age . "<hr>";
$HW->add(1,2,3,4,5,6,7,8,9);
hw::name("Dave","Sarah");
<?php
// 2. 实例演示命名空间与类自动加载器
namespace ns1{
const ns = ".cn";
}
namespace {
const ns = "php";
echo ns . "<hr>";
echo ns1\ns . "<hr>";
echo \ns1\ns . "<hr>";
}
<?php
// 类自动加载器
spl_autoload_register(function($class){
$path = str_replace('\\', DIRECTORY_SEPARATOR, $class);
$file = __DIR__ . DIRECTORY_SEPARATOR . $path . '.php';
require $file;
});
new \com\HW;
路径com下的HW.php
<?php
namespace com;
class HW{
}
echo HW::class . "<br/>";
更多相关文章
- Android自适应不同屏幕几种方法
- Android:异步调用详解
- Android与H5交互,以及WebView加载进度条
- Android(安卓)Service生命周期及用法
- android动态加载已安装apk中的方法
- Android和H5之间的交互
- Android中解析XML_DOM_SAX_PULL
- Android上下文Context的那些小事
- Android不同版本获取当前wifi信息方法