许多PHP的爱好者在学习过程中感到对PHP中类的概念较难理解和掌握,虽然知道类既然存在就有其存在的道理,但是由于平时接触和使用的机会较少,也就一略而过。其实,只要我们理解变量和函数这些PHP基本概念的话,掌握类的含义就不成问题。鉴于类在PHP的重要作用,本文将结合具体事例介绍PHP中类的概念和应用。
(一)
所谓类就是指由变量和作用于变量的函数组成的集合。类提供了一种对现实世界中事物的描述方式。通过有效的使用类,我们可以将描述同一对象的多个变量和函数组合在一起,作为一个整体使用,从而使编写出来的程序更直观,更合理,更易于维护。
举一个比较通俗的例子,我们可以创建一个名为Bike的类来描述现实生活中的一辆自行车。首先,我们设定该类中的变量包括踏板$pedals,链条$chain,前轮$front wheel,后轮$rear wheel,刹车$brakes, 以及手柄$handle。然后,我们创建停车Stop(), 加速Accelerate(), 左转TurnLeft()和右转TurnRight()等函数。这样,我们就有了一个可以描述自行车这一对象所有行为和属性的类。例如,我们可以将$front wheel 和$rear wheel变量传入TurnLeft()函数,从而得到某种输出结果。
也许有人会问上述例子虽然有趣,但是我们完全可以使用常规的变量和函数实现同样功能,为什么一定要坚持使用这么烦琐的类呢?当然,如果我们在脚本中只需要描述一辆自行车话,定义一个类似乎没有什么特殊的价值。但是,如果当脚本需要涉及多辆自行车时呢?如果我们还是采用常规的为每量自行车都定义变量和函数的方法,那么光是跟踪每个变量,确保正确的变量输入正确的函数就是一项相当复杂的工作。相反,如果采用类的方式,就可以有效的减少所需变量的数量。此外,一个已经定义的类还可以被包含在其它文件或脚本中,从而实现代码的重复利用。
(二)
对PHP类的概念有所了解之后,我们就来具体看一下如何在脚本中创建和使用类。
相信大家在创建站点时一定会因为要顾及页面的显示效果,字体的样式和大小等细节而影响对整个页面布局和整个站点流程的设计和构思。下面,我们就利用PHP的类来控制HTML的页面输出。
首先,我们使用如下代码创建一个名为Style的类,并在类中定义设置页面属性所需的变量:
class Style {
var $text;
var $alink;
var $vlink;
var $link;
var $bgcol;
var $face;
var $size;
var $align;
var $valign;
}
?>
相信熟悉HTML语言的读者一定不会对我们在Style类中声名的变量感到陌生。
下面,我们在Style类中创建一个与类同名的函数。代码如下:
class Style {
function Style ($text="#000000",$alink="#AA00AA",$vlink="#AA00AA",
$link="#3333FF",$bgcol="#999999",$face="Arial",$size=3,
$align="CENTER",$valign= "TOP")
{
$this->text=$text;
$this->alink=$alink;
$this->vlink=$vlink;
$this->link=$link;
$this->bgcol=$bgcol;
$this->face=$face;
$this->size=$size;
$this->align=$align;
$this->valign=$valign;
}
}
?>
说明:
在类中可以使用“$this”指代类本身,使用“->”运算符引用类中的各个变量或函数。类中创建的与类同名的函数称为构造函数。构造函数在创建新的对象实例时自动执行,从而将类中设定的默认值赋予该对象实例。
PHP中,我们可以通过创建对象实例的方法使用一个已经定义的类。语法格式如下:
例如,本例中我们可以使用如下代码创建一个名为$Basic的对象实例,该对象实例将自动获得Style类中构造函数指定的默认值:
一个类可以创建多个对象实例,其中每个对象实例都继承该类的默认属性,可以调用类中的所有变量和函数。有时我们可能需要为由同一个类创建的多个对象实例设置不同的属性,虽然我们可以在创建对象实例时修改类的默认值,但是这种方式一方面缺乏灵活性,另一方面按照PHP的约定,如果用户在创建新的对象实例时声明了某个变量值的话,则必须同时声明该类中所声明变量之后的所有变量。例如,如果我们在创建$Basic对象实例时显式修改了text变量值的话,则必须同时再声明该类中位于text变量之后的所有变量,即Style类的全部变量都需要再重新声明一遍。显然,我们需要使用其它更为便捷的方式修改对象实例中的某个变量值。这里,我们可以通过在Style类中创建一个专门用于修改变量值的函数实现上述功能。具体代码如下:
Function Set($varname,$value) {
$this->$varname=$value;
}
例如,如果我们需要将$Basic对象实例中size变量的值改为2时,使用如下代码即可实现:
Set( ‘size’, 2); ?>
说明:
->运算符用于向PHP解释器说明运行$Basic对象实例中的Set()函数。
通过有效的使用Set()函数,我们可以灵活的设置和控制不同的对象实例。比方说,如果我们希望为页面输出表格的标题行和内容行设置不同的背景颜色和字体大小的话,可以首先创建两个对象实例,然后使用Set()函数分别设置各自不同的属性。具体代码如下:
$Tableheader= new Style;
$Tableheader->Set( 'text', '#0000FF');
$Tableheader->Set( 'bgcol', '#000000');
?>
$Tablecontent=new Style;
$Tablecontent->Set( 'bgcol', '#AAAAAA');
$Tablecontent->Set( 'size',2);
?>
许多PHP的爱好者在学习过程中感到对PHP中类的概念较难理解和掌握,虽然知道类既然存在就有其存在的道理,但是由于平时接触和使用的机会较少,也就一略而过。其实,只要我们理解变量和函数这些PHP基本概念的话,掌握类的含义就不成问题。鉴于类在PHP的重要作用,本文将结合具体事例介绍PHP中类的概念和应用。
(一)
所谓类就是指由变量和作用于变量的函数组成的集合。类提供了一种对现实世界中事物的描述方式。通过有效的使用类,我们可以将描述同一对象的多个变量和函数组合在一起,作为一个整体使用,从而使编写出来的程序更直观,更合理,更易于维护。
举一个比较通俗的例子,我们可以创建一个名为Bike的类来描述现实生活中的一辆自行车。首先,我们设定该类中的变量包括踏板$pedals,链条$chain,前轮$front wheel,后轮$rear wheel,刹车$brakes, 以及手柄$handle。然后,我们创建停车Stop(), 加速Accelerate(), 左转TurnLeft()和右转TurnRight()等函数。这样,我们就有了一个可以描述自行车这一对象所有行为和属性的类。例如,我们可以将$front wheel 和$rear wheel变量传入TurnLeft()函数,从而得到某种输出结果。
也许有人会问上述例子虽然有趣,但是我们完全可以使用常规的变量和函数实现同样功能,为什么一定要坚持使用这么烦琐的类呢?当然,如果我们在脚本中只需要描述一辆自行车话,定义一个类似乎没有什么特殊的价值。但是,如果当脚本需要涉及多辆自行车时呢?如果我们还是采用常规的为每量自行车都定义变量和函数的方法,那么光是跟踪每个变量,确保正确的变量输入正确的函数就是一项相当复杂的工作。相反,如果采用类的方式,就可以有效的减少所需变量的数量。此外,一个已经定义的类还可以被包含在其它文件或脚本中,从而实现代码的重复利用。
(二)
对PHP类的概念有所了解之后,我们就来具体看一下如何在脚本中创建和使用类。
相信大家在创建站点时一定会因为要顾及页面的显示效果,字体的样式和大小等细节而影响对整个页面布局和整个站点流程的设计和构思。下面,我们就利用PHP的类来控制HTML的页面输出。
首先,我们使用如下代码创建一个名为Style的类,并在类中定义设置页面属性所需的变量:
class Style {
var $text;
var $alink;
var $vlink;
var $link;
var $bgcol;
var $face;
var $size;
var $align;
var $valign;
}
?>
相信熟悉HTML语言的读者一定不会对我们在Style类中声名的变量感到陌生。
下面,我们在Style类中创建一个与类同名的函数。代码如下:
class Style {
function Style ($text="#000000",$alink="#AA00AA",$vlink="#AA00AA",
$link="#3333FF",$bgcol="#999999",$face="Arial",$size=3,
$align="CENTER",$valign= "TOP")
{
$this->text=$text;
$this->alink=$alink;
$this->vlink=$vlink;
$this->link=$link;
$this->bgcol=$bgcol;
$this->face=$face;
$this->size=$size;
$this->align=$align;
$this->valign=$valign;
}
}
?>
说明:
在类中可以使用“$this”指代类本身,使用“->”运算符引用类中的各个变量或函数。类中创建的与类同名的函数称为构造函数。构造函数在创建新的对象实例时自动执行,从而将类中设定的默认值赋予该对象实例。
PHP中,我们可以通过创建对象实例的方法使用一个已经定义的类。语法格式如下:
例如,本例中我们可以使用如下代码创建一个名为$Basic的对象实例,该对象实例将自动获得Style类中构造函数指定的默认值:
一个类可以创建多个对象实例,其中每个对象实例都继承该类的默认属性,可以调用类中的所有变量和函数。有时我们可能需要为由同一个类创建的多个对象实例设置不同的属性,虽然我们可以在创建对象实例时修改类的默认值,但是这种方式一方面缺乏灵活性,另一方面按照PHP的约定,如果用户在创建新的对象实例时声明了某个变量值的话,则必须同时声明该类中所声明变量之后的所有变量。例如,如果我们在创建$Basic对象实例时显式修改了text变量值的话,则必须同时再声明该类中位于text变量之后的所有变量,即Style类的全部变量都需要再重新声明一遍。显然,我们需要使用其它更为便捷的方式修改对象实例中的某个变量值。这里,我们可以通过在Style类中创建一个专门用于修改变量值的函数实现上述功能。具体代码如下:
Function Set($varname,$value) {
$this->$varname=$value;
}
例如,如果我们需要将$Basic对象实例中size变量的值改为2时,使用如下代码即可实现:
Set( ‘size’, 2); ?>
说明:
->运算符用于向PHP解释器说明运行$Basic对象实例中的Set()函数。
通过有效的使用Set()函数,我们可以灵活的设置和控制不同的对象实例。比方说,如果我们希望为页面输出表格的标题行和内容行设置不同的背景颜色和字体大小的话,可以首先创建两个对象实例,然后使用Set()函数分别设置各自不同的属性。具体代码如下:
$Tableheader= new Style;
$Tableheader->Set( 'text', '#0000FF');
$Tableheader->Set( 'bgcol', '#000000');
?>
$Tablecontent=new Style;
$Tablecontent->Set( 'bgcol', '#AAAAAA');
$Tablecontent->Set( 'size',2);
?>

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver Mac版
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

SublimeText3 Linux新版
SublimeText3 Linux最新版

WebStorm Mac版
好用的JavaScript開發工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。