Apa yang \
dilakukan di PHP?
Misalnya, CSRF4PHP memiliki \FALSE
, \session_id
, dan \Exception
:
public function __construct($timeout=300, $acceptGet=\FALSE){
$this->timeout = $timeout;
if (\session_id()) {
$this->acceptGet = (bool) $acceptGet;
} else {
throw new \Exception('Could not find session id', 1);
}
}
php
namespaces
opcode
opcache
Alfred
sumber
sumber
Jawaban:
\
(backslash) adalah pemisah namespace di PHP 5.3.A
\
sebelum awal suatu fungsi merepresentasikan Global Namespace .Menempatkannya di sana akan memastikan bahwa fungsi yang dipanggil dari global namespace, bahkan jika ada fungsi dengan nama yang sama di namespace saat ini.
sumber
php backslash
yang menuntun saya ke sebuah artikel tentang kegagalan memilihnya sebagai pemisah namespace, laluphp namespace
mendapatkan saya dokumentasi.Ruang nama
Dalam PHP 5.3+
\
simbol backslash digunakan dalam ruang nama. Ini adalah simbol awal untuk menunjukkan namespace dan juga berfungsi sebagai pemisah antara nama-nama sub-namespace.Lihat dokumentasi resmi tentang penempatan nama .
Opcache
Selain itu di PHP 7.0+ beberapa fungsi diganti dengan opcodes oleh OPCache , yang membuat fungsi spesifik ini berjalan jauh lebih cepat. Namun ini hanya berfungsi ketika fungsi ditempatkan di namespace root. Lihat diskusi ini tentang topik ini. Jadi selain namespacing,
\
secara tidak langsung juga mempengaruhi optimasi kode.Fungsi asli berikut mendapat manfaat dari efek ini:
sumber
Untuk memperjelas potensi kebingungan:
Garis miring terbalik tidak menyiratkan warisan kelas .
Dalam berikut,
Animal
,Dog
,Shepherd
tidak harus kelas, tetapi hanya ruang nama . Berarti sesuatu yang digunakan untuk mengelompokkan nama bersama untuk menghindari penamaan tabrakan .\
Sarana utamaAnimal
dinyatakan dalam ruang lingkup global.sumber
Ini
\
digunakan dalam PHP 5.3 untuk ruang nama. Lihat http://www.php.net/manual/en/language.namespaces.rationale.php untuk informasi lebih lanjut tentang ruang nama dan PHP.sumber