📖 Scenario: You are creating a simple program to represent a car using a class in PHP. This will help you understand how to declare a class and create an object.
🎯 Goal: Build a PHP class called Car with a property and a method, then create an object and display its property.
📋 What You'll Learn
Declare a class named Car
Add a public property called color with the value red
Add a public method called getColor that returns the color property
Create an object of the Car class named myCar
Print the color of myCar using the getColor method
💡 Why This Matters
🌍 Real World
Classes help organize data and behavior together, like representing real things such as cars, users, or products in a program.
💼 Career
Understanding class declaration is essential for PHP developers to build organized, reusable, and maintainable code in web applications.
Progress0 / 4 steps
1
Declare the Car class with a color property
Write a PHP class declaration named Car with a public property called color set to the string "red".
PHP
Hint
Use the class keyword followed by the class name Car. Inside, declare a public property $color and set it to "red".
2
Add a getColor method to the Car class
Inside the Car class, add a public method called getColor that returns the value of the color property.
PHP
Hint
Define a public function named getColor inside the class. Use return $this->color; to return the property.
3
Create an object myCar of the Car class
After the Car class, create a new object named myCar using the new Car() syntax.
PHP
Hint
Use $myCar = new Car(); to create an object from the class.
4
Print the color of myCar using getColor
Write a print statement that outputs the color of myCar by calling its getColor() method.
PHP
Hint
Use print($myCar->getColor()); to show the color.
Practice
(1/5)
1. What is the correct way to start declaring a class named Car in PHP?
easy
A. class Car { }
B. function Car() { }
C. Car class { }
D. declare class Car { }
Solution
Step 1: Understand PHP class declaration syntax
In PHP, classes are declared using the keyword class followed by the class name and curly braces.
Step 2: Match the syntax to the options
class Car { } uses class Car { }, which is the correct syntax. Other options use incorrect keywords or order.
Final Answer:
class Car { } -> Option A
Quick Check:
PHP class declaration = class ClassName { } [OK]
Hint: Look for 'class' keyword followed by name and braces [OK]
Common Mistakes:
Using 'function' instead of 'class'
Placing 'class' after the name
Adding extra keywords like 'declare'
2. Which of the following is the correct syntax to declare an empty class named Person in PHP?
easy
A. class Person() { }
B. class Person[] { }
C. class Person {};
D. class Person { }
Solution
Step 1: Recall PHP class declaration syntax
PHP classes are declared with the keyword class, the class name, and curly braces without parentheses or brackets.
Step 2: Check each option
class Person { } uses class Person { }, which is correct. class Person() { } wrongly uses parentheses, B uses brackets, and D adds a semicolon after braces which is unnecessary.
Final Answer:
class Person { } -> Option D
Quick Check:
Empty class = class Name { } [OK]
Hint: No parentheses or brackets after class name [OK]
Common Mistakes:
Adding parentheses after class name
Using square brackets after class name
Adding unnecessary semicolon after class braces
3. What will be the output of this PHP code?
class Dog {
public $name = "Buddy";
}
$dog = new Dog();
echo $dog->name;
medium
A. Buddy
B. Dog
C. Error: Undefined property
D. null
Solution
Step 1: Understand the class and property
The class Dog has a public property $name set to "Buddy".
Step 2: Create an object and access property
Creating $dog = new Dog(); makes an object. Accessing $dog->name returns "Buddy".
Final Answer:
Buddy -> Option A
Quick Check:
Access public property = property value [OK]
Hint: Public properties can be accessed directly via object [OK]
Common Mistakes:
Expecting class name instead of property value
Forgetting to create an object before access
Assuming property is private and inaccessible
4. Identify the error in this PHP class declaration:
class Animal
public $type;
}
medium
A. Class name should be lowercase
B. Missing opening brace { after class name
C. Property must be static
D. Missing semicolon after class name
Solution
Step 1: Check class declaration syntax
PHP classes require an opening brace { immediately after the class name.
Step 2: Analyze the given code
The code has no opening brace after class Animal, causing a syntax error.
Final Answer:
Missing opening brace { after class name -> Option B
Quick Check:
Class declaration needs { after name [OK]
Hint: Always put { right after class name [OK]
Common Mistakes:
Omitting opening brace {
Thinking semicolon needed after class name
Confusing property declaration rules
5. You want to declare a PHP class Book with a property $title initialized to "PHP Basics" and a method getTitle() that returns the title. Which is the correct class declaration?
hard
A. class Book {
public $title;
public function getTitle() {
return $title;
}
}
B. class Book {
public $title = "PHP Basics";
function getTitle() {
return title;
}
}
C. class Book {
public $title = "PHP Basics";
public function getTitle() {
return $this->title;
}
}
D. class Book {
public $title = "PHP Basics";
public function getTitle() {
return $Book->title;
}
}
Solution
Step 1: Declare property with initial value
Property $title is declared public and initialized to "PHP Basics" correctly in class Book {
public $title = "PHP Basics";
public function getTitle() {
return $this->title;
}
}.
Step 2: Define method returning property
Method getTitle() must return $this->title to access the object's property. class Book {
public $title = "PHP Basics";
public function getTitle() {
return $this->title;
}
} does this correctly.
Step 3: Check other options for errors
class Book {
public $title = "PHP Basics";
function getTitle() {
return title;
}
} returns title without $this->, class Book {
public $title;
public function getTitle() {
return $title;
}
} returns $title which is undefined in method scope, class Book {
public $title = "PHP Basics";
public function getTitle() {
return $Book->title;
}
} uses $Book->title which is invalid inside class.
Final Answer:
class Book {
public $title = "PHP Basics";
public function getTitle() {
return $this->title;
}
} -> Option C
Quick Check:
Use $this->property inside methods [OK]
Hint: Use $this->property to access inside methods [OK]
Common Mistakes:
Returning property without $this-> inside method
Using variable names without $this->
Trying to access property with class name variable
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.