A class lets you create your own type of object with properties and actions. It helps organize code by grouping related things together.
When you want to model real-world things like a Car or a Person in your program.
When you need to group data and functions that work on that data.
When you want to create multiple similar objects with different values.
When you want to keep your code organized and reusable.
When you want to use object-oriented programming features.
Syntax
PHP
class ClassName {
// properties// methods
}
Class names usually start with a capital letter.
Inside the class, you define properties (variables) and methods (functions).
Examples
This defines a class named Car with a property color and a method drive.
PHP
class Car {
public $color;
publicfunction drive() {
echo"Driving";
}
}
This class Person has two properties and a method that says hello using the name.
PHP
class Person {
public $name;
public $age;
publicfunction greet() {
echo"Hello, my name is " . $this->name;
}
}
Sample Program
This program creates a Dog class with a name and a bark method. It makes a Dog named Buddy and calls bark to print a message.
PHP
<?php
class Dog {
public $name;
publicfunction bark() {
echo $this->name . " says Woof!";
}
}
$dog = new Dog();
$dog->name = "Buddy";
$dog->bark();
?>
OutputSuccess
Important Notes
Use public to make properties and methods accessible outside the class.
The $this keyword refers to the current object inside methods.
Always end statements with a semicolon inside the class.
Summary
Classes group related data and actions together.
Use class ClassName { } to declare a class.
Inside, define properties and methods to describe the object.
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.