静态函数的返回类型声明中的问题-PHP7.0.0

静态函数的返回类型声明中的问题-PHP7.0.0,php,static-methods,php-7,return-type,Php,Static Methods,Php 7,Return Type,我在PHP7.0.0版本中遇到了静态函数的返回类型声明问题 参考: 请看下面的代码 Following code is working: Non-Static Function <?php $object = new MyClass(); $object->SetName('StackOverflow'); echo($object->GetName()); class MyClass { private $Name; public function S

我在PHP7.0.0版本中遇到了静态函数的返回类型声明问题

参考:

请看下面的代码

Following code is working: Non-Static Function

<?php

$object = new MyClass();
$object->SetName('StackOverflow');
echo($object->GetName());

class MyClass {
    private $Name;

    public function SetName($name) {
        $this->Name = $name;
    }

    public function GetName($name) : string {
        return $this->Name;
    }
}

?>
以下代码正在工作:非静态函数
以下代码不工作:静态函数

<?php

$object = new MyClass();
$object->SetName('StackOverflow');
echo(MyString::Trim($object->GetName()));

class MyClass {
    private $Name;

    public function SetName($name) {
        $this->Name = $name;
    }

    public function GetName($name) : string {
        return $this->Name;
    }
}

class MyString {
    public static function Trim($str) : string {
        return trim($str);
    }
}

?>

分析错误:语法错误,意外“;”在里面 /第20行的home2/ramesh/public_html/test.php


仅在
静态功能
中出现问题,而不是在普通
功能
中出现问题。请帮助我如何实现这一点。

如果您从
GetName()
方法中删除
$name
参数并修复“public class”故障,对我来说效果很好:


public class MyString
的意思是什么?什么是“public class”?如果您从
GetName()
方法中删除
$name
参数并修复“public class”的小故障,对我来说很好…因为您遇到了另一个不相关的错误(根据您发布的内容),我们必须假设上面的代码不是您尝试的实际代码。对不起,这是一个打字错误,我在问题中删除了。请稍等。
<?php

$object = new MyClass();
$object->SetName('  StackOverflow  ');
var_dump(MyString::Trim($object->GetName()));

class MyClass {
    private $Name;

    public function SetName($name) {
        $this->Name = $name;
    }

    public function GetName() : string {
        return $this->Name;
    }
}

class MyString {
    public static function Trim($str) : string {
        return trim($str);
    }
}
string(13) "StackOverflow"