mlavwilson Posted October 8, 2006 Share Posted October 8, 2006 I have the following code that works great on my 5.1.2 local instance, then when I deploy it to my goDaddy server which is running 4.3.11, the $league varable does not contain any coaches that the FranchiseHandler created. I know the sax parse is working (see: http://www.ffauthority.com/modules/projection/parse.php), because the echo is displaying the ids. However the $league varable seams to have messed up scope on hte 4.3.11 instance, aAny ideas?[code]<?phpif (!defined("XOOPS_ROOT_PATH")){ die("XOOPS root path not defined");}require (XOOPS_ROOT_PATH."/class/ff/League.php");require (XOOPS_ROOT_PATH."/class/snoopy.php");require (XOOPS_ROOT_PATH."/class/xml/saxparser.php");require (XOOPS_ROOT_PATH."/class/xml/xmltaghandler.php");class MflParser{ var $version = "1.0.0"; var $xml; var $league; function doParse($leagueId) { $this->league = new League($leagueId); $file = "http://football.myfantasyleague.com/2006/export?L=".$leagueId."&TYPE=league"; $snoopy = new Snoopy(); if (!$snoopy->fetch($file) || !$snoopy->results) { $this->_setErrors('Could not open file: '.$file); if (!empty ($snoopy->error)) $this->_setErrors("Snoopy status=".htmlspecialchars($snoopy->error)); if ($snoopy->timed_out) $this->_setErrors("Timed out"); } $this->xml = $snoopy->results; $leagueParser = new Mfl2Parser($snoopy->results, $this->league); if (!$leagueParser->parse()) { $this->_setErrors($this->_parser->getErrors(false)); unset ($leagueParser); return false; } }}class Mfl2Parser extends SaxParser{ var $league; function Mfl2Parser($input, &$league) { $this->SaxParser($input); $this->useUtfEncoding(); $this->addTagHandler(new FranchiseHandler()); $this->league = $league; }}class FranchiseHandler extends XmlTagHandler{ function FranchiseHandler() { } function getName() { return "franchise"; } function handleBeginElement($parser, $attributes) { $coach = new Coach($attributes["id"], $attributes["name"]); $parser->league->coaches[$coach->id] = $coach; echo $attributes["id"] . "-" . $attributes["name"]; }}?>[/code][code]<?phpclass League{ var $id; var $coaches = array(); function League($id) { $this->id = $id; }}class Coach{ var $id; var $name; var $players = array(); function Coach($id, $name) { $this->id = $id; $this->name = $name; }}class Player{ var $id; var $internalId;}?>[/code] Link to comment https://forums.phpfreaks.com/topic/23351-a-problem-with-php-4311-and-php-512-object-reference-solved/ Share on other sites More sharing options...
mlavwilson Posted October 8, 2006 Author Share Posted October 8, 2006 *bump* Link to comment https://forums.phpfreaks.com/topic/23351-a-problem-with-php-4311-and-php-512-object-reference-solved/#findComment-106031 Share on other sites More sharing options...
ToonMariner Posted October 9, 2006 Share Posted October 9, 2006 this may be completely off the map - but does your godaddy server allow teh short php tags '<?'as that is the opening tag of an xml declaration - so there may be some conflict Link to comment https://forums.phpfreaks.com/topic/23351-a-problem-with-php-4311-and-php-512-object-reference-solved/#findComment-106049 Share on other sites More sharing options...
mlavwilson Posted October 9, 2006 Author Share Posted October 9, 2006 *bump*It seams that the scope of the $league varable gets lost when the parser returns. This is driving me crazy! Link to comment https://forums.phpfreaks.com/topic/23351-a-problem-with-php-4311-and-php-512-object-reference-solved/#findComment-106201 Share on other sites More sharing options...
mlavwilson Posted October 9, 2006 Author Share Posted October 9, 2006 *bump* Link to comment https://forums.phpfreaks.com/topic/23351-a-problem-with-php-4311-and-php-512-object-reference-solved/#findComment-106278 Share on other sites More sharing options...
mlavwilson Posted October 9, 2006 Author Share Posted October 9, 2006 *bump* Link to comment https://forums.phpfreaks.com/topic/23351-a-problem-with-php-4311-and-php-512-object-reference-solved/#findComment-106386 Share on other sites More sharing options...
mlavwilson Posted October 10, 2006 Author Share Posted October 10, 2006 My problem was this line:[code]$this->league = $league;[/code]It needed to be:[code]$this->league = & $league;[/code] Link to comment https://forums.phpfreaks.com/topic/23351-a-problem-with-php-4311-and-php-512-object-reference-solved/#findComment-106869 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.