What are the benefits of using abstract classes and interfaces in PHP?
Abstract classes and interfaces in PHP allow for better organization and structure in your code. Abstract classes can provide default functionality that can be extended by subclasses, while interfaces define a contract that classes must adhere to. Using abstract classes and interfaces can help enforce consistency in your codebase and make it easier to maintain and extend in the future.
// Abstract class example
abstract class Shape {
abstract public function calculateArea();
}
class Circle extends Shape {
public function calculateArea() {
// Calculate area of a circle
}
}
// Interface example
interface Logger {
public function log($message);
}
class FileLogger implements Logger {
public function log($message) {
// Log message to a file
}
}
class DatabaseLogger implements Logger {
public function log($message) {
// Log message to a database
}
}