本文章来给大家简单的介绍一下关于php自动加载类__autoload()的方法,希望此方法对各位同学会有所帮助哦。
作用:当在程序中需要实例化一个类,刚好这这类又不是在本文件中,则需要用包含函数将外部文件包含进来。但是,当要用的外部类很多后,就会发现用包含函数会显得十分的繁琐,这是就可以用__autoload()全局函数自动加载类。
当在index.php中要使用前面三个类时,就需要写三个例如include("name.class.php") 这样的方法,效率会十分低,但如果使用了__autoload()函数就不用这样麻烦了,只需要写这样一个函数方法就可以了:
在 PHP 5 中,不再需要这样了。可以定义一个 __autoload() 函数,它会在试图使用尚未被定义的类时自动调用。通过调用此函数,脚本引擎在 PHP 出错失败前有了最后一个机会加载所需的类。
在下例中将通过实例来说明 __autoload() 是如何使用的。
首先定义一个类ClassA,文件名为ClassA.class.php
代码如下 | 复制代码 |
class ClassA{ public function funa(){ echo "classA loaded successfully! } } |
然后在相同目录下再定义另一个类ClassB,文件名为ClassB.class.php,ClassB继承ClassA
代码如下 | 复制代码 |
class ClassB extends ClassA { public function funb(){
echo "classB also loaded successfully! } } |
最后在与上面两个文件相同目录下再定义一个autoload.php(这个文件名随便取)
代码如下 | 复制代码 |
function __autoload($class_name) { require_once ("./".ucfirst($class_name).'.class.php');//ucfirst使类名首字母转换为大写 } $obj = new ClassB(); $obj->funa(); $obj->funb(); ?> |
运行autoload.php的程序,看结果:
classA loaded successfully!
classB also loaded successfully!
例子: 文件夹下有这样几个文件:
User.class.php;
Person.class.php;
Message.class.php;
index.php;
我们就可以这样操作
代码如下 | 复制代码 |
index.php function __autoload($className){ //ucfirst() 将字符串首字母变为大写 include("ucfirst($className)".class.".php"); } /************** |
*例如:在index.php文件中实例化User.class.php中的User类,如果不存在则自动调用__autoload()函数
代码如下 | 复制代码 |
*,将类名User作为参数传入 *************/ $user=new User(); //通过自动加载类调用User.class.php文件 $person=new Person(); //通过自动加载类调用Person.class.php文件 $Message=new Message(); //通过自动加载类调用Message.classphp文件 function="" message="new" person="new" user="new"> |

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

Notepad++7.3.1
Easy-to-use and free code editor

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Dreamweaver CS6
Visual web development tools

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment
