Bird
Raised Fist0
PHPprogramming~5 mins

Multiple interface implementation in PHP - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is multiple interface implementation in PHP?
It means a class can use more than one interface at the same time, promising to provide all methods those interfaces require.
Click to reveal answer
beginner
How do you declare a class that implements two interfaces named A and B in PHP?
Use the syntax: <code>class MyClass implements A, B { }</code> where MyClass must define all methods from both A and B.
Click to reveal answer
intermediate
Why use multiple interface implementation?
It helps organize code by separating different behaviors into interfaces, letting a class combine them as needed.
Click to reveal answer
intermediate
What happens if a class does not implement all methods from multiple interfaces it declares?
PHP will throw a fatal error because the class must provide all methods declared in every interface it implements.
Click to reveal answer
advanced
Can interfaces extend other interfaces in PHP?
Yes, interfaces can extend one or more interfaces, allowing a child interface to inherit all methods from its parents.
Click to reveal answer
How do you implement multiple interfaces in a PHP class?
AUse a semicolon-separated list after the class name
BUse multiple extends keywords
CUse the new keyword multiple times
DUse a comma-separated list after the implements keyword
What must a class do when it implements multiple interfaces?
ADefine no methods
BDefine all methods from all interfaces
CDefine methods from only one interface
DOnly define methods it wants
Which keyword is used to declare an interface in PHP?
Aimplements
Bclass
Cinterface
Dextends
Can a PHP interface extend multiple interfaces?
AYes
BNo
COnly one interface
DOnly classes can extend multiple interfaces
What error occurs if a class misses a method from an implemented interface?
AFatal error
BWarning
CNotice
DNo error
Explain how multiple interface implementation works in PHP and why it is useful.
Think about how a class promises to do many things by following multiple contracts.
You got /4 concepts.
    Describe the syntax and rules for a PHP class implementing two interfaces named Logger and Formatter.
    Focus on the implements keyword and method requirements.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does it mean when a PHP class implements multiple interfaces separated by commas?
      easy
      A. The class can only use one interface at a time.
      B. The class inherits properties from multiple parent classes.
      C. The class automatically creates methods from the interfaces.
      D. The class promises to have all methods defined in all those interfaces.

      Solution

      1. Step 1: Understand interface implementation

        When a class implements interfaces, it promises to include all methods declared in those interfaces.
      2. Step 2: Multiple interfaces separated by commas

        Listing interfaces separated by commas means the class must implement all methods from each interface.
      3. Final Answer:

        The class promises to have all methods defined in all those interfaces. -> Option D
      4. Quick Check:

        Multiple interfaces = all methods implemented [OK]
      Hint: Remember: commas mean all interfaces must be implemented [OK]
      Common Mistakes:
      • Thinking interfaces provide properties
      • Confusing interfaces with class inheritance
      • Believing methods are auto-created
      2. Which of the following is the correct syntax for a PHP class implementing two interfaces named FirstInterface and SecondInterface?
      easy
      A. class MyClass extends FirstInterface, SecondInterface {}
      B. class MyClass implements FirstInterface, SecondInterface {}
      C. class MyClass implements FirstInterface SecondInterface {}
      D. class MyClass uses FirstInterface, SecondInterface {}

      Solution

      1. Step 1: Identify correct keyword for interfaces

        PHP uses the keyword implements to indicate a class uses interfaces.
      2. Step 2: Check syntax for multiple interfaces

        Multiple interfaces are listed separated by commas after implements.
      3. Final Answer:

        class MyClass implements FirstInterface, SecondInterface {} -> Option B
      4. Quick Check:

        implements + comma-separated interfaces = correct syntax [OK]
      Hint: Use 'implements' and commas to list interfaces [OK]
      Common Mistakes:
      • Using 'extends' instead of 'implements' for interfaces
      • Missing commas between interface names
      • Using 'uses' keyword incorrectly
      3. What will be the output of the following PHP code?
      interface A { public function foo(); }
      interface B { public function bar(); }
      class Test implements A, B {
      public function foo() { return 'foo'; }
      public function bar() { return 'bar'; }
      }
      $obj = new Test();
      echo $obj->foo() . ' ' . $obj->bar();
      medium
      A. foo bar
      B. foobar
      C. Syntax error
      D. Runtime error

      Solution

      1. Step 1: Check interface methods implemented

        The class Test implements both interfaces A and B and defines both methods foo() and bar() correctly.
      2. Step 2: Understand output of method calls

        Calling foo() returns 'foo' and bar() returns 'bar'. Echo concatenates them with a space.
      3. Final Answer:

        foo bar -> Option A
      4. Quick Check:

        Implemented methods return strings combined with space [OK]
      Hint: Check all interface methods are implemented to avoid errors [OK]
      Common Mistakes:
      • Forgetting to implement all interface methods
      • Missing space in echo output
      • Expecting concatenation without space
      4. Identify the error in this PHP code:
      interface X { public function methodX(); }
      interface Y { public function methodY(); }
      class Demo implements X, Y {
      public function methodX() { return 'X'; }
      }
      medium
      A. Interface Y cannot be implemented with interface X.
      B. Class Demo should extend interfaces, not implement.
      C. Class Demo must implement methodY() from interface Y.
      D. No error, code is correct.

      Solution

      1. Step 1: Check implemented interfaces and methods

        Class Demo implements interfaces X and Y, so it must define all methods from both.
      2. Step 2: Identify missing method

        methodY() from interface Y is not implemented, causing an error.
      3. Final Answer:

        Class Demo must implement methodY() from interface Y. -> Option C
      4. Quick Check:

        All interface methods must be implemented [OK]
      Hint: Implement all methods from every interface you list [OK]
      Common Mistakes:
      • Implementing only some interface methods
      • Confusing extends with implements
      • Assuming interfaces can be partially implemented
      5. Given these interfaces and classes:
      interface Logger { public function log(string $msg); }
      interface Notifier { public function notify(string $msg); }
      class System implements Logger, Notifier {
      private array $logs = [];
      public function log(string $msg) { $this->logs[] = $msg; }
      public function notify(string $msg) { echo "Notify: $msg\n"; }
      public function getLogs(): array { return $this->logs; }
      }
      $sys = new System();
      $sys->log('Start');
      $sys->notify('Alert');
      $sys->log('End');
      print_r($sys->getLogs());

      What is the output of this code?
      hard
      A. Notify: Alert Array ( [0] => Start [1] => End )
      B. Array ( [0] => Start [1] => End ) Notify: Alert
      C. Notify: Alert Array ( [0] => Alert )
      D. Syntax error due to missing interface methods

      Solution

      1. Step 1: Trace method calls

        First, log('Start') adds 'Start' to logs array. Then notify('Alert') echoes 'Notify: Alert'. Then log('End') adds 'End' to logs.
      2. Step 2: Understand print_r output

        print_r outputs the logs array with 'Start' and 'End' entries after the echoed notify message.
      3. Final Answer:

        Notify: Alert Array ( [0] => Start [1] => End ) -> Option A
      4. Quick Check:

        Echo notify first, then print logs array [OK]
      Hint: Echo outputs appear before print_r array display [OK]
      Common Mistakes:
      • Assuming print_r output appears before echo
      • Confusing array contents logged
      • Expecting syntax errors without missing methods
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard