php接口怎么实现
PHP 接口实现方法
在 PHP 中,接口(Interface)用于定义一组方法的规范,而不包含具体实现。接口通过 interface 关键字定义,类通过 implements 关键字实现接口。
定义接口
接口定义一组必须实现的方法,方法不包含具体逻辑。
interface MyInterface {
public function method1();
public function method2($param);
}
实现接口
类通过 implements 实现接口,必须实现接口中所有方法。
class MyClass implements MyInterface {
public function method1() {
echo "Method 1 implementation";
}
public function method2($param) {
echo "Method 2 with param: " . $param;
}
}
多接口实现
一个类可以实现多个接口,用逗号分隔。
interface InterfaceA {
public function methodA();
}
interface InterfaceB {
public function methodB();
}
class MyClass implements InterfaceA, InterfaceB {
public function methodA() {
echo "Method A";
}
public function methodB() {
echo "Method B";
}
}
接口继承
接口可以继承其他接口,扩展方法定义。
interface ParentInterface {
public function parentMethod();
}
interface ChildInterface extends ParentInterface {
public function childMethod();
}
class MyClass implements ChildInterface {
public function parentMethod() {
echo "Parent method";
}
public function childMethod() {
echo "Child method";
}
}
类型提示
接口可用于类型提示,确保参数符合规范。
function process(MyInterface $obj) {
$obj->method1();
$obj->method2("test");
}
$myObj = new MyClass();
process($myObj);
实际应用场景
接口常用于解耦代码,定义服务契约。例如日志接口:
interface Logger {
public function log($message);
}
class FileLogger implements Logger {
public function log($message) {
file_put_contents('log.txt', $message, FILE_APPEND);
}
}
class DatabaseLogger implements Logger {
public function log($message) {
// 数据库记录逻辑
}
}
通过接口实现,可以轻松切换不同的日志实现,而不影响调用方代码。







