Según el título, ¿hay un equivalente en PHP de __name__ == "__main__"
?PHP equivalente de Python's __name__ == "__main__"?
¿Hay algo que funcione tanto para los scripts ejecutados a través de la línea de comando como a través de una solicitud web, o se necesitaría una función personalizada?
Para quienes no estén familiarizados con Python, __name__ == "__main__"
le permite definir un archivo de módulo, y también tiene algunas cosas que le permiten ejecutarlo si es el punto de entrada. La estructura equivalente en PHP se parecería a esto:
// 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
Nota: Respuesta zerkms' es el mejor, pero no está del todo bien - Se debería leer:
if (!debug_backtrace()) {
// do useful stuff
}
Este es significativamente más rápido que! count (debug_backtrace()), que en sí mismo es aproximadamente el doble de rápido que mi solución que involucra a realpath().
¿qué ocurre con mi respuesta y conteo (debug_backtrace())? – zerkms