내 개체 중 하나에 재귀 람다 함수가 있으며 개체의 mysqli 연결에 액세스해야합니다. 이 시도람다 함수에서 부모 객체에 액세스하는 방법은 무엇입니까?
$recfunc = function($id, $name) use($this) {
는
Fatal error: Cannot use $this as lexical variable in C:\Users\Codemonkey1991\Desktop\workspace\melior\objects\databasemanager.php on line 88
사람이 나에게 몇 가지 포인터를 제공 할 수 불합리한 치명적인 오류
를 생산?편집 : 그냥 컨텍스트를 명확히하기 위해 다른 함수 안에이 람다 함수를 만들려고합니다. $this
에 대한 참조를 명시 적으로 람다 함수에 전달 될 필요가 없다
$host = $this;
$recfunc = function($id, $name) use ($host) { ...
안녕하세요, 추가 질문 : 함수 자체가 호출되도록하려면 어떻게해야합니까? – Hubro
'$ recfunc = function ($ id, $ name) ($ 호스트, & $ recfunc) {if (FOO) return $ recfunc ($ id, $ name); }' –
이 오류에 대한 bugs.php.net 보고서를 확인한이 기능은 PHP 5.4에 추가되었습니다. –