|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
《PHP+MYSQL WEB开发(第三版)》号称圣经级,(也许是个不错的选择(声明:作者没给我啥好处费,我也不是书托,隔着大老远,我连他老兄的面都没见过的说-_-) PHP中类的了解和使用[一]
很多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的类,并在类中界说设置页面属性所需的变量:
<?php
class Style {
var $text;
var $alink;
var $vlink;
var $link;
var $bgcol;
var $face;
var $size;
var $align;
var $valign;
}
?>
信任熟习HTML言语的读者必定不会对咱们在Style类中申明的变量感应生疏。
上面,咱们在Style类中创立一个与类同名的函数。代码以下:
<?php
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中,咱们可以经由过程创立对象实例的办法利用一个已界说的类。语法格局以下:
<?php $Instance_name = new Class; ?>
例如,本例中咱们可使用以下代码创立一个名为$Basic的对象实例,该对象实例将主动取得Style类中机关函数指定的默许值:
<?php $Basic = new Style; ?>
一个类可以创立多个对象实例,个中每一个对象实例都承继该类的默许属性,可以挪用类中的一切变量和函数。有时咱们能够需求为由统一个类创立的多个对象实例设置分歧的属性,固然咱们可以在创立对象实例时修正类的默许值,然而这类体例一方面缺少天真性,另外一方面依照PHP的商定,假如用户在创立新的对象实例时声了然某个变量值的话,则必需同时声明该类中所声明变量以后的一切变量。例如,假如咱们在创立$Basic对象实例时显式修正了text变量值的话,则必需同时再声明该类中位于text变量以后的一切变量,即Style类的全体变量都需求再从头声明一遍。明显,咱们需求利用其它更加便捷的体例修正对象实例中的某个变量值。这里,咱们可以经由过程在Style类中创立一个专门用于修正变量值的函数完成上述功效。详细代码以下:
Function Set($varname,$value) {
$this->$varname=$value;
}
例如,假如咱们需求将$Basic对象实例中size变量的值改成2时,利用以下代码便可完成:
<?php $Basic->Set( ‘size’, 2); ?>
申明:
->运算符用于向PHP注释器申明运转$Basic对象实例中的Set()函数。
经由过程无效的利用Set()函数,咱们可以天真的设置和掌握分歧的对象实例。例如说,假如咱们但愿为页面输入表格的题目行和内容行设置分歧的后台色彩和字体巨细的话,可以起首创立两个对象实例,然后利用Set()函数分离设置各自分歧的属性。详细代码以下:
<?php
$Tableheader= new Style;
$Tableheader->Set( 'text', '#0000FF');
$Tableheader->Set( 'bgcol', '#000000');
?>
<?php
$Tablecontent=new Style;
$Tablecontent->Set( 'bgcol', '#AAAAAA');
$Tablecontent->Set( 'size',2);
?>
从刚开始练习的PHP基础语法练习,到PHP语言在WEB中的应用,再到实际的项目开发,如留言版,相册系统,中小型公司网站系统,以及期间做过的有关团队合作的小游戏,让我受益匪浅,学到了很多。 |
|