【发布时间】:2011-07-19 19:04:57
【问题描述】:
我是 PHP 新手,想就以下情况获得一些建议:
我有一个文件,我在其中解析一个 XML 文件。我的策略是创建一个“parser.php”文件。然后为 XML 文件中的每个标签创建单独的文件。这些单独的文件中的每一个都是一个类,在实例化时将存储该特定标签的所有属性。
我在解析器中有几个循环,它们在遇到标记时实例化与标记对应的类。循环完成后,该对象将被插入到全局数组中。
代码如下:
<?php
include ('class.Food.php');
include ('class.Drink.php');
$xml = simplexml_load_file("serializedData.xml");
//Global Variables==============================================================
$FoodArray = array();
$DrinkArray = array();
$FoodObj;
$DrinkObj;
foreach($xml->children() as $child)
{
//Instantiate a Food object here and insert into the array
$FoodObj = new Food();
//Add attributes of tag to the Food object
array_push($FoodArray, $FoodObj);
}
因此,在每个循环结束时,都会创建一个食物对象并将其添加到 FoodArray。
我的问题是:
- 是否必须在循环结束时显式调用析构函数或释放对象内存?
- 使用上述语法,FoodObj 将作为引用或值存储在 FoodArray 中
- 每次变量 Food 存储一个不同的实例时,存储在数组中是否重要?存储在数组中的所有对象都按索引号对吗?
谢谢
【问题讨论】: