RE: [PHP] Confused About Classes
| From: | Rick Emery | Date: | Mon, 25 Mar 2002 15:39:16 +0000 |
| Subject: | RE: [PHP] Confused About Classes | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-90035@lists.php.net to get a copy of this message | ||
> if ($this->private==FALSE) // <<<<-------- Undefined variable
this
> return;
> }
$this is relevant ONLY within the scope of the class definition.
The above snippet is located OUTSIDE of the class definition.
You must use an object pointer. That is:
$newobj = new standardquestion($filename);
if( $newobj->private==FALSE)
{
}
-----Original Message-----
From: arti [mailto:bpoff@artechnology.com]
Sent: Monday, March 25, 2002 9:33 AM
To: php-general@lists.php.net
Subject: [PHP] Confused About Classes
I am getting the error "Undefined variable this" in my class. I am new to
PHP and presume I am just doing something wrong. But, I don't understand
what it could be as the code looks straightforward to me. Note that I
trimmed out some code to keep this listing from being huge, but the relevant
pieces are included.
<?php
class standardquestion
{
var $private;
function standardquestion($xmlfilename)
{
$this->private=FALSE;
$parser=xml_parser_create();
xml_set_element_handler($parser,
array("standardquestion","startElementHandler"),
array("standardquestion","endElementHandler"));
while ($data = fread($fp, 4096))
{
if (!xml_parse($parser, $data, feof($fp)))
{
die(sprintf("XML error %d %d",
xml_get_currentnode_line_number($parser),
xml_get_currentnode_column_number($parser)));
}
}
}
function startElementHandler($parser, $name, $attribs)
{
if ($name=="private")
$this->private = TRUE;
if ($this->private==FALSE) // <<<<-------- Undefined variable this
return;
}
function endElementHandler($parser, $name)
{
}
}
?>
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php