Help: arrays in a class
| From: | jazzman at exdomain dot org | Date: | Wed, 28 Jan 2004 15:01:46 +0000 |
| Subject: | Help: arrays in a class | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-176064@lists.php.net to get a copy of this message | ||
Hi all,
I'm having some trouble here and I hope you can help. I'm writing a class
for PHP to help track includes in a c++ source file. My class has 3
member variables:
a filename
file contents
array of files that file includes
The class definition looks like this
class clsfTreeNode
{
//member variables
var $fName;
var $fData;
var $includedFiles;
//constructor
function clsfTreeNode( $fileName )
{
$this->$fName = $fileName;
$this->$fData = file_get_contents($this->$fName);
$this->ParseFile();
print count($this->$includedFiles);
}
function ParseFile();
{
...Long Drawn Out Code Omitted...
}
};
Here's the problem. In ParseFile I call the function:
array_push($this->$includedFiles, $ifName);
where $ifName is the name of an include file I found in the code. However,
I get an error stating the first argument must be an array. So I tried
making the constructor look like this:
function clsfTreeNode( $fileName )
{
$this->$fName = $fileName;
$this->$fData = file_get_contents($this->$fName);
$this->$includedFile = array();
$this->ParseFile();
print count($this->$includedFiles);
}
and that seems to work ok EXCEPT that $fData also becomes an array and
it's contents erased! I've tried moving things around, etc but no matter
where i make $includedFile an array $fData gets screwed up. If I don't
explicitly make $includedFile an array then nothing works anyway.
I'm going out of my mind trying to get this to work, and it shouldn't be
so hard. I'm using php 4.3.4 on a WinXP machine. Any thoughts?
THanks
Marc