我们需要在类中再创建几个成员函数来是Style可以用到任何HTML页面对象中。首先我要做的就是,为我的页面设置属性,于是:
<?php
function Body() {
PRINT "<BODY BGCOLOR="$this->bgcol" ".
"TEXT="$this->text" ".
"LINK="$this->link" VLINK="$this->vlink" ".
"ALINK="$this->alink"> ";
}
?>
上述代码,为我站点中的所有页面设置了整体风格。其中还设计到了一个变量”$this”。我们在类中只用这个变量,解释器会自动将其理解为我们在引用当前对象本身的一个成员变量。换句话说,$this变量在应用中与对象名称(如本例中的$Basic)是等义的。你应该注意到我们在此所做的的确要比用常规函数来实现来得简单。我们可以不用向函数传递变量而在函数中引用这个变量。而通常,常规函数是通过几个全程变量数组才能够实现这种机制的。不过需要声明的是,所有对象的变量和成员函数的作用域都是在本对象范围以内的。
试验以下下面的PHP代码(假设你已经包含了Style类,并为其创建了一个实例$Basic,然后页面中已经有了 和 <HEAD></HEAD> 标签)
<?php $Basic->Body(); ?>
这样我们就可以输出一些东西到页面中了,我们可以采用传统的方法,但我想做点不同的….(这个作者故弄玄虚,幽默过头了—译者注)这就是我用的另外一个成员函数TextOut:
<?php
function TextOut($message= " ") {
PRINT " "text">$message ";
}
?>
这个函数需要一个参数$message,$message是你要输出的文字,该函数会以指定的属性输出这些文字。我们可以通过如下方法实现:
<?php
$Basic->TextOut( 'This is my test message');
$Tbody->TextOut( ' -- kinda neat, huh?');
?>
注意,由于这两个函数中间没有输出回车换行<br>,所以结果将输出到同一行上。而我还想要第二部分的字体更小一点,这个我在上面的$Tbody对象中已经声明了,这样比较安全,$Tbody与$Basic唯一的不同还有个$bgcol属性,在这里没有用到。注意到了程序声明中的” ”吗?这是用来在没有参数传递给函数时函数,函数就输出缺省的不间断空格,原因后述。
到目前为止,我们的工作还没有保存。最后的一个例子说明如何通过一种简单的方法,来修改字体的颜色和或大小,即使在一个输出语法的中间,也不需要改动整个类。我们加入如下的代码:
<?php
function TDOut ($message= " ",$colspan=1) {
PRINT "<TD COLSPAN=$colspan BGCOLOR="$this->bgcol" ".
"ALIGN="$this->align" VALIGN="$this->valign">";
$this->TextOut($message);
PRINT "</TD&g
<?php
function Body() {
PRINT "<BODY BGCOLOR="$this->bgcol" ".
"TEXT="$this->text" ".
"LINK="$this->link" VLINK="$this->vlink" ".
"ALINK="$this->alink"> ";
}
?>
上述代码,为我站点中的所有页面设置了整体风格。其中还设计到了一个变量”$this”。我们在类中只用这个变量,解释器会自动将其理解为我们在引用当前对象本身的一个成员变量。换句话说,$this变量在应用中与对象名称(如本例中的$Basic)是等义的。你应该注意到我们在此所做的的确要比用常规函数来实现来得简单。我们可以不用向函数传递变量而在函数中引用这个变量。而通常,常规函数是通过几个全程变量数组才能够实现这种机制的。不过需要声明的是,所有对象的变量和成员函数的作用域都是在本对象范围以内的。
试验以下下面的PHP代码(假设你已经包含了Style类,并为其创建了一个实例$Basic,然后页面中已经有了 和 <HEAD></HEAD> 标签)
<?php $Basic->Body(); ?>
这样我们就可以输出一些东西到页面中了,我们可以采用传统的方法,但我想做点不同的….(这个作者故弄玄虚,幽默过头了—译者注)这就是我用的另外一个成员函数TextOut:
<?php
function TextOut($message= " ") {
PRINT " "text">$message ";
}
?>
这个函数需要一个参数$message,$message是你要输出的文字,该函数会以指定的属性输出这些文字。我们可以通过如下方法实现:
<?php
$Basic->TextOut( 'This is my test message');
$Tbody->TextOut( ' -- kinda neat, huh?');
?>
注意,由于这两个函数中间没有输出回车换行<br>,所以结果将输出到同一行上。而我还想要第二部分的字体更小一点,这个我在上面的$Tbody对象中已经声明了,这样比较安全,$Tbody与$Basic唯一的不同还有个$bgcol属性,在这里没有用到。注意到了程序声明中的” ”吗?这是用来在没有参数传递给函数时函数,函数就输出缺省的不间断空格,原因后述。
到目前为止,我们的工作还没有保存。最后的一个例子说明如何通过一种简单的方法,来修改字体的颜色和或大小,即使在一个输出语法的中间,也不需要改动整个类。我们加入如下的代码:
<?php
function TDOut ($message= " ",$colspan=1) {
PRINT "<TD COLSPAN=$colspan BGCOLOR="$this->bgcol" ".
"ALIGN="$this->align" VALIGN="$this->valign">";
$this->TextOut($message);
PRINT "</TD&g
| 对此文章发表了评论 |
