PHP에서 magic function __call()은 클래스에서 사용됩니다. 유사한 마법 함수가 있지만 함수 대신 있습니까? __autoload()는 함수 용입니다. 이함수에 대한 매직 함수 __call()?
function __call($name, $arguments) {
echo "Function $name says {$arguments[0]} ";
}
random_func("hello");
PHP에서 magic function __call()은 클래스에서 사용됩니다. 유사한 마법 함수가 있지만 함수 대신 있습니까? __autoload()는 함수 용입니다. 이함수에 대한 매직 함수 __call()?
function __call($name, $arguments) {
echo "Function $name says {$arguments[0]} ";
}
random_func("hello");
아니 같은
예를 들어 뭔가, 나는 그런 마법 기능이있는 생각하지 않습니다. 이것에 대한
한 가지 해결 방법은 정적 클래스로 기능을 넣어, 그 클래스에 __callStatic
마법 방법을 추가하는 것입니다 (> PHP 5.3 만, 난 두려워) : PHP <를 들어
class Func
{
/** As of PHP 5.3.0 */
public static function __callStatic($name, $arguments)
{
// Note: value of $name is case sensitive.
echo "Calling static method '$name' "
. implode(', ', $arguments). "\n";
}
}
Func::random_func("hello!");
5.3에서도 같은 일을 할 수 있지만 객체를 인스턴스화하고 __call
마법 메서드를 사용해야합니다. 치명적인 오류 것이다 항상 결과를 존재하지 않는 함수를 호출
$Func = new Func;
$Func->random_func("hello!");
번호.
** 아마도 zend 확장 프로그램이 fcall_begin_handler
으로이를 가로 채기는하지만 확실하지 않습니다.