Hi. Can someone please put me out of my misery on this. I don't write much PHP and this has me baffled. I've probably work myself into the wrong mindset with the time I've spent on this. What's happening is that I've written a class containing some functions that work fine until I try to call other functions from within them. These functions don't seem to get executed.
The following example demonstrates this:
pagetest.php Line number On/Off | Expand/Contract <html> <head> <title>Using Classes in PHP</title> <META NAME="keywords" CONTENT="PHP, Classes"> </head> <body> <?php include "Page.class"; $Sample = new Page; $Content = "<P>This page was generated by the Page Class example.</P>"; $Sample->SetContent($Content); $Sample->Display1("Test1: "); #$Sample->Display2("Test2: "); #$Sample->Display3("Test3: "); ?> </body></html>
Page.class Line number On/Off | Expand/Contract <?phpclass Page { var $Content; function Display1($text) { echo "Display1 - " . $text . $this->Content . "n"; } function Display2($text) { echo "Display2 - " . _getContent($text) . "n";; } function Display3($text) { _showContent($text); } function SetContent($text) { $this->Content = $text; } function _getContent($text) { return $text . $this->Content; } function _showContent($text) { echo "_showContent - " . $text . $this->Content . "n"; } }?> Executing pagetest.php in a browser, with Page.class as shown, works fine and produces the following HTML: <html> <head> <title>Using Classes in PHP</title> <META NAME="keywords" CONTENT="PHP, Classes"> </head> <body>
Display1 - Test1: <P>This page was generated by the Page Class example.</P> </body>
</html>
However, if either or both of the lines #$Sample->Display2("Test2: "); #$Sample->Display3("Test3: "); is/are uncommented and the script is rerun, the following is produced: <html> <head> <title>Using Classes in PHP</title> <META NAME="keywords" CONTENT="PHP, Classes"> </head> <body>
Display1 - Test1: <P>This page was generated by the Page Class example.</P>
indicating that the script has terminated prematurely.
Is this a limitation of PHP or have I made some stupid mistake (I suspect the latter)?