Bird
Raised Fist0
PHPprogramming~5 mins

Object instantiation with new in PHP - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the new keyword do in PHP?
The <code>new</code> keyword creates a new instance (object) of a class. It tells PHP to build a fresh object based on the class blueprint.
Click to reveal answer
beginner
How do you create an object from a class named <code>Car</code>?
You write $myCar = new Car();. This makes a new Car object and stores it in the variable $myCar.
Click to reveal answer
beginner
What is the difference between a class and an object?
A class is like a blueprint or recipe. An object is the actual thing made from that blueprint. Using <code>new</code> turns the blueprint into a real object you can use.
Click to reveal answer
beginner
Can you instantiate a class without using <code>new</code> in PHP?
No, in PHP you must use <code>new</code> to create an object from a class. Without <code>new</code>, you only have the class definition, not an object.
Click to reveal answer
intermediate
What happens if you call <code>new</code> on a class with a constructor that requires parameters?
You must provide the required parameters inside the parentheses. For example, new Car('red', 2020);. Otherwise, PHP will give an error.
Click to reveal answer
What does $obj = new MyClass(); do in PHP?
ACreates a new object of MyClass
BDeletes the MyClass definition
CCalls a function named MyClass
DAssigns a string 'MyClass' to $obj
Which keyword is used to create an object from a class in PHP?
Acreate
Bobject
Cnew
Dmake
What will happen if you forget parentheses when instantiating a class like new Car;?
AIt will call the class as a function
BIt will cause a syntax error
CIt will create a string instead
DIt will create the object anyway
If a class constructor requires parameters, what must you do when using new?
ACall the constructor separately after new
BPass the required parameters inside parentheses
CNo parameters are needed
DUse a different keyword than new
What is stored in the variable after $obj = new ClassName();?
AAn object instance of ClassName
BThe class code
CA string 'ClassName'
DNothing, it's empty
Explain in your own words what happens when you use the new keyword in PHP.
Think about turning a recipe into a cake.
You got /4 concepts.
    Describe how you would create an object from a class that has a constructor with parameters.
    Remember how you give ingredients when baking.
    You got /4 concepts.

      Practice

      (1/5)
      1.

      What does the new keyword do in PHP?

      easy
      A. It deletes an existing object.
      B. It defines a new class.
      C. It calls a function inside a class.
      D. It creates a new instance of a class (an object).

      Solution

      1. Step 1: Understand the role of new

        The new keyword is used to create an object from a class blueprint.
      2. Step 2: Differentiate from other keywords

        It does not delete objects, call functions, or define classes; it only creates objects.
      3. Final Answer:

        It creates a new instance of a class (an object). -> Option D
      4. Quick Check:

        new creates objects [OK]
      Hint: Remember: new = create object from class [OK]
      Common Mistakes:
      • Thinking new deletes objects
      • Confusing new with function calls
      • Believing new defines classes
      2.

      Which of the following is the correct syntax to create a new object of class Car?

      class Car {
        // class body
      }
      
      // Create object here
      
      easy
      A. $car = new Car();
      B. $car = Car();
      C. new $car = Car();
      D. $car = Car.new();

      Solution

      1. Step 1: Recall PHP object creation syntax

        In PHP, to create an object, use $variable = new ClassName();.
      2. Step 2: Check each option

        $car = new Car(); matches the correct syntax. The other options use invalid syntax: new before variable assignment, omitting the new keyword, or using dot notation.
      3. Final Answer:

        $car = new Car(); -> Option A
      4. Quick Check:

        Use new ClassName() to create objects [OK]
      Hint: Use $obj = new ClassName(); always [OK]
      Common Mistakes:
      • Omitting the new keyword
      • Placing new after variable
      • Using dot notation like other languages
      3.

      What will be the output of the following PHP code?

      class Dog {
        public $name;
        public function __construct($name) {
          $this->name = $name;
        }
        public function bark() {
          return "Woof! I am " . $this->name;
        }
      }
      
      $dog = new Dog("Buddy");
      echo $dog->bark();
      
      medium
      A. Woof! I am Buddy
      B. Woof! I am $name
      C. Error: Undefined property
      D. Woof! I am

      Solution

      1. Step 1: Understand constructor usage

        The constructor sets the name property to "Buddy" when the object is created.
      2. Step 2: Analyze the bark method output

        The bark() method returns "Woof! I am " concatenated with the name property, which is "Buddy".
      3. Final Answer:

        Woof! I am Buddy -> Option A
      4. Quick Check:

        Constructor sets name, bark returns it [OK]
      Hint: Constructor sets data; methods use it [OK]
      Common Mistakes:
      • Ignoring constructor parameters
      • Using variable name instead of property
      • Expecting syntax error due to missing parentheses
      4.

      Identify the error in this PHP code snippet:

      class Person {
        public $age;
        public function __construct($age) {
          $this->age = $age;
        }
      }
      
      $person = Person(25);
      echo $person->age;
      
      medium
      A. Property age should be private.
      B. Constructor should not have parameters.
      C. Missing new keyword when creating the object.
      D. Cannot echo object property directly.

      Solution

      1. Step 1: Check object instantiation syntax

        The object is created by calling Person(25) without new, which is invalid in PHP.
      2. Step 2: Correct the instantiation

        Use $person = new Person(25); to create the object properly.
      3. Final Answer:

        Missing new keyword when creating the object. -> Option C
      4. Quick Check:

        Always use new to instantiate objects [OK]
      Hint: Always use new before class name to create object [OK]
      Common Mistakes:
      • Forgetting new keyword
      • Thinking constructor can't have parameters
      • Confusing property visibility with errors
      5.

      Given this class:

      class Book {
        public $title;
        public $author;
        public function __construct($title, $author) {
          $this->title = $title;
          $this->author = $author;
        }
      }
      
      // Create an array of books with titles and authors
      $booksData = [
        ['1984', 'George Orwell'],
        ['Brave New World', 'Aldous Huxley'],
        ['Fahrenheit 451', 'Ray Bradbury']
      ];
      
      // Fill this array with Book objects
      $books = [];
      foreach ($booksData as $data) {
        // Fill here
      }
      

      Which line correctly creates and adds a new Book object to $books inside the loop?

      hard
      A. $books[] = new Book($data[1], $data[0]);
      B. $books[] = new Book($data[0], $data[1]);
      C. $books[] = new Book($data);
      D. $books[] = Book($data[0], $data[1]);

      Solution

      1. Step 1: Understand constructor parameters

        The constructor expects two parameters: title and author, in that order.
      2. Step 2: Match data array to constructor

        $data[0] is title, $data[1] is author, so new Book($data[0], $data[1]) is correct.
      3. Step 3: Add object to array

        Using $books[] = appends the new object to the array.
      4. Final Answer:

        $books[] = new Book($data[0], $data[1]); -> Option B
      5. Quick Check:

        Use new with correct params and append [OK]
      Hint: Match constructor params order exactly when using new [OK]
      Common Mistakes:
      • Omitting new keyword
      • Passing whole array instead of separate params
      • Swapping title and author order
      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