Jump to content

A problem with PHP 4.3.11 and PHP 5.1.2 object reference (SOLVED)


mlavwilson

Recommended Posts

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]
<?php
if (!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]
<?php

class 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
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.