Bird
Raised Fist0
PHPprogramming~5 mins

Global namespace access in PHP - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the global namespace in PHP?
The global namespace is the default space where PHP code runs if no namespace is declared. It contains all global functions, classes, and constants.
Click to reveal answer
beginner
How do you access a global function from inside a namespace in PHP?
Use a backslash (\) before the function name to access it from the global namespace, for example: \strlen('text').
Click to reveal answer
beginner
What does the leading backslash (\) mean in PHP code?
It tells PHP to look for the function, class, or constant in the global namespace, ignoring the current namespace.
Click to reveal answer
intermediate
Example: How to call the global PHP function array_merge inside a namespace?
Inside a namespace, call it as \array_merge($arr1, $arr2) to ensure you use the global function, not a namespaced one.
Click to reveal answer
intermediate
Why is global namespace access important in PHP namespaces?
It prevents naming conflicts by explicitly calling global functions or classes when inside a namespace, ensuring correct code behavior.
Click to reveal answer
In PHP, how do you call the global function strlen inside a namespace?
Aglobal\strlen('text')
Bstrlen('text')
C\strlen('text')
Dnamespace\strlen('text')
What does the leading backslash (\) do in PHP namespaces?
AComments out the code
BCalls a function in the current namespace
CDefines a new namespace
DCalls a function in the global namespace
If you omit the leading backslash when calling a function inside a namespace, what happens?
APHP calls a function in the current namespace
BPHP calls the global function
CPHP throws a syntax error
DPHP ignores the function call
Which of these is a correct way to access a global constant inside a namespace?
A\PHP_VERSION
BPHP_VERSION
Cnamespace\PHP_VERSION
Dglobal\PHP_VERSION
Why might you want to use global namespace access in PHP?
ATo create new namespaces
BTo avoid naming conflicts with local code
CTo speed up code execution
DTo disable namespaces
Explain how to call a global function from inside a PHP namespace and why it is necessary.
Think about how PHP searches for functions inside namespaces.
You got /3 concepts.
    Describe the role of the global namespace in PHP and how it interacts with user-defined namespaces.
    Consider what happens when you don't use namespaces.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does the leading backslash \ do when used before a function name inside a PHP namespace?
      easy
      A. It creates a new function inside the current namespace.
      B. It comments out the function call.
      C. It calls a function from the current namespace only.
      D. It accesses the function from the global namespace.

      Solution

      1. Step 1: Understand namespaces in PHP

        Namespaces group code to avoid name conflicts but can hide global functions.
      2. Step 2: Role of leading backslash

        The leading backslash tells PHP to look for the function in the global namespace, ignoring the current namespace.
      3. Final Answer:

        It accesses the function from the global namespace. -> Option D
      4. Quick Check:

        Leading backslash = global access [OK]
      Hint: Leading \ means use global function, not namespaced one [OK]
      Common Mistakes:
      • Thinking \ creates a new function
      • Assuming \ calls current namespace function
      • Confusing \ with escape character
      2. Which of the following is the correct syntax to call the global strlen function inside a namespace?
      easy
      A. \strlen('test');
      B. namespace\strlen('test');
      C. strlen('test');
      D. global strlen('test');

      Solution

      1. Step 1: Identify global function call syntax

        To call a global function inside a namespace, prefix it with a backslash \.
      2. Step 2: Check each option

        \strlen('test'); uses \strlen('test'); which correctly calls the global strlen function.
      3. Final Answer:

        \strlen('test'); -> Option A
      4. Quick Check:

        Backslash before function = global call [OK]
      Hint: Use \ before function name to call global version [OK]
      Common Mistakes:
      • Omitting the leading backslash inside namespaces
      • Using 'global' keyword incorrectly
      • Trying to prefix with 'namespace' keyword
      3. What will be the output of this PHP code?
      namespace MyApp;
      function strlen($str) {
          return 42;
      }
      
      echo strlen('hello');
      echo "-";
      echo \strlen('hello');
      medium
      A. 42-5
      B. 5-5
      C. 42-42
      D. 5-42

      Solution

      1. Step 1: Understand function calls inside namespace

        Calling strlen('hello') calls MyApp\strlen which returns 42.
      2. Step 2: Understand global function call

        Calling \strlen('hello') calls global strlen which returns length 5.
      3. Final Answer:

        42-5 -> Option A
      4. Quick Check:

        Namespaced strlen = 42, global strlen = 5 [OK]
      Hint: No \ calls local, \ calls global function [OK]
      Common Mistakes:
      • Assuming both calls return same value
      • Mixing up which strlen is called
      • Ignoring namespace effect on function calls
      4. Identify the error in this PHP code snippet inside a namespace:
      namespace Test;
      function array_sum($arr) {
          return 0;
      }
      
      $result = array_sum([1, 2, 3]);
      $result2 = \array_sum([1, 2, 3]);
      echo $result . ',' . $result2;
      medium
      A. Runtime error because \array_sum is undefined.
      B. Syntax error due to missing semicolon.
      C. No error, code runs and outputs '0,6'.
      D. Namespace keyword used incorrectly.

      Solution

      1. Step 1: Check function definitions and calls

        array_sum is redefined in namespace Test to always return 0.
      2. Step 2: Understand calls

        array_sum([1,2,3]) calls namespaced function returning 0; \array_sum calls global function returning 6.
      3. Final Answer:

        No error, code runs and outputs '0,6'. -> Option C
      4. Quick Check:

        Namespaced and global functions both called correctly [OK]
      Hint: Leading \ calls global function, no syntax error [OK]
      Common Mistakes:
      • Thinking \array_sum is undefined
      • Expecting syntax errors from backslash
      • Confusing namespace keyword usage
      5. You have a namespaced class MyApp\Logger and a global class Logger. How do you instantiate the global Logger inside the MyApp namespace?
      hard
      A. $log = new Logger();
      B. $log = new \Logger();
      C. $log = new MyApp\Logger();
      D. $log = new global\Logger();

      Solution

      1. Step 1: Understand class instantiation in namespaces

        Without backslash, new Logger() looks for MyApp\Logger inside the namespace.
      2. Step 2: Use leading backslash to access global class

        new \Logger() creates an instance of the global Logger class.
      3. Final Answer:

        $log = new \Logger(); -> Option B
      4. Quick Check:

        Leading \ before class = global class instantiation [OK]
      Hint: Use \ before class name to instantiate global class [OK]
      Common Mistakes:
      • Omitting \ and getting namespaced class
      • Using 'global\' which is invalid
      • Confusing namespace prefix with global access
      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