PHP 中的方法签名是必须还是应该?
我的意思是,如果使用不是 sfWebRequest 实例的 $request
调用它,它会是致命的,还是只是一个警告?
class jobActions extends sfActions
{
public function executeIndex(sfWebRequest $request)
{
$this->jobeet_job_list = Doctrine::getTable('JobeetJob')
->createQuery('a')
->execute();
}
// ...
}
I mean if it's called with $request
which is not instance of sfWebRequest
,will it be fatal,or just a warning?
class jobActions extends sfActions
{
public function executeIndex(sfWebRequest $request)
{
$this->jobeet_job_list = Doctrine::getTable('JobeetJob')
->createQuery('a')
->execute();
}
// ...
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
请参阅 PHP 手册中有关 TypeHinting 的章节
如果
$ request
不是sfWebRequest
实例或其子类或实现此名称的接口,该方法将引发 可捕获的致命错误。如果不处理错误,脚本执行将终止。示例
带接口的
See the chapter on TypeHinting in the PHP Manual
If
$request
is not asfWebRequest
instance or subclass thereof or implementing an interface of this name, the method will raise a catchable fatal error. Script execution will terminate if the error is not handled.Example
With interfaces
这将是一个可捕获的致命错误。
下面是一个示例:
如果没有
set_error_handler
调用,代码将失败并出现错误:It will be a catchable fatal error.
Here is an example:
If there wasn't a
set_error_handler
call the code will fail with an error: