无法使用 PHP 的 WebORB 从另一个实例化类/方法返回值
我正在尝试将 WebORB 用于 PHP。
/weborb/ 文件夹已复制到我的 Web 根目录中,我可以通过 /weborb/index.php 访问控制台。
我已将测试应用程序复制到 /weborb/_Services/Test/Main.php 中。文件内容如下:
<?php
require_once '/home/user/www/MyClass.php';
class Main
{
public function testMethod($str)
{
return $this->MyClass->myMethod($str);
}
}
?>
“/home/user/www/MyClass.php”的文件内容是:
<?php
class MyClass
{
public function myMethod($str)
{
return $str;
}
}
$MyClass = new MyClass();
?>
当我尝试通过控制台传递字符串时,只是说“通道已断开”。 error_log 中也没有记录任何内容。如果我替换:
return $this->MyClass->myMethod($str);
..with..
return $str;
..它有效!我只是希望能够调用其他实例化的类/方法。
I'm trying to use WebORB for PHP.
The /weborb/ folder has been copied into my web root and I can access the console via /weborb/index.php.
I've copied my test application into /weborb/_Services/Test/Main.php. The file contents is as follows:
<?php
require_once '/home/user/www/MyClass.php';
class Main
{
public function testMethod($str)
{
return $this->MyClass->myMethod($str);
}
}
?>
The file contents of "/home/user/www/MyClass.php" is:
<?php
class MyClass
{
public function myMethod($str)
{
return $str;
}
}
$MyClass = new MyClass();
?>
When I try to pass a string via the console is just says "Channel disconnected". There's nothing being logged into the error_log either. If I replace:
return $this->MyClass->myMethod($str);
..with..
return $str;
..it works! I simply want to be able to call other instantiated classes/methods.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
问题是您没有在
Main
类中声明或实例化MyClass
试试这个,它应该可以工作。
在您的 MyClass.php 文件中,您不需要创建变量 $MyClass,它是无用的。它将超出任何其他脚本的范围。只需定义类即可,然后使用此类来创建新对象,如上面的示例所示。
Problem is that you are not declaring nor instantiating
MyClass
in yourMain
classTry this, it should work.
In your MyClass.php file you do not need to create variable $MyClass, it is useless. It will be out of the scope for any other script. Just define the class and that is it, then use this class to create new objects, like in example above.