在编写基类时,我经常逐渐开发,只构建我需要的东西(或者我正在测试的东西)。但我喜欢我的界面要平衡。每个吸气者都是一个二传手。当实现CRUD时,即使现在,我只需要R,我宁愿为CUD写入存根。
我希望这些抛出一些Not Implemented Exception。我怎样才能提出这样的错误或例外?
例如:
class Resource {
/**
* get Issues a GET-request to Online, fetch with $this::$id
* @returns $this
*/
protected function get() {
if ($this->id) {
$attributes = http_build_query(array("id" => $this->id));
$url = "{$this->url}?{$attributes}";
$options = array_merge(array('method' => 'GET'));
$response = _http_request($url, $options);
$this->parse($response);
}
return $this;
}
/**
* post Place a new object on Online
*
* @param $attributes ....
* @returns Source $this
*/
protected function post($attributes = array()) {
throw new NotImplementedError();
}
/**
* put Updates an object on Online
*
* @param $attributes ....
* @returns $this
*/
protected function put($attributes = array()) {
throw new NotImplementedError();
}
/**
* delete Removes an object from Online, selected by $this::$id.
* @returns $this
*/
protected function delete() {
throw new NotImplementedError();
}
}
答案 0 :(得分:1)
看看上一个答案:Throw a NotImplementedError in PHP?
非常简单地说,PHP中不存在,但您可以通过扩展现有的Exception轻松创建自己的。上一个答案建议使用BadMethodCallException来执行此操作:
class NotImplementedException extends BadMethodCallException
{}
然后,您可以在代码中抛出NotImplementedException。
答案 1 :(得分:0)
您可以throw new NotImplementedException()
- 就像Symfony API中的this one一样。
答案 2 :(得分:0)
我认为你有两种可能性:
not implemented exception
,您可以抛出。