我最近做了一个 cookie 类,但不幸的是它并不是真正的 OOP,因为我让这个类做了两件不同的事情。即设置/获取 cookie 并存储 te cookie。OOP 意味着每个类都有自己的操作。所以我决定重写我的课,但我不能让它工作。这就是我认为我应该这样做的方式。
我为 CRUD 和一个实现该接口的类创建了一个名为 CookieStorage 的接口。我还创建了一个 Cookie 类来设置 cookie 值等,但现在通过创建这两个类它不起作用,因为我收到此错误:致命错误:调用 /Applications/MAMP/ 中未定义的方法 CookieStorage::getName()第 27 行的 htdocs/library/lib/CookieStorage.php
下面你可以找到我的代码。提前致谢!
<?php
interface StorageInterface {
public function set(Cookie $cookie);
public function get(Cookie $cookie);
public function update(Cookie $cookie);
public function delete(Cookie $cookie);
}
class CookieStorage implements StorageInterface {
/**
* constructor
*/
public function __construct() {
}
/**
* Create cookie.
*/
public function set(Cookie $cookie) {
return setcookie(
$this->getName(),
$this->getValue(),
$this->getTime(),
$this->getPath(),
$this->getDomain(),
$this->getSecure(), true
);
}
/**
* Get cookie.
*/
public function get(Cookie $cookie) {
return $_COOKIE[$this->getName()];
}
/**
* Update cookie.
*/
public function update(Cookie $cookie) {
return $this->update();
}
public function delete(Cookie $cookie) {
return $this->delete();
}
}
?>