静态函数的返回类型声明中的问题-PHP7.0.0
我在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
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"