% 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;-( 여기 에서 찾았 습니다 )

이 질문은 계속 될 수 있습니다. 그러나 이와 같은 것은 어디에서나 명확하게 설명되지 않습니다. 나는 그들의 의미와 목적을 원할뿐 아니라 그들의 동기와 작동 방식을 이해할 수 있도록 내부 / 핵심 설명을 원합니다.

또한 코덱스에 그러한 것들이 이미 명확하게 정의되어 있다면 읽어보고 싶습니다. 그리고 그러한 목록이 이미 정리되어 있다면 그러한 호기심 많은 것들 의 목록 을 갖고 싶어합니다.


3
이것은 모두 일반 PHP입니다. 참조하십시오 sprintf().
fuxia

Codex는 WordPress 관련 문서를 제공하기 위해 존재합니다. PHP 프로그래밍을 가르치기위한 것은 아니며 모든 질문은 PHP 프로그래밍에 관한 것입니다. PHP 문서는 php.net 에서 찾을 수 있으며 , 많은 PHP 초보자 튜토리얼은 Google을 통해 찾을 수 있습니다.
벤 밀러-복직 모니카

2
@ BenMiller : 기다려주십시오. toscho의 의견에 앞서, 나는 그 질문의 입장에 대해 모른다. Dave의 답변으로 거의 확실합니다.
Mayeenul 이슬람

@MayeenulIslam, 나는 왜 코덱스에서 그러한 설명을 찾지 못하는지를 설명하려고했습니다. 참을성이 없어서 죄송합니다.
벤 밀러-복직 모니카

답변:


11

이것은 실제로 일반적인 PHP 프로그래밍 질문이며 그 이유로 폐쇄 될 수 있습니다. 그러나 그 일이 일어나기 전에, 당신을 위해 이것의 일부를 지울 수 없는지 봅시다.

% 기호로 시작하는 문자열은 "printf format" 입니다. 예를 들어, %2$s"이 토큰을 두 번째 매개 변수로 바꾸고 문자열처럼 취급합니다"로 번역됩니다.

문자열 안에 중괄호 안에 "Today is {$day}"변수가 보이면, 같은 중괄호없이 변수를 넣는 것과 같습니다 "Today is $day". 그러나 이와 같이 변수를 형식화하면 눈에 띄게 만들어 지므로 변수가 있다는 것이 더 분명합니다. 또한 변수 이름 옆의 다른 문자가 이름의 일부로 해석되는 것을 방지합니다. 중괄호가 없으면 PHP는 무엇을해야하는지 알고 "Your robot name would be {$firstName}Number5"있습니까? 그것은 볼 것 "$firstNameNumber5"대신 단순히 $ firstName을의 $ firstNameNumber5라는 변수를 찾습니다.

마지막 예에서 무엇을 묻고 있는지 잘 모르겠습니다. 그것은되어 __FILE__당신은 혼란있어? 그것은 약간의 코드가 들어있는 파일의 전체 경로로 대체 되는 PHP Magic Constant 입니다.


마지막 간단한 것만 닫기 전에 : !Website::. 왜 이중 콜론이 있습니까?
Mayeenul 이슬람

2
::함께 할 수있다 객체 지향 프로그래밍 의 경우 - Website::getThemeOption, 당신은 함수를 호출하고 getThemeOption클래스에 속하는를 Website.
Pat J

2
또한 : {$var}PHP 같은 것을 구별하는 데 도움이 {$complete_variable_name}{$prefix}_rest_of_name예를 들어,.
Pat J

FIY 이중 콜론은 일반 메소드를 사용하여 클래스의 정적 또는 재정의 된 메소드 및 특성에만 액세스하는 데 사용됩니다.-> 예 : $ myObject-> someMethod ();
ed-ta
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.