我目前正在开发一个非常简单的Web服务,并认为我可以为此编写API,所以当我决定在新平台上扩展它时,我只需要编译解析器应用程序.也就是说,API不适合其他开发人员,但我不会限制访问它,所以任何人都可以在此基础上构建.
然后我想我甚至可以通过这个API运行网站本身,原因有很多,比如带宽消耗较低(浏览器生成的HTML)和客户端缓存.作为AJAX的重量似乎是一个更大的理由.
布局如下所示:
Server (database, programming logic)
|
API (handles user reads/writes)
|
Client application (the website, browser extensions, desktop app, mobile apps)
|
Client cache (further reduces server reads)
Run Code Online (Sandbox Code Playgroud)
介绍之后我的问题是:
编辑
其他问题:
我有几个关于PHP类的问题,但不能单独询问,所以我在这里:
我有一个我正在构建的CMS,其核心是我的baseClass,logger,DB和模块类.DB和logger是静态类,因此我可以在其他对象中使用它们.有很多模块类加载到baseClass中:
class baseClass {
private $_modules;
public function __construct() {
logger::log("instance created.");
$this->_modules = Array()
}
public function __destruct() {
foreach($this->_modules as $name) $this->unloadModule($name);
logger::log("instance destroyed.");
}
public function loadModule($name) {
if (class_exists($name)) {
if (!isset($this->$name)) {
$this->_modules[] = $name;
$this->$name = new $name();
logger::log("module '$name' loaded.");
}
else logger::log("module '$name' already loaded.", 2);
}
else logger::log("module '$name' does not exist.", 3);
}
public function unloadModule($name) {
if (isset($this->$name)) {
unset($this->$name);
foreach($this->_modules as $id => $mod_name) {
if ($name==$mod_name) …Run Code Online (Sandbox Code Playgroud)