Theo tiêu đề, có PHP tương đương với __name__ == "__main__"
không?PHP tương đương với Python __name__ == "__main__"?
Có điều gì đó có thể hoạt động đối với cả hai tập lệnh được thực thi thông qua dòng lệnh và thông qua yêu cầu web hoặc chức năng tùy chỉnh có cần thiết không?
Đối với những người không quen thuộc với Python, __name__ == "__main__"
cho phép bạn xác định tệp mô-đun và cũng có một số thứ cho phép bạn chạy nó nếu đó là điểm vào. Cấu trúc tương đương trong PHP sẽ giống như thế này:
// 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: Câu trả lời zerkms' là tốt nhất, nhưng không phải là hoàn toàn đúng - nó nên đọc:
if (!debug_backtrace()) {
// do useful stuff
}
Đây là nhanh hơn đáng kể so với số đếm (debug_backtrace()), bản thân nó nhanh hơn gấp đôi so với giải pháp của tôi liên quan đến realpath().
câu trả lời và số đếm của tôi (debug_backtrace()) là gì? – zerkms