Bird
Raised Fist0
PHPprogramming~15 mins

Constants in classes in PHP - Mini Project: Build & Apply

Choose your learning style10 modes available
Constants in classes
📖 Scenario: Imagine you are creating a simple program to represent different types of vehicles. Each vehicle type has a fixed number of wheels that never changes. You want to store these fixed numbers as constants inside a class to keep your code organized and clear.
🎯 Goal: You will create a PHP class called Vehicle with constants for different vehicle types and their fixed number of wheels. Then, you will print out the number of wheels for a specific vehicle type using the class constant.
📋 What You'll Learn
Create a class named Vehicle.
Inside the class, define constants CAR_WHEELS with value 4 and MOTORCYCLE_WHEELS with value 2.
Outside the class, print the value of the constant CAR_WHEELS using the class name.
💡 Why This Matters
🌍 Real World
Constants in classes help keep fixed values organized and easy to maintain, like fixed settings or limits in a program.
💼 Career
Understanding class constants is important for writing clean, maintainable code in PHP, which is widely used in web development jobs.
Progress0 / 4 steps
1
Create the Vehicle class with constants
Create a class called Vehicle with two constants: CAR_WHEELS set to 4 and MOTORCYCLE_WHEELS set to 2.
PHP
Hint

Use the const keyword inside the class to define constants.

2
Add a variable to hold the vehicle type
Create a variable called vehicleType and set it to the string 'CAR_WHEELS'.
PHP
Hint

Use a simple variable assignment with the exact string 'CAR_WHEELS'.

3
Access the constant using the variable
Create a variable called wheels and set it to the value of the constant in Vehicle class using the variable vehicleType. Use Vehicle::${vehicleType} syntax.
PHP
Hint

Use the constant() function to access a class constant dynamically.

4
Print the number of wheels
Print the value of the variable wheels using echo.
PHP
Hint

Use echo $wheels; to display the number of wheels.

Practice

(1/5)
1. What keyword is used to declare a constant inside a PHP class?
easy
A. let
B. var
C. const
D. static

Solution

  1. Step 1: Understand constant declaration in PHP classes

    In PHP, constants inside classes are declared using the const keyword, which defines a fixed value that cannot change.
  2. Step 2: Differentiate from other keywords

    var is used for properties (deprecated), let is not a PHP keyword, and static is for static properties or methods, not constants.
  3. Final Answer:

    const -> Option C
  4. Quick Check:

    Class constants use const keyword [OK]
Hint: Use 'const' to declare fixed values in classes [OK]
Common Mistakes:
  • Using 'var' instead of 'const'
  • Trying to use 'let' which is not PHP
  • Confusing 'static' with constants
2. Which of the following is the correct syntax to access a class constant named VERSION in PHP?
easy
A. ClassName::VERSION
B. $obj->VERSION
C. ClassName->VERSION
D. $obj:VERSION

Solution

  1. Step 1: Recall how to access class constants

    Class constants are accessed using the scope resolution operator :: with the class name, like ClassName::CONSTANT.
  2. Step 2: Identify incorrect options

    $obj->VERSION tries to access a property, not a constant; ClassName->VERSION is invalid syntax; $obj:VERSION uses single colon which is invalid syntax.
  3. Final Answer:

    ClassName::VERSION -> Option A
  4. Quick Check:

    Access constants with ClassName::CONSTANT [OK]
Hint: Use ClassName::CONSTANT to access class constants [OK]
Common Mistakes:
  • Using object operator -> instead of ::
  • Trying to access constants as properties
  • Confusing variable and class name usage
3. What will be the output of the following PHP code?
class Car {
    const WHEELS = 4;
}
echo Car::WHEELS;
medium
A. 4
B. WHEELS
C. Error: Undefined constant
D. null

Solution

  1. Step 1: Identify the constant declaration

    The class Car declares a constant WHEELS with value 4.
  2. Step 2: Understand the echo statement

    The code prints the value of Car::WHEELS, which is 4.
  3. Final Answer:

    4 -> Option A
  4. Quick Check:

    Class constant value printed = 4 [OK]
Hint: ClassName::CONSTANT prints the constant's value [OK]
Common Mistakes:
  • Expecting the name 'WHEELS' to print
  • Thinking it causes an error
  • Confusing constants with variables
4. What is wrong with this PHP code?
class Book {
    const TITLE = 'PHP Basics';
}

$book = new Book();
echo $book::TITLE;
medium
A. Cannot access constant via object instance with ::
B. Constant TITLE is not declared correctly
C. Missing semicolon after constant declaration
D. Code will output 'PHP Basics' without error

Solution

  1. Step 1: Verify constant declaration

    The class Book correctly declares const TITLE = 'PHP Basics';.
  2. Step 2: Verify access syntax

    $book = new Book(); creates an instance, and $book::TITLE is valid syntax to access the class constant from an instance. The code outputs PHP Basics without error.
  3. Final Answer:

    Code will output 'PHP Basics' without error -> Option D
  4. Quick Check:

    $instance::CONSTANT is valid [OK]
Hint: ClassName::CONSTANT or $instance::CONSTANT both valid [OK]
Common Mistakes:
  • Using -> for constants instead of ::
  • Declaring with var instead of const
  • Thinking $instance::CONSTANT is invalid
5. Given the class below, which code correctly prints the constant STATUS without creating an object?
class Server {
    const STATUS = 'Online';
}
hard
A. echo Server->STATUS;
B. echo Server::STATUS;
C. echo $server::STATUS;
D. echo Server::status;

Solution

  1. Step 1: Identify correct constant access syntax

    Constants are accessed using the class name and the scope resolution operator :: with the exact constant name in uppercase.
  2. Step 2: Evaluate each option

    Server->STATUS is invalid because -> is for object properties; $server::STATUS is invalid because $server is undefined and constants should be accessed via class name; Server::status is wrong due to case sensitivity; only Server::STATUS is correct.
  3. Final Answer:

    echo Server::STATUS; -> Option B
  4. Quick Check:

    Use ClassName::CONSTANT with exact case [OK]
Hint: Use ClassName::CONSTANT with exact uppercase name [OK]
Common Mistakes:
  • Using object operator -> instead of ::
  • Ignoring case sensitivity in constant names
  • Trying to access constants via undefined variables
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