Başlık başı olarak, PHP eşdeğer olduğunu __name__ == "__main__"?
Komut satırından ve bir web isteği ile idam hem komut için çalışacak bir şey var mı, ya da özel bir işlev ihtiyaç olacaktır?
Python aşina olanlar için, __name__ == "__main__" Eğer bir modül dosyası tanımlamak ve aynı zamanda giriş noktası ise bunu çalıştırmak için izin veren bazı şeyler var sağlar. PHP eşdeğer yapı bu benzeyecektir:
// SomeClass.php
<?php
class SomeClass
{
function doStuff() {
echo "wahey!\n";
}
}
// python, I know.
if (__name__ == "__main__") {
$sc = new SomeClass;
$sc->doStuff();
}
?>
// OtherClass.php
<?php
require_once("SomeClass.php");
class OtherClass
{
public $yep;
}
?>
// command line:
php SomeClass.php // outputs "wahey!"
php OtherClass.php // outputs nothing
Note: zerkms' answer is the best, but is not quite right - it should read:
if (!debug_backtrace()) {
// do useful stuff
}
Bu yaklaşık iki kat daha hızlı realpath içeren benim çözüm () gibi olan kendisi! Sayımı (debug_backtrace ()) çok daha hızlı.