2

序章

各ページが読み込まれるたびにアクセスしたい値があります。それらにアクセスするために 2 つの異なるアプローチを取ることができますが、どちらが「優れている」かはわかりません。既に実装されている 3 つの例は、ここで説明する言語、URI、および表示テキストのいくつかのオプションです。

言語

現在、このように構成されています:lang()引数に応じて異なる値を返す関数です。

例:lang("full")現在の言語「英語」をlang()出力し、現在の言語の省略形「en」を出力します。lang("select")、 など、さまざまなものを出力するオプションが他にもたくさんありますlang("selectact")。コードが長すぎて、ケースとは無関係なので、誰かがそれを望むなら、それを求めてください.

URL

$Url 配列も、リクエストに応じて異なる値を返します。配列全体は、ページの先頭で完全に定義され、現在のページの短くて正確なリンクを取得するために使用されます。

例: echo $Url['full']「http://mypage.org/path/to/file.php?page=1」と出力し、 echo $Url['file']「file.php」と出力します。action=""フォーム内や他の多くのものに役立ちます。$Url['folder']、などにはさらに多くの値があります$Url['file']。コードについても同じことが必要な場合は、リクエストしてください。

文章

[このセクションはスキップできます]

$Url と同じ方法で定義される $Text という別の配列があります。配列全体が最初に定義され、mysql 呼び出しを行い$Text[$i]、現在のページのすべてを while ループで定義します。これが単一の mysql セルに対する複数の呼び出しよりも効率的かどうかはわかりません。

例: echo $Text['54']「これは単なるテスト配列です!」と出力します。これは、 のような関数で完全に実装できますtext(54)

質問

3 つの例を見ると、ほぼ同じ機能を実行するためにさまざまな方法を使用していることがわかります (しゃれは意図していません)。必要なものを出力するために、呼び出された関数と呼び出さurl()れた他の関数を作成できます。text()そのような場合は関数を使用する方が良いと思いますが、理由はわかりません。ですから、ご意見やアドバイスをいただければ幸いです。

説明した方法で配列と関数を混合する必要がありますか、それとも単に関数を使用する必要がありますか?

これに基づいて答えてください:

  • ソースは、他の開発者が読み取り可能再利用可能である必要があります
  • リソース消費(処理、時間、メモリ)。
  • コードは短いほどよい。
  • 理由を説明すればするほど良い。

ありがとうございました

PS、これで $Url と $Uri の違いがわかりました。

4

2 に答える 2

2

配列表記を使用してあいまいな関数を実装しているようです。通常、これらはメソッドを持つクラスになります。$url['full']になります$url->getFullPath()。メソッドは文書化されており、IDEによってイントロスペクトできるため、アレイアクセサーよりもメソッドの方が優先されます。(例では)情報を遅延ロードできるため、オブジェクトの方が適しています。現在、スクリプトは$Url配列をコンパイルし、スクリプトで使用できるように、考えられるすべてのキーの値を計算しています。一方、$requestオブジェクトは要求に応じてのみ解析を実行でき、インスタンス化は実行できませんでした。

于 2012-04-04T23:20:48.093 に答える
0

config array var のようなものを使用しています。文字列を設定する場所。$LBL["hello"]='Hi!'より後で読むのに適していますlbl(5)。1 年後に自分のコードに戻るときのことを考えてみてください :)

于 2012-04-04T23:27:39.077 に答える