php no nanikore unco
たまに他の言語やるとイテレータがないのと中途半端なオブジェクト指向にむかついてくるわけだが。
$doc = domxml_open_mem($template); // $template は xml な文字列が入った変数。
$xpc = xpath_new_context($doc);
foreach ($ns as $prefix => $uri) { // $ns は prefix と namespace の連想配列
$xpc->xpath_register_ns($prefix, $uri);
}
$xns = $xpc->xpath_eval("/rdf:RDF/cc:Work/dc:title");
$ele = $xns->nodeset[0];
$ele->append_child($doc->create_text_node("test"));
/*
上記3行を
$xpc->xpath_eval("/rdf:RDF/cc:Work/dc:title")->nodeset[0]->append_child($doc->create_text_node("test"));
と書きたい。
*/
いちいち変数名考えるのがダルい。
あと domxml_open_mem() と xpath_new_context() とかが並んで使えるのもなんか違和感あるんだよなぁ。ネームスペースないってことはモジュール間で名前がコリジョンしたらどうするんだろ。特に include とかしなくても使えるし……謎だ。自分で定義した関数がたまたまモジュールで定義されてたらエラーでるし(php は関数の再定義も無理)あるモジュールを有効にした環境と、無効にした環境でエラーがでたりでなかったりもするんだろうか?
関連エントリー
- php no nanikore unco たまに他の言語やるとイテレータがないのと中途半端なオブジェクト指向にむかついてくるわけだが。 $doc = domxml_open_mem(...
- Ruby or PHP ある関数の比較 function _load_flavors() { $xns = $this->_xpc->xpath_eval("/co...
- てきとう E4X どうにも使い道が少ない E4X をちょっとメモる。 基本的に XPath (の省略記法) に似ているので、相違点とかあげつつみたいな。XPa...
- SVGフォントのグリフを個別のSVG画像に変換する [tech] JavaScript の必要ないソーシャルボタン | Fri, Apr 15. 2016 - 氾濫原 これを作るとき、最初のう...
- New version of $X コピペメモ 今までの $X は evaluate を二回する問題があってダサいので、使い勝手をそのままにしつつ新しくして使いはじめました。 ...