Bird
Raised Fist0
PHPprogramming~5 mins

Constructor inheritance in PHP - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is constructor inheritance in PHP?
Constructor inheritance means a child class can use the constructor method of its parent class to set up initial values or states.
Click to reveal answer
beginner
How do you call a parent class constructor inside a child class in PHP?
You use <code>parent::__construct()</code> inside the child class constructor to run the parent constructor.
Click to reveal answer
intermediate
What happens if a child class defines its own constructor but does not call <code>parent::__construct()</code>?
The parent constructor will NOT run automatically. The child constructor overrides it, so you must call the parent constructor explicitly if needed.
Click to reveal answer
beginner
True or False: If a child class does not define a constructor, it automatically inherits the parent's constructor in PHP.
True. The child class will use the parent's constructor if it does not have its own.
Click to reveal answer
beginner
Why might you want to call the parent constructor inside a child constructor?
To make sure the parent class sets up its part of the object correctly before the child adds or changes anything.
Click to reveal answer
In PHP, how do you call the parent class constructor from a child class?
Aparent::__construct()
Bsuper()
Cthis->__construct()
Dbase::__construct()
If a child class has no constructor, what happens when you create an object of that child class?
AThe child class constructor runs
BNo constructor runs
CAn error occurs
DThe parent's constructor runs automatically
What happens if a child class defines a constructor but does NOT call parent::__construct()?
AOnly the parent constructor runs
BBoth parent and child constructors run automatically
COnly the child constructor runs
DPHP throws an error
Why is constructor inheritance useful?
AIt lets child classes reuse setup code from parent classes
BIt prevents child classes from having constructors
CIt makes PHP run faster
DIt disables object creation
Which keyword is used to refer to the parent class in PHP?
Athis
Bparent
Cbase
Dsuper
Explain how constructor inheritance works in PHP and how to properly use it in a child class.
Think about when the parent's constructor runs and how to call it explicitly.
You got /3 concepts.
    Describe a real-life example where calling a parent constructor from a child class is important.
    Imagine building a car where the base car sets wheels and engine, and the child adds special features.
    You got /3 concepts.

      Practice

      (1/5)
      1. What happens if a child class in PHP does not define its own constructor but the parent class has one?
      easy
      A. PHP throws an error because the child lacks a constructor.
      B. No constructor is called at all.
      C. The parent's constructor is automatically called when creating a child object.
      D. The child class inherits the parent's constructor as its own.

      Solution

      1. Step 1: Understand default constructor behavior

        If the child class does not define a constructor, PHP automatically calls the parent's constructor when creating a child object.
      2. Step 2: Confirm no error or override

        Since the child has no constructor, no error occurs and the parent's constructor runs as expected.
      3. Final Answer:

        The parent's constructor is automatically called when creating a child object. -> Option C
      4. Quick Check:

        Child without constructor calls parent constructor [OK]
      Hint: No child constructor? Parent constructor runs automatically [OK]
      Common Mistakes:
      • Thinking child constructor must exist to call parent constructor
      • Assuming PHP throws error if child lacks constructor
      • Believing child inherits parent's constructor as a method
      2. Which of the following is the correct syntax to call a parent class constructor inside a child class constructor in PHP?
      easy
      A. parent::__construct();
      B. parent::constructor();
      C. super::__construct();
      D. parent->__construct();

      Solution

      1. Step 1: Recall PHP parent constructor call syntax

        In PHP, the parent's constructor is called using parent::__construct(); inside the child's constructor.
      2. Step 2: Eliminate incorrect syntax

        Options A, C, and D use invalid syntax: 'constructor' is not the method name, 'super' is not PHP keyword, and 'parent->' is incorrect.
      3. Final Answer:

        parent::__construct(); -> Option A
      4. Quick Check:

        Use parent::__construct() to call parent constructor [OK]
      Hint: Use parent::__construct() exactly to call parent constructor [OK]
      Common Mistakes:
      • Using 'super' keyword instead of 'parent'
      • Calling parent constructor as parent::constructor()
      • Using object operator '->' with parent keyword
      3. What will be the output of the following PHP code?
      class ParentClass {
        public function __construct() {
          echo "Parent constructor called. ";
        }
      }
      class ChildClass extends ParentClass {
        public function __construct() {
          parent::__construct();
          echo "Child constructor called.";
        }
      }
      new ChildClass();
      medium
      A. Child constructor called.
      B. Parent constructor called. Child constructor called.
      C. Parent constructor called.
      D. No output.

      Solution

      1. Step 1: Trace constructor calls

        The child class constructor calls parent::__construct(); first, so the parent's constructor runs and prints "Parent constructor called. "
      2. Step 2: Continue child constructor execution

        After the parent's constructor, the child constructor prints "Child constructor called." immediately after.
      3. Final Answer:

        Parent constructor called. Child constructor called. -> Option B
      4. Quick Check:

        Child calls parent constructor then prints own message [OK]
      Hint: parent::__construct() runs parent's constructor first [OK]
      Common Mistakes:
      • Ignoring parent::__construct() call in child constructor
      • Assuming only child constructor output appears
      • Thinking parent's constructor is not called explicitly
      4. Identify the error in the following PHP code related to constructor inheritance:
      class Base {
        public function __construct() {
          echo "Base constructor.";
        }
      }
      class Derived extends Base {
        public function __construct() {
          parent::construct();
          echo "Derived constructor.";
        }
      }
      new Derived();
      medium
      A. The parent constructor is called with wrong method name 'construct()'.
      B. The child class should not have a constructor.
      C. Missing call to parent's constructor causes error.
      D. No error; code runs fine.

      Solution

      1. Step 1: Check parent constructor call syntax

        The code calls parent::construct(); but the correct method name is __construct() with double underscores.
      2. Step 2: Understand impact of wrong method name

        Because 'construct()' does not exist, PHP will throw a fatal error or warning about undefined method.
      3. Final Answer:

        The parent constructor is called with wrong method name 'construct()'. -> Option A
      4. Quick Check:

        Use parent::__construct(), not parent::construct() [OK]
      Hint: Always use double underscore __construct() for constructors [OK]
      Common Mistakes:
      • Calling parent::construct() instead of parent::__construct()
      • Forgetting double underscores in constructor name
      • Assuming parent constructor runs without correct call
      5. Given the following classes, what will be the output when creating a new Child object?
      class Parent {
        public function __construct() {
          echo "Parent start. ";
        }
      }
      class Child extends Parent {
        public function __construct() {
          echo "Child start. ";
          parent::__construct();
          echo "Child end.";
        }
      }
      new Child();
      hard
      A. Parent start. Child end.
      B. Parent start. Child start. Child end.
      C. Child start. Child end.
      D. Child start. Parent start. Child end.

      Solution

      1. Step 1: Follow the order of echo statements

        The child constructor first prints "Child start. ". Then it calls parent::__construct(); which prints "Parent start. ". Finally, the child prints "Child end.".
      2. Step 2: Combine outputs in sequence

        Putting all together, the output is "Child start. Parent start. Child end." exactly in that order.
      3. Final Answer:

        Child start. Parent start. Child end. -> Option D
      4. Quick Check:

        Child prints before and after parent constructor call [OK]
      Hint: Order matters: child's code runs before and after parent::__construct() [OK]
      Common Mistakes:
      • Assuming parent constructor runs before child's code
      • Ignoring order of echo statements
      • Thinking parent's constructor output appears last
      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