php 方法重写,参数不同,报错: Declaration of should be compatible with that
2012-03-30 11:41
441 查看
问题详细描述为:https://bugs.php.net/bug.php?id=46851
<?php
abstract class A {
// 方法无参数
public static function foo(){ echo 'bar'; }
}
abstract class B extends A {
// 方法有参数
public static function foo($str){ echo $str; }
}
?>
如上面的代码:类A中的foo方法无参数,类B在继承A后重写foo方法时加入了参数,因此会产生一个类似下面E_STRICT级别的警告:
解决方法:
<?php
abstract class A {
// 方法无参数
public static function foo(){ echo 'bar'; }
}
abstract class B extends A {
// 方法有参数
public static function foo($str = NULL){ echo $str; }
}
?>
类B在重写foo方法时为新加入的参数指定一个默认值即可。
<?php
abstract class A {
// 方法无参数
public static function foo(){ echo 'bar'; }
}
abstract class B extends A {
// 方法有参数
public static function foo($str){ echo $str; }
}
?>
如上面的代码:类A中的foo方法无参数,类B在继承A后重写foo方法时加入了参数,因此会产生一个类似下面E_STRICT级别的警告:
Strict standards: Declaration of ... should be compatible with that of ...
解决方法:
<?php
abstract class A {
// 方法无参数
public static function foo(){ echo 'bar'; }
}
abstract class B extends A {
// 方法有参数
public static function foo($str = NULL){ echo $str; }
}
?>
类B在重写foo方法时为新加入的参数指定一个默认值即可。
相关文章推荐
- Declaration of should be compatible with that
- php 错误 Strict Standards: PHP Strict Standards: Declaration of .... should be compatible with that of 解决办法
- PHP严格模式 Strict standards: Declaration of xxxxxx should be compatible with yyyyyy
- PHP Strict standards:Declaration of … should be compatible with that of…(转)
- PHP Strict standards:Declaration of ... should be compatible with that of...
- PHP Strict standards:Declaration of … should be compatible with that of…(转)
- PHP Strict standards:Declaration of … should be compatible with that of…
- symfony报错:Declaration of testAction::execute() must be compatible with sfComponent::execute($request
- php 出现Strict Standards: Only variables should be passed by reference in的解决方法
- 错误“a label can only be part of a statement and a declaration is not a statement”解决方法
- values of type NSInteger should not be used as format arguments; 关于Xcode中烦人的32位与64位警告处理方法.
- python3.x执行post请求时报错“POST data should be bytes or an iterable of bytes...”的解决方法
- Android解决"parameter must be a descendant of this view(参数必须是此视图的子视图 )"问题的方法
- should be mapped with insert="false" update="false"的解决方法 和对象产生默认值的解决方法
- 出现should be mapped with insert="false" update="false"的解决方法
- Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP
- 出现should be mapped with insert="false" update="false"的解决方法
- mvn install Geoserver under ubuntu10.04 时遇到的错误:the API of the mojo scanner is not compatible with this plugin version. 的解决方法
- php 构造函数支持不同个数参数的方法
- php 构造函数支持不同个数参数的方法