我想开发私有框架,以便将来使用 PHP 构建我的应用程序。我的示例代码是:
class system {
const token = "1234";
}
class data extends system {
public $driver = "mysql";
function get_name() {
if (parent::token == "1234") {
return "John";
}
}
}
class about extends system {
public $version = "10.1";
function get_build() {
if (parent::token == "1234") {
return "920";
}
}
}
我的问题是我可以调用包含类结构的子函数。我不知道这个的确切名称是什么。我想是这样的。
$system = new system();
echo $system->data->driver; // Output "mysql"
echo $system->data->get_name(); // Output "John"
echo $system->about->version; // Output "10.1"
在 LUA 中,代码是这样的:
system = {};
system.token = "1234";
system.data.driver = "mysql";
function system.data.get_name()
if (system.token == "1234") then
return "John";
end
end
system.about.version = "10.1";
function system.about.get_build()
if (system.token == "1234") then
return "920";
end
end
用法:
name = system.data.get_name() -- variable "name" value will be "John"
谢谢。
编辑:
该代码只是显示我想要实现的目标的示例,因为我刚刚开始使用 PHP。通常我正在使用LUA。我的计划是构建易于使用且易于理解的框架。因此,人们将获得构建应用程序的简单方法,并且他们可以轻松记住函数引用。例如:
$tbl_result = $system->data->select("name", "table", "id='10'");
此代码用于轻松从数据库中选择数据而无需查询。返回值为数组列表。此功能还可以从配置中自动检测数据库驱动程序。因此用户无需了解特定驱动程序中的 SQL 查询。但是调用函数的方法应该是结构化的。为什么我必须使用系统->数据->功能?因为我将以 root 身份拥有系统、组件和模块。然后每个根都会有很多孩子。例如,系统将有核心、数据、模型等。可能在每个根中都有相同的子名称。所以这就是我必须建立这个结构的原因。