ご存知のとおり、php はサーバーサイドに埋め込まれた HTML スタイルのスクリプト プログラミング言語です。ただし、埋め込み HTML を使用して Web サイトを構築すると、コードはすぐに巨大になり制御不能になります。 php コードを html から分離し、dw のような lib (テンプレート) を作成して、ページの変更とコードの保守を容易にするにはどうすればよいでしょうか?
その後、phplib でそれが実現できるという記事をたくさん読みましたが、数ページ読んでめまいを感じて、急にそれ以上読む気が失せました。しかし、問題はまだ解決する必要があります。偶然、vbb フォーラムのソースコードをダウンロードできました。ざっと調べたところ、php ファイル以外には html コードがほとんどないことがわかりました。これは私が望むスタイルではないかと思いました。唯一の利点は、HTML コードをデータベースに配置し、一連の処理の後に eval 関数を使用してそれを呼び出すことです。生成された動的ページに必要な変数を取り込みます。このようにして、vbb のソース コードを見るのをやめて、eval 関数に切り替えました。 PHP の中国語マニュアルでは、次のように eval 関数が紹介されています。
関数: eval()
その他の関数ライブラリ
eval
文字列に値を代入するの間で。
構文: void eval(string code_str);
戻り値: なし
関数の種類: データ処理
内容の説明
この関数は文字列内の変数値を置き換えることができ、通常はデータベース データを処理するために使用されます。パラメータ code_str は、処理される文字列です。処理される文字列は PHP の文字列形式に準拠している必要があり、末尾にセミコロンが必要であることに注意してください。この関数を使用して処理された文字列は、PHP プログラムが終了するまで継続されます。
使用例
以下は引用内容です:
$str = 'この $string には $name が含まれています。 eval( "$str = "$str";" ); echo $str;?> |
以下为引用的内容:
|
このカップにはコーヒーが入っています。
以下为引用的内容:
|
以下は引用内容です:
$aa='私の名前は yyy です!'; $str='';eval( "$str = "$str";" );
|
以下は引用内容です: <🎜>$aa='私の名前は yyy です!';<🎜>$str=' ';eval( "$str = "$str";" );echo $str;?> |
以下は引用内容です: CREATE TABLE envtest ( id tinyint(4) NOT NULL auto_increment, sour mediatext, PRIMARY KEY (id), UNIQUE id (id), KEY id_2 (id )) |
以下は引用内容:
|
以下为引用的内容:
|
以下は引用内容: $aa='私の名前は yyy です!'; $conn=mysql_connect('localhost','root',''); $sele=' envtest からサワーを選択します (id=1'; $res=mysql_db_query('evaltest',$sele); $arra=mysql_fetch_array($res); $str=$arra[ '酸っぱい']; eval( "echo "$str";" ); ?>
|
|
以下は引用内容:
$aa='私の名前は yyy です!'; $conn=mysql_connect('localhost','root',''); $sele=' envtest からサワーを選択します (id=1'; $res=mysql_db_query('evaltest',$sele); $arra=mysql_fetch_array($res); $str=htmlspecialchars($ arra['sour']); eval( "echo "$str";" ); ?> |
以下为引用的内容:
|
以下は引用内容:
|
以下为引用的内容:
|
以下は引用内容: |
以下は引用内容です:
$str=str_replace('"','"',$str); $str=str_replace('<','<',$str);$str=str_replace('>','>',$str); $str=str_replace('&','&',$str); } $aa='my名前は yyy です!'; $conn=mysql_connect('localhost','root','');$sele='select sour from envtest where id=1 '; $res=mysql_db_query ('evaltest',$sele);$arra=mysql_fetch_array($res); ?> |