Bird
Raised Fist0
PHPprogramming~10 mins

Namespace declaration syntax in PHP - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to declare a namespace named MyApp.

PHP
<?php

namespace [1];

class User {}
Drag options to blanks, or click blank then click option'
Amyapp
BMyApp
CApp\My
DMy_App
Attempts:
3 left
💡 Hint
Common Mistakes
Using lowercase or underscores instead of the exact namespace name.
Adding extra backslashes or characters.
2fill in blank
medium

Complete the code to declare a nested namespace named App\Controllers.

PHP
<?php

namespace [1];

class HomeController {}
Drag options to blanks, or click blank then click option'
AApp\Controllers
BApp_Controllers
CApp.Controllers
DApp/Controllers
Attempts:
3 left
💡 Hint
Common Mistakes
Using forward slashes or dots instead of backslashes.
Using underscores instead of backslashes.
3fill in blank
hard

Fix the error in the namespace declaration syntax.

PHP
<?php

[1] MyApp;

class Product {}
Drag options to blanks, or click blank then click option'
Anamespace
Bnamespace;
Cnamespaces
DNamespace
Attempts:
3 left
💡 Hint
Common Mistakes
Capitalizing the keyword.
Adding a semicolon after the keyword.
4fill in blank
hard

Fill both blanks to declare a namespace and define a class inside it.

PHP
<?php

[1] [2];

class Order {}
Drag options to blanks, or click blank then click option'
Anamespace
BOrderApp
COrders
Dnamespace;
Attempts:
3 left
💡 Hint
Common Mistakes
Adding a semicolon after the keyword in the first blank.
Using an incorrect namespace name.
5fill in blank
hard

Fill all three blanks to declare a nested namespace and define a class inside it.

PHP
<?php

[1] [2]\[3];

class Customer {}
Drag options to blanks, or click blank then click option'
Anamespace
BApp
CModels
DNamespace
Attempts:
3 left
💡 Hint
Common Mistakes
Capitalizing the keyword.
Using forward slashes or dots instead of backslashes.
Adding extra characters or spaces.

Practice

(1/5)
1. What is the correct way to declare a namespace in a PHP file?
easy
A. use MyApp;
B. namespace MyApp;
C. package MyApp;
D. module MyApp;

Solution

  1. Step 1: Understand PHP namespace declaration

    PHP uses the keyword namespace to declare namespaces at the top of a file.
  2. Step 2: Identify the correct syntax

    The correct syntax is namespace MyApp; with a semicolon at the end.
  3. Final Answer:

    namespace MyApp; -> Option B
  4. Quick Check:

    Keyword 'namespace' declares namespaces [OK]
Hint: Use 'namespace' keyword followed by name and semicolon [OK]
Common Mistakes:
  • Using 'package' instead of 'namespace'
  • Forgetting the semicolon at the end
  • Using 'use' to declare namespace
  • Writing 'module' which is not valid in PHP
2. Which of the following is the correct syntax to declare a nested namespace in PHP?
easy
A. namespace MyApp/Utils;
B. namespace MyApp-Utils;
C. namespace MyApp.Utils;
D. namespace MyApp\Utils;

Solution

  1. Step 1: Recognize namespace separator in PHP

    PHP uses backslashes (\) to separate nested namespaces.
  2. Step 2: Check each option for correct separator

    Only namespace MyApp\Utils; uses backslashes correctly: namespace MyApp\Utils;.
  3. Final Answer:

    namespace MyApp\Utils; -> Option D
  4. Quick Check:

    Backslash separates nested namespaces [OK]
Hint: Use double backslash \ for nested namespaces [OK]
Common Mistakes:
  • Using forward slash / instead of backslash
  • Using dot . or dash - which are invalid
  • Omitting the semicolon at the end
3. What will be the output of the following PHP code?
<?php
namespace App\Tools;
class Helper {
  public static function greet() {
    return 'Hello from Helper';
  }
}

use App\Tools\Helper;
echo Helper::greet();
?>
medium
A. Hello from Helper
B. Fatal error: Class 'Helper' not found
C. Hello from App\Tools\Helper
D. Syntax error

Solution

  1. Step 1: Understand namespace and use statement

    The class Helper is declared inside namespace App\Tools. The use statement imports it so we can call Helper directly.
  2. Step 2: Check method call and output

    Calling Helper::greet() returns the string 'Hello from Helper'.
  3. Final Answer:

    Hello from Helper -> Option A
  4. Quick Check:

    Use imports class, method returns greeting [OK]
Hint: Use imports namespace class to call methods directly [OK]
Common Mistakes:
  • Forgetting to use the 'use' statement
  • Calling class without full namespace
  • Assuming output includes namespace name
  • Syntax errors from missing semicolons
4. Identify the error in this PHP namespace declaration:
<?php
namespace MyApp\Utils
class Logger {}
?>
medium
A. Class name Logger is invalid
B. Namespace name cannot contain backslashes
C. Missing semicolon after namespace declaration
D. Namespace must be declared after class

Solution

  1. Step 1: Check namespace declaration syntax

    The namespace declaration must end with a semicolon (;).
  2. Step 2: Identify missing semicolon

    The code misses the semicolon after namespace MyApp\Utils.
  3. Final Answer:

    Missing semicolon after namespace declaration -> Option C
  4. Quick Check:

    Namespace declarations require semicolon [OK]
Hint: Always end namespace line with semicolon [OK]
Common Mistakes:
  • Omitting semicolon after namespace
  • Thinking backslash is invalid in namespace
  • Placing namespace after class
  • Misnaming classes
5. You want to declare two nested namespaces Company\Project\Module in one PHP file. Which is the correct way to do this?
hard
A. namespace Company\Project\Module; class Feature {}
B. namespace Company; namespace Project; namespace Module; class Feature {}
C. namespace Company/Project/Module; class Feature {}
D. namespace Company.Project.Module; class Feature {}

Solution

  1. Step 1: Understand nested namespace declaration

    PHP allows declaring nested namespaces in one line using backslashes.
  2. Step 2: Evaluate each option

    namespace Company\Project\Module; class Feature {} correctly declares nested namespaces with backslashes and a semicolon. Separate declarations like namespace Company; namespace Project; namespace Module; class Feature {} place the class in top-level Module, not nested under Company\Project. Using forward slashes or dots as separators is invalid.
  3. Final Answer:

    namespace Company\Project\Module; class Feature {} -> Option A
  4. Quick Check:

    Nested namespaces use backslashes in one declaration [OK]
Hint: Use one namespace line with backslashes for nesting [OK]
Common Mistakes:
  • Declaring multiple namespaces in one file incorrectly
  • Using slashes or dots instead of backslashes
  • Forgetting semicolon after namespace
  • Trying to declare nested namespaces on separate lines
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