php类之间的相互调用——易读简明优化代码
来源:互联网 发布:origin 知乎 编辑:程序博客网 时间:2024/06/05 22:32
读Thinkphp源码时,学到的写法。
要点在于多用魔术方法
1.A类的方法中调用B类
使用__autoload()方法
A.class.php
<?php
class A{
public function aa(){
echo '我是A类方法';
B::bb();
}
public function __autoload($classname){
$classpath="./".$classname.'.class.php';
if(file_exists($classpath)){
require_once($classpath);
}
}
}
?>
----------------
B.class.php
<?php
class B{
static public function bb(){
echo '我是B类方法';
}
}
?>
2.父类调用子类方法
增加红字内容
A.class.php
<?php
A::aa();
class A{
static function aa(){
echo '我是A类方法';
B::bb();
B::cc();
}
public function __autoload($classname){
$classpath="./".$classname.'.class.php';
if(file_exists($classpath)){
require_once($classpath);
}
}
}
?>
----------------
B.class.php
<?php
class B{
static protected $z;
static public function bb(){
echo '我是B类方法';
self::$z=new C();
}
static pbulic function __callstatic($method,$args){
if(method_exists(self::$z,$method)){
return call_user_func_array(array(self::$z,$method),$args);
}
}
}
class C{
public function cc(){
echo '这是C类方法';
}
}
?>
- php类之间的相互调用——易读简明优化代码
- 编写易读代码的艺术——第四章 美学
- 编写易读的代码
- C代码与C++代码之间的相互调用
- Python与Java之间的相互调用——Jython
- 学习笔记-php和js之间的相互调用
- c++ 类之间的相互调用问题
- c++ 类之间的相互调用问题 .
- 三个类之间的相互调用实现
- 编写易读代码的艺术——第一章 代码应该容易让人理解
- php与shell之间相互调用
- Activity之间的相互调用
- shell 之间的相互调用
- 函数之间的相互调用
- 编写易读代码的艺术——第二章 把精确包含到名字里
- 编写易读代码的艺术——第三章 名字应不能被误解
- 各种类和视图之间相互调用的总结
- 各种类和视图之间相互调用的总结
- Android之AsyncTask的使用(二)之文件下载
- ios9使用自签名ssl -9824 -9801
- Linux系统管理之awk(一)简单使用
- Qt 实现窗口置顶与取消置顶
- 哈工大语言云(LTP)本地安装使用及Python调用
- php类之间的相互调用——易读简明优化代码
- HTML-段落
- C++ 读取 pcap文件
- C语言中实现数组的动态增长
- 【智能路由器】openwrt计划任务
- Linux系统管理之shell脚本(一)shell变量
- hibernate的实体生命周期
- UVA 10480 Sabotage 网络流
- iOS: removeFromSuperview方法