class DatabaseLogger implements Logger
class Role public function permissions() return ['edit', 'delete']; object-oriented principles in php laracasts download
// The Client Code function checkout(PaymentGateway $gateway, $amount) echo $gateway->pay($amount); $amount) echo $gateway->