日期:2014-01-09  浏览次数:20592 次

Classes and PHP

Great, now what to we do with it? I'm glad you asked. We need to create a few more functions within Style to actually accomplish anything. The first thing I'd like to do is set up my page body so I did this:

<?php

function Body() {

        PRINT "<BODY BGCOLOR=\"$this->bgcol\" ".
                "TEXT=\"$this->text\" ".
                "LINK=\"$this->link\" VLINK=\"$this->vlink\" ".
                "ALINK=\"$this->alink\"><FONT ".
                "FACE=\"$this->face\" SIZE=$this->size>\n";

}

?>

This sets up the page body for us. It also illustrates a new variable "$this." When used inside of a class function it lets the interpreter know we are referring to a variable of THIS instance. In other words, it's assigned the value of the name of the instance in the calling line (e.g. $this would be == $Basic when $Basic->Body() is the calling statement.) Also, notice we are doing something here that's much simpler than is possible in regular functions. We're referring to variables that were not passed to the function. Remember, all functions and variables of an instance are available to all functions of that instance. To do this with regular functions you'd have to set up several global arrays.

Try this in your php script (assuming you've included the Style class, created the style objects above and sent the <HTML> and <HEAD></HEAD> tags):

<?php $Basic->Body(); ?>

Now, we're ready to print something out. We could do it the old fashioned way, but I'm going to do something different... that's right another function:

<?php

function TextOut($message=" ") {

        PRINT "<FONT FACE=\"$this->face\" ".
                "SIZE=$this->size COLOR=\"$this-> ".
                "text\">$message</FONT>\n";

}

?>