RE: [PHP] Confused About Classes
| From: | Rick Emery | Date: | Mon, 25 Mar 2002 15:57:46 +0000 |
| Subject: | RE: [PHP] Confused About Classes | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-90038@lists.php.net to get a copy of this message | ||
However, startElementHandler() is not be called in a class context.
According to the manual for xml_set_element_handler():
"There is currently no support for object/method handlers."
-----Original Message-----
From: arti [mailto:bpoff@artechnology.com]
Sent: Monday, March 25, 2002 9:43 AM
To: php-general@lists.php.net
Subject: Re: [PHP] Confused About Classes
No, the only thing I supplied is the class. The startElementHandler IS a
function in the class.
"Rick Emery" <remery@excel.com> wrote in message
news:EAA093B474ABD311A71E00508B5FE08305C2D374@adntex03.us.excel.com...
> > 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
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php