Bird
Raised Fist0
PHPprogramming~10 mins

Why interfaces are needed in PHP - Test Your Understanding

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to declare an interface named Vehicle.

PHP
<?php
interface [1] {
    public function start();
}
?>
Drag options to blanks, or click blank then click option'
ACar
BDrive
CStartable
DVehicle
Attempts:
3 left
💡 Hint
Common Mistakes
Using a class name instead of an interface name.
Using a method name as the interface name.
2fill in blank
medium

Complete the code to make class Car implement the Vehicle interface.

PHP
<?php
interface Vehicle {
    public function start();
}

class Car [1] Vehicle {
    public function start() {
        echo "Car started";
    }
}
?>
Drag options to blanks, or click blank then click option'
Aextends
Buses
Cimplements
Dinherits
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'extends' instead of 'implements' for interfaces.
Using 'uses' or 'inherits' which are not valid keywords here.
3fill in blank
hard

Fix the error in the code by completing the blank with the correct keyword to declare an interface.

PHP
<?php
[1] Vehicle {
    public function start();
}
?>
Drag options to blanks, or click blank then click option'
Ainterface
Bclass
Ctrait
Dabstract
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'class' keyword to declare an interface.
Using 'abstract' or 'trait' which are different concepts.
4fill in blank
hard

Fill both blanks to complete the code that shows why interfaces are needed by enforcing a method in multiple classes.

PHP
<?php
interface Logger {
    public function [1]();
}

class FileLogger implements Logger {
    public function [2]() {
        echo "Logging to a file.";
    }
}
?>
Drag options to blanks, or click blank then click option'
Alog
Bstart
Cwrite
Dprint
Attempts:
3 left
💡 Hint
Common Mistakes
Using different method names in interface and class.
Choosing unrelated method names like 'start' or 'print'.
5fill in blank
hard

Fill all three blanks to complete the code that uses interfaces to enforce multiple classes to have a common method and demonstrate polymorphism.

PHP
<?php
interface Shape {
    public function [1]();
}

class Circle implements Shape {
    public function [2]() {
        return "Drawing Circle";
    }
}

class Square implements Shape {
    public function [3]() {
        return "Drawing Square";
    }
}
?>
Drag options to blanks, or click blank then click option'
Adraw
Bstart
Drender
Attempts:
3 left
💡 Hint
Common Mistakes
Using different method names in classes and interface.
Choosing unrelated method names like 'start' or 'render'.

Practice

(1/5)
1. Why do we use interfaces in PHP?
easy
A. To store data like variables
B. To write code that runs automatically
C. To create objects directly
D. To define a set of methods that classes must implement

Solution

  1. Step 1: Understand the purpose of interfaces

    Interfaces only declare method names without code, setting a contract for classes.
  2. Step 2: Recognize what interfaces enforce

    Classes implementing interfaces must write all declared methods, ensuring consistent behavior.
  3. Final Answer:

    To define a set of methods that classes must implement -> Option D
  4. Quick Check:

    Interfaces = method contracts [OK]
Hint: Interfaces set method rules for classes [OK]
Common Mistakes:
  • Thinking interfaces store data
  • Believing interfaces create objects
  • Assuming interfaces run code automatically
2. Which of the following is the correct way to declare an interface in PHP?
easy
A. class MyInterface { public function doSomething() {} }
B. interface MyInterface { public function doSomething(); }
C. interface MyInterface() { function doSomething(); }
D. interface MyInterface { function doSomething() {} }

Solution

  1. Step 1: Recall PHP interface syntax

    Interfaces use the keyword 'interface' followed by the name and method declarations without bodies.
  2. Step 2: Check method declaration rules

    Methods in interfaces must be declared without code (no braces), only the signature.
  3. Final Answer:

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

    Interface methods have no body [OK]
Hint: Interface methods have no code blocks {} [OK]
Common Mistakes:
  • Adding method bodies inside interfaces
  • Using parentheses after interface name
  • Declaring interfaces as classes
3. What will be the output of this PHP code?
interface Talker {
  public function talk();
}

class Person implements Talker {
  public function talk() {
    return "Hello!";
  }
}

$person = new Person();
echo $person->talk();
medium
A. Hello!
B. Fatal error: Class Person must implement method talk
C. No output
D. Syntax error

Solution

  1. Step 1: Check interface and class implementation

    The class Person implements Talker and defines the talk() method returning "Hello!".
  2. Step 2: Understand the output of echo

    Calling $person->talk() returns "Hello!", which echo prints.
  3. Final Answer:

    Hello! -> Option A
  4. Quick Check:

    Implemented method returns string [OK]
Hint: Implemented interface methods run as coded [OK]
Common Mistakes:
  • Expecting error if method is implemented
  • Thinking interface code runs directly
  • Missing method implementation causes error
4. Find the error in this PHP code:
interface Flyer {
  public function fly();
}

class Bird implements Flyer {
  // forgot to implement fly method
}
medium
A. Class Bird must implement method fly()
B. Class Bird should not implement Flyer
C. Interface Flyer cannot be empty
D. No error, code runs fine

Solution

  1. Step 1: Check interface requirements

    Flyer interface requires a fly() method to be implemented by any class using it.
  2. Step 2: Verify class Bird implementation

    Bird class implements Flyer but does not define fly(), causing a fatal error.
  3. Final Answer:

    Class Bird must implement method fly() -> Option A
  4. Quick Check:

    Interface methods must be implemented [OK]
Hint: Classes must implement all interface methods [OK]
Common Mistakes:
  • Assuming interface methods are optional
  • Thinking empty class is allowed
  • Confusing interface with abstract class
5. You want different classes like Car and Airplane to have a startEngine() method, but their implementations differ. How does using an interface help?
hard
A. It prevents Car and Airplane from having startEngine() methods
B. It shares the same startEngine() code between Car and Airplane automatically
C. It forces both classes to have a startEngine() method, ensuring they can be used interchangeably
D. It makes startEngine() method optional in both classes

Solution

  1. Step 1: Understand interface role in method enforcement

    An interface declares startEngine() method that classes must implement, but each class writes its own code.
  2. Step 2: Recognize benefit for interchangeable use

    Because both classes have startEngine(), code using them can call this method without knowing class details.
  3. Final Answer:

    It forces both classes to have a startEngine() method, ensuring they can be used interchangeably -> Option C
  4. Quick Check:

    Interface = method contract, different code [OK]
Hint: Interface ensures method presence, not shared code [OK]
Common Mistakes:
  • Thinking interface shares method code
  • Believing methods become optional
  • Confusing interface with inheritance
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