クローニングオブジェクトを使用単一のファイルを扱うにはそれぞれを、どのように思いますか。
質問
またラッパることを解析しデータファイル、または既存のwebツールです。しかし、私は大型のデータファイルできませんの負荷の全体のことをメモリにロードしていを歩きな負荷が小さな塊.既存のwebツールを期待のデータと同じような感SimpleXML($obj->parentnode->childnode->childnode文字列を返しますまたはノードオブジェクトの並べ替え).ある構造はXMLの書式です。やまだひさしをはじめとするだけですので、sane形式やむを得ない事情で.くらいなので見習いのです。
として歩くのファイルをいれる必要のある構文解析のツリーにサブノードの名前、現在のノードです。各サブノードの名前と関連するオフセットに格納されますの親ノードです。の場合内容サブノードが必要なアクセスの親ノードオブジェクトのクローニング、オフセット値が更新され、サブノードオブジェクトの構文解析を開始でコンテンツまでに発見された、要求されたsubnode.
の質問をしてい:
- クローニングを親ノードオブジェクトま子のクローンにファイル。すべてのクローンの取扱い、使用fseekジのファイルがすでに存在する場合、必要なことになるかわいらしい大きな場合)?
- いファイルのcloseは?やすごみコレクションの終了スクリプトの実行内です。何が危険ないんだ?
- また必要を取り扱う各クローンに、あるいはこだわしていきたという。その場合は上限はありま?
- があるのでよく使われている方法でクローニングオブジェクトへの参照を保持するオブジェクト?ていただく場合の取扱いに近のオブジェクトのデストラクタはんのある場合、オブジェクトがクローン.れることができる以上を有効に配置できるでしょう。,ある。
解決
あなたはクローンとしてそれをflagginプロパティを設定し、または親を保持しているプロパティを設定するようにオブジェクトのクローンを作成するとき、あなたがやりたいことができ__clone
メソッドを実装する場合。
の編集の
public function __clone()
{
$clone = clone $this;
$clone->isCloned = true;
$clone->parent = $this;
$clone->resource = $this->resource; // i dont think resources are copied be default
// additional property transference
return $clone;
}
所属していません StackOverflow