我很難獲得psysh來實例化類。在psysh中實例化類的困難
我想使用PSR-4命名空間,並註冊了PSR-4自動加載在作曲是這樣的:
"autoload": {
"psr-4": {
"System\\": "phpclasses/"
}
},
有一個在phpclasses類\ test.php的,類名Test
採用名爲hello()
的靜態方法。
我打開命令shell,啓動psysh,psysh似乎正常工作。
如果我嘗試運行Test::hello();
它會失敗,除非我把它稱爲這樣第一:echo System\Test::hello();
這實際上失敗,與消息:
PHP Fatal error: Class 'System\Test' not found in eval()'d code on line 1
但我可以成功運行:echo Test::hello();
echo System\Test::hello();
絕不會工作
我試過使用System;
和使用System\Test;
沒有有益的影響。
我使用的每個類都必須經過這個例程,這是一種拖拽,因爲某些類使用靜態方法,並且每個類只有在每個類都經歷了失敗優先例程時才起作用。
基本上相同的技術必須用於靜態或非靜態方法。
我在Windows 10,xampp(php 5.6),作曲家(當前)安裝的命令外殼中運行psysh。
對於我在做什麼錯誤或需要改變的任何建議?
優秀的解釋。 感謝您花時間回答。 並感謝您編寫psysh! – Kurt