Bird
Raised Fist0
PHPprogramming~5 mins

Interface declaration and implementation in PHP - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is an interface in PHP?
An interface in PHP is a contract that defines methods a class must implement, without providing the method bodies.
Click to reveal answer
beginner
How do you declare an interface in PHP?
Use the interface keyword followed by the interface name and method signatures inside curly braces.
Click to reveal answer
beginner
What keyword is used by a class to implement an interface?
The <code>implements</code> keyword is used by a class to promise it will provide all methods defined in the interface.
Click to reveal answer
intermediate
Can a class implement multiple interfaces in PHP?
Yes, a class can implement multiple interfaces by listing them separated by commas after the <code>implements</code> keyword.
Click to reveal answer
intermediate
What happens if a class does not implement all methods of an interface?
PHP will throw a fatal error because the class breaks the contract defined by the interface.
Click to reveal answer
Which keyword is used to declare an interface in PHP?
Aclass
Bextends
Cimplements
Dinterface
How does a class promise to follow an interface's contract?
Ausing the <code>extends</code> keyword
Busing the <code>implements</code> keyword
Cby defining the interface inside the class
Dby calling interface methods directly
Can an interface contain method bodies in PHP?
AOnly if methods are static
BYes, always
CNo, never
DOnly if methods are abstract
What happens if a class misses implementing a method from an interface?
APHP throws a fatal error
BPHP ignores the missing method
CThe class works but with warnings
DThe interface is automatically updated
How can a class implement multiple interfaces?
AList interfaces separated by commas after <code>implements</code>
BUse multiple <code>implements</code> keywords
CUse <code>extends</code> keyword
DDefine interfaces inside the class
Explain what an interface is in PHP and how a class uses it.
Think of an interface as a promise a class makes.
You got /4 concepts.
    Describe what happens if a class does not implement all methods from an interface it declares to implement.
    PHP is strict about interfaces.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of an interface in PHP?
      easy
      A. To execute code automatically when a program runs
      B. To store variables and their values
      C. To define method names without their code, ensuring classes implement them
      D. To create objects directly

      Solution

      1. Step 1: Understand what an interface is

        An interface in PHP only declares method names without any code inside them.
      2. Step 2: Understand the purpose of interfaces

        Interfaces ensure that any class implementing them must write the declared methods, helping organize code.
      3. Final Answer:

        To define method names without their code, ensuring classes implement them -> Option C
      4. Quick Check:

        Interface purpose = method declaration only [OK]
      Hint: Interfaces declare methods only, no code inside [OK]
      Common Mistakes:
      • Thinking interfaces store variables
      • Believing interfaces create objects
      • Confusing interfaces with classes
      2. Which of the following is the correct way to declare an interface named Vehicle in PHP?
      easy
      A. class Vehicle { public function start(); }
      B. interface Vehicle { public function start(); }
      C. interface Vehicle { function start() {} }
      D. interface Vehicle { public function start() {} }

      Solution

      1. Step 1: Recall interface method declaration rules

        In interfaces, methods are declared without code blocks (no curly braces with code).
      2. Step 2: Check each option

        'interface Vehicle { public function start(); }' declares interface and method without code, which is correct. Declarations with method bodies '{}' are wrong. Using 'class' instead of 'interface' is incorrect.
      3. Final Answer:

        interface Vehicle { public function start(); } -> Option B
      4. Quick Check:

        Interface methods have no body [OK]
      Hint: Interface methods end with semicolon, no braces [OK]
      Common Mistakes:
      • Adding method bodies inside interfaces
      • Using class keyword instead of interface
      • Omitting semicolon after method declaration
      3. What will be the output of this PHP code?
      interface Animal {
        public function sound();
      }
      
      class Dog implements Animal {
        public function sound() {
          return "Bark";
        }
      }
      
      $dog = new Dog();
      echo $dog->sound();
      medium
      A. Bark
      B. sound
      C. Animal
      D. Fatal error

      Solution

      1. Step 1: Understand interface and class implementation

        The interface Animal declares method sound(). Dog class implements Animal and defines sound() returning "Bark".
      2. Step 2: Check the output of calling $dog->sound()

        Calling $dog->sound() returns "Bark" which is then echoed.
      3. Final Answer:

        Bark -> Option A
      4. Quick Check:

        Implemented method returns "Bark" [OK]
      Hint: Implemented methods run normally, output their return [OK]
      Common Mistakes:
      • Expecting interface name as output
      • Confusing method name with output
      • Thinking code causes error without implementation
      4. Identify the error in this PHP code:
      interface Shape {
        public function area();
      }
      
      class Circle implements Shape {
        public function area() {
          return 3.14 * 5 * 5;
        }
      
        public function perimeter() {
          return 2 * 3.14 * 5;
        }
      }
      
      $circle = new Circle();
      echo $circle->area();
      medium
      A. No error, code runs and outputs area
      B. Missing implementation of perimeter() in interface
      C. Interface method area() has no body, causing error
      D. Class Circle must implement all interface methods

      Solution

      1. Step 1: Check interface and class methods

        Interface Shape declares area(). Circle implements area() correctly and adds extra method perimeter() which is allowed.
      2. Step 2: Verify if code runs without error

        Since all interface methods are implemented, extra methods are allowed. Code outputs area value.
      3. Final Answer:

        No error, code runs and outputs area -> Option A
      4. Quick Check:

        Extra methods allowed, interface methods implemented [OK]
      Hint: Extra methods in class are allowed beyond interface [OK]
      Common Mistakes:
      • Thinking extra methods must be in interface
      • Confusing method body rules in interface
      • Assuming missing interface methods cause error here
      5. You have two interfaces:
      interface Printer {
        public function printDocument();
      }
      
      interface Scanner {
        public function scanDocument();
      }

      How can you create a class AllInOne that implements both interfaces and provides method bodies?
      hard
      A. class AllInOne implements Scanner { public function printDocument() { return "Printing..."; } public function scanDocument() { return "Scanning..."; } }
      B. class AllInOne implements Printer { public function printDocument() { return "Printing..."; } public function scanDocument() { return "Scanning..."; } }
      C. class AllInOne { public function printDocument() { return "Printing..."; } public function scanDocument() { return "Scanning..."; } }
      D. class AllInOne implements Printer, Scanner { public function printDocument() { return "Printing..."; } public function scanDocument() { return "Scanning..."; } }

      Solution

      1. Step 1: Understand multiple interface implementation

        PHP allows a class to implement multiple interfaces by listing them separated by commas.
      2. Step 2: Check which option correctly implements both interfaces

        class AllInOne implements Printer, Scanner { public function printDocument() { return "Printing..."; } public function scanDocument() { return "Scanning..."; } } implements both Printer and Scanner and defines both required methods. Others miss one interface or do not implement any.
      3. Final Answer:

        class AllInOne implements Printer, Scanner { public function printDocument() { return "Printing..."; } public function scanDocument() { return "Scanning..."; } } -> Option D
      4. Quick Check:

        Multiple interfaces implemented with commas [OK]
      Hint: Use commas to implement multiple interfaces in one class [OK]
      Common Mistakes:
      • Implementing only one interface when multiple required
      • Forgetting to implement all interface methods
      • Not using commas to separate interfaces
      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