PHP面向对象开发之魔术函数详解
php中魔术函数包括有tostring、call、clone、autoload几个常用的函数,希望此教程对各位朋友会有所帮助。
面向对象开发总结
1.对象的描述和配置。(可以理解为对对象的输出文字描述)
2.对象方法的一场处理。(可以理解为出现异常时候,自定义更人性化的错误信息)
3.克隆对象的应用。(可以理解为在原始对象上,克隆出一样的另一个对象,注意是另一个。)
4.自动载入对象的方法。(可以理解为引用)
1.对象描述和配置
方法名:__tostring()
格式:
代码如下 | 复制代码 |
class My { function __tostring() { return "这里写这个类的文字描述"; //要用return,echo会出错。 } } $p = new My(); echo $p; |
实例:
代码如下 | 复制代码 |
class My { function __toString() { return "这个类的作用是,保卫地球。"; } } $p = new My(); echo $p; ?> |
2.对象方法的异常处理
调用一些不存在的对象方法的异常处理,是程序正常运行。
方法名:__call($funname,$arr_value)
格式:
代码如下 | 复制代码 |
class My { function __call($n,$v) { echo "错误的方法名:".$n; echo "错误的参数:".$v; } } |
实例:
代码如下 | 复制代码 |
class My { function __call ($n,$v) { |
3.对象的克隆
通过克隆方式可以在内存中生成两个一样的对象或升级原对象。(不是简单的赋值,而是在内存中开两块内存,克隆出的和被克隆的是2个属性方法一样的不同的两个对象)
方法名:__clone()
关键字:clone
格式:
代码如下 | 复制代码 |
class My { function __clone() { echo "克隆时自动调用的函数"; } } $a = new My(); $b = clone $a; |
实例:
代码如下 | 复制代码 |
class My { function __call ($n,$v) { echo $b->name="小猪头"." |
4.自动载入对象的方法
快速取得对象名称并自动载入进当前页面
方法名:__autoload()
格式:
代码如下 | 复制代码 |
function __autoload($class_n) { include($class_n.".php"); } $p = new MyPc(); //自动调用执行如下 $d = new demo(); //include("mypc.php") |
实例:
代码如下 | 复制代码 |
function __aotoload ($class_name) { $p = new class_name(); //这里实例化的类名就被上面的函数变量 $class_name 替代了,非常方便。 |

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

DVWA
Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

mPDF
mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa
