[转]类与PHP (IV)

发表于:2007-06-21来源:作者:点击数: 标签:
Classes and PHP This function will take a message passed in the argument and print it out in the appropriate style object. So to print a message we can: ? php $Basic-TextOut(This is my test message); $Tbody-TextOut( -- kinda neat, huh?); ?

   
   Classes and PHP

This function will take a message passed in the argument and print it out in the appropriate style object. So to print a message we can:

<?php

$Basic->TextOut('This is my test message');
$Tbody->TextOut(' -- kinda neat, huh?');

?>

Notice, there are no <BR> between the two function calls so they will print on the same line. Also, I just wanted a smaller font for the second part of the output and I had already declared that in $Tbody so I used that. This is safe in this instance as the only other difference between $Basic and $Tbody is "bgcol" and that isn't used in this function. Notice the " " in the function declaration? That is there so if no message is passed the function will print out a non- breaking space. Why will become clear later on.

So far we haven't saved a lot of work. The last example is easier if you want to change font color and/or size in the middle of a sentence but still doesn't justify writing an entire class. How about we add to the functions:

<?php

function TDOut ($message=" ",$colspan=1) {

        PRINT "<TD COLSPAN=$colspan BGCOLOR=\"$this->bgcol\" ".
                "ALIGN=\"$this->align\" VALIGN=\"$this->valign\">";
        $this->TextOut($message);
        PRINT "</TD>\n";

}

?>

Now, we're getting somewhere! Remember, I wanted to have different background colors for my tables. Now I can do this:

<TABLE>
<TR>
<?php

$Theader->TDOut("Name",2);
$Theader->TDOut("Location",3);

?>
</TR>
<TR>
<?php

$Theader->TDOut("Last");
$Theader->TDOut("First");
$Theader->TDOut("City");
$Theader->TDOut("State/Province");
$Theader->TDOut("Country");

?>
</TR>

There. See how the colspan argument works. If it's not declared it defaults to 1. So in the first table row "Name" spans 2 columns and "Location" spans 3. In the second row all of them cover a single column.

原文转自:http://www.ltesting.net