%s、%1 $ sなどの意味は何ですか?[閉まっている]


14

Q&Aスレッドから、古いものに出会うようになりましたが、怖いのですが、私はまだそれらの意味がわからず、それらを使用する理由がわかりません。

  • %1$s -(ウィジェットIDのロードが見つかりました)
  • %2$s -(ウィジェットクラスをロードすることが判明)
  • %s-(ここにあります

そして、次のことはどのように機能しますか?コード形式の説明は何ですか?

  • !Website::getThemeOption("format_post/{$post_format}/content/hide")):-(ここにあります
  • if( !wp_verify_nonce( $_POST['my_noncename'] ) plugin_basename( __FILE__ ) ) return;-(ここにあります

この質問はどんどん続きます...、私は知っています。しかし、このようなことはどこでも明確に説明されていません。私は、彼らの意味と目的だけでなく、彼らの動機とそれらがどのように機能するかを理解できるように、いくつかの内部/コアの説明が必要です。

また、そのようなことがCodexで既に明確に定義されている場合は、読みたいと思います。そして、そのようなリストが既に整理されている場合、そのような奇妙なもののリストを持っているのが大好きです。


3
これはすべて単純なPHPです。を参照してくださいsprintf()
FUXIA

Codexは、WordPress固有のドキュメントを提供するために存在します。PHPプログラミングを教えることを意図したものではなく、質問はすべてPHPプログラミングに関するものです。PHPのドキュメントはphp.netにあり、多くのPHP初心者向けチュートリアルはGoogleを使用して見つけることができます。
ベンミラー-モニカの復活

2
@BenMiller:しばらくお待ちください。toschoのコメントの前に、私は質問の位置についても知りません。Daveの答えで、今はほぼ明らかです。
マイエンウルイスラム

@MayeenulIslam、私は単にあなたがコーデックスでそのような説明を見つけられない理由を説明しようとしていました。せっかちな人に出くわしてすみません。
ベンミラー-モニカの復活2013年

回答:


11

これは実際には一般的なPHPプログラミングの質問であり、そのために閉じられる可能性があります。しかし、それが起こる前に、あなたのためにこれのいくつかを明確にできないかどうか見てみましょう。

%記号で始まる文字列は「printf形式」です。たとえば、%2$s「このトークンを2番目のパラメーターに置き換え、文字列のように扱う」に変換されます。

のような文字列内の波括弧で変数を見るとき"Today is {$day}"、それは変数を波括弧なしでそこに置くことと同じ"Today is $day"です。しかし、このように変数をフォーマットすると目立つので、そこに変数があることはより明確です。また、変数名の隣にある他の文字が名前の一部として解釈されるのを防ぎます。中括弧がなければ、PHPは何をすべきかを知ってい"Your robot name would be {$firstName}Number5"ますか?それは見るであろう"$firstNameNumber5"と、$ firstNameNumber5の代わりに、単に$ firstNameという名前の変数を探します。

最後の例で何を聞いているのか分かりません。それは__FILE__あなたが混乱していますか?これは、コードのビットが入っているファイルへのフルパスに置き換えられるPHPマジック定数です。


閉じられる前に、最後の簡単なものだけをご覧ください!Website::。なぜそこに二重コロンがあるのですか?
マイエンウルイスラム

2
::関係しているオブジェクト指向プログラミング -の場合にはWebsite::getThemeOption、あなたが機能呼び出しているgetThemeOptionクラスに属しますWebsite
パットJ

2
また:{$var}PHPのようなものを区別するのに役立ちます{$complete_variable_name}{$prefix}_rest_of_name、例えば。
パットJ

FIY二重コロンは、クラスの静的またはオーバーライドされたメソッドとプロパティにのみアクセスするために使用されます。使用する通常のメソッド->例:$ myObject-> someMethod();
ed-ta
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.