Dari T&J Utas saya datang untuk bertemu dengan beberapa hal lama, tetapi saya khawatir, saya menemukan diri saya dalam kondisi itu, saya masih tidak tahu arti dari mereka dan tidak tahu mengapa harus menggunakannya.
%1$s
- (ditemukan memuat id widget)%2$s
- (ditemukan memuat kelas / kelas widget)%s
- (ditemukan di sini )
Dan bagaimana cara kerja hal-hal berikut? Maksud saya, apa penjelasan format kode?
!Website::getThemeOption("format_post/{$post_format}/content/hide")):
- (ditemukan di sini )if( !wp_verify_nonce( $_POST['my_noncename'] ) plugin_basename( __FILE__ ) ) return;
- (ditemukan di sini )
Pertanyaan ini bisa terus dan terus ..., saya tahu. Tetapi hal-hal seperti ini tidak dijelaskan dengan jelas di mana pun. Saya, tidak hanya menginginkan makna dan tujuan mereka, tetapi menginginkan beberapa penjelasan inti / inti sehingga saya dapat memahami motif mereka dan cara kerjanya.
Dan juga, jika hal-hal seperti itu sudah didefinisikan dengan jelas dalam Codex, saya ingin membacanya. Dan akan sangat senang memiliki daftar hal-hal aneh seperti jika daftar tersebut sudah beres.
sprintf()
.Jawaban:
Ini benar-benar lebih dari pertanyaan pemrograman PHP umum dan mungkin ditutup karena alasan itu. Tetapi sebelum itu terjadi, mari kita lihat apakah saya tidak bisa menjernihkannya untuk Anda.
String yang dimulai dengan tanda% berada dalam "format printf" . Misalnya,
%2$s
diterjemahkan menjadi "ganti token ini dengan parameter kedua, dan perlakukan seperti string".Ketika Anda melihat variabel dalam kurung kurawal di dalam string, seperti
"Today is {$day}"
, itu sama dengan menempatkan variabel di sana tanpa kurung kurawal, seperti"Today is $day"
. Tetapi memformat variabel seperti ini membuatnya menonjol, jadi lebih jelas ada variabel di sana. Itu juga mencegah karakter lain di sebelah nama variabel dari ditafsirkan sebagai bagian dari nama. Tanpa kurung kurawal, apakah PHP tahu apa yang harus dilakukan"Your robot name would be {$firstName}Number5"
? Itu akan melihat"$firstNameNumber5"
dan mencari variabel bernama $ firstNameNumber5 bukan hanya $ firstName.Saya tidak yakin apa yang Anda tanyakan dalam contoh terakhir. Apakah
__FILE__
Anda bingung? Itu adalah PHP Magic Constant yang diganti dengan path lengkap ke file yang berisi sedikit kode.sumber
!Website::
. Mengapa usus ganda ada di sana?::
hubungannya dengan pemrograman berorientasi objek - dalam kasusWebsite::getThemeOption
, Anda memanggil fungsigetThemeOption
milik kelasWebsite
.{$var}
membantu PHP membedakan antara sesuatu seperti{$complete_variable_name}
dan{$prefix}_rest_of_name
, misalnya.