まず、私の貧弱な英語のために申し訳ありません:)このスクリプトに関する質問があります。私はこのスクリプトを古いフレームワークに見つけました。私は友達のために使っていますが、このスクリプトをフレームワークなしでは動作させることはできません。その一つのファイルを編集することは彼のために最善であるスクリプトは私のxmlを文字列で使用していません
string.php
<?php
class StringResource{
private $string = array();
public function StringResource($path){
global $lang;
if($lang == null){
$file = $path . 'strings.xml';
if(file_exists($file))
$xml = simplexml_load_file($file);
}else{
$file = $path . 'strings_'.$lang.'.xml';
if(file_exists($file)){
$xml = simplexml_load_file($file);
}else{
$file = $path . 'strings.xml';
if(file_exists($file))
$xml = simplexml_load_file($file);
}
}
if($xml){
foreach($xml->children() as $child) {
if($child->getName() == 'string'){
$attribute = $child->attributes();
$key = (String) $attribute['name'];
$this->string[$key] = (String) $child;
}
}
}
}
public function Get($key){
return $this->string[$key];
}
}
は、私はgettextをなどを使用することができます知っているが、私の友人の知識は非常に低いです。
ここのstrings.xml 私のXMLのサンプル
<?xml version="1.0" encoding="utf-8"?>
<strings>
<string name="menu1">Menu 1 name</string>
<string name="menu2">menu 2 name</string>
....
と私はそれらを使用したいとき、私は{{ST:メニュー1}}を使うので、私は、エコーに対処する必要はありません。 このスクリプトが正しく機能するには何が欠けていますか?置き換えるのと同じようにキーの機能を取得していますか? XMLデータは/path/to/directory/strings.xml
にある場合
$sr = new StringResource("/path/to/directory/");
:
はい申し訳ありませんが、オブジェクトは既に別のファイルに作成されています。 問題は私のPHPと私のHTMLを分離するので、私はtplファイルでPHPコードを使うことができません。 –
'.tpl'ファイルに関する質問には何もありません。私はそれが何であるかわからない、私はそれがテンプレートフレームワークのようなものだと思いますか?フレームワークを使用している場合、それらの詳細を質問に含めてタグを追加すると、それを知っている人に質問が表示されます。 – Barmar
tplはhtmlに似ていますが、PHPコードはありません。 フレームワークについて私はすべてのコメントが削除されたので、何のアイデアもありません。私はcodecanyon上でそのスクリプトを購入し、著者は古いフレームワークを使用し、フレームワークからすべてのコメントを削除するために使用しました。 –