在管理Radius身份验证(创建用户、续订用户、删除用户、过期时间等)的CMR项目中
我想在多个会计服务器中创建用户,如free radius、mikrotik用户管理器radius等。。。我已经为那些记帐服务器开发了API我无法理解的是,我应该如何调用一个方法来触发,即在所有模块(free radius.inc.php,userman.inc.php)中调用一个名为create_user()的方法来在所有会计服务器中创建用户。
假设createuser()方法存在于所有这些方法中。
我还想稍后在项目中添加更多的会计服务器类,我不想为另一个会计支持实现硬编码
提前感谢
我不确定我是否理解你的意思,但让我们试一试。要提取accounting servers
,您应该使用一个接口。
<?php
interface AccountingServer {
public function create_user();
}
class Server1 implements AccountingServer {
public function create_user()
{
echo "Create user on server 1";
}
}
class Server2 implements AccountingServer {
public function create_user()
{
echo "Create user on server 2";
}
}
$server1 = new Server1();
$server1->create_user();
$server2 = new Server2();
$server2->create_user();
?>
如果要在所有accounting servers
中共享create_user()
方法,则应使用父子结构。
<?php
abstract class AccountingServer {
public function create_user()
{
echo "Create user";
}
}
class Server1 extends AccountingServer {
}
class Server2 extends AccountingServer {
}
$server1 = new Server1();
$server1->create_user();
$server2 = new Server2();
$server2->create_user();
?>
这能回答你的问题吗?