Bird
Raised Fist0
PHPprogramming~5 mins

Importing with use keyword in PHP

Choose your learning style10 modes available
Introduction

The use keyword helps you bring code from other places into your file so you can use it easily without writing full names every time.

When you want to use a class or function from another folder or namespace.
When you want to make your code shorter and easier to read.
When you want to avoid writing long names repeatedly.
When you want to organize your code better by separating parts into different files.
When you want to rename an imported class or function to avoid name conflicts.
Syntax
PHP
<?php
use Namespace\SubNamespace\ClassName;

// or with alias
use Namespace\SubNamespace\ClassName as AliasName;

The use statement must be placed at the top of your PHP file, after the <?php tag and before any other code.

You can import multiple classes or functions by writing multiple use lines.

Examples
This imports the User class from the App\Models namespace so you can create a new user easily.
PHP
<?php
use App\Models\User;

$user = new User();
This imports the Formatter class but renames it to Fmt to keep the code shorter.
PHP
<?php
use App\Helpers\Formatter as Fmt;

echo Fmt::formatDate('2024-06-01');
This imports a function named calculateSum from a namespace so you can call it directly.
PHP
<?php
use function App\Utils\calculateSum;

$result = calculateSum(5, 10);
Sample Program

This program defines a User class in one namespace and then imports it in another namespace using use. It creates a User object and calls its greet method.

PHP
<?php
namespace App\Models;

class User {
    public function greet() {
        return "Hello from User!";
    }
}

namespace App\Main;

use App\Models\User;

$user = new User();
echo $user->greet();
OutputSuccess
Important Notes

If you forget to import a class with use, PHP will look for it in the current namespace and may give an error if not found.

You can import classes, functions, and constants using use with slightly different syntax.

Using aliases with as helps when two imported classes have the same name.

Summary

The use keyword imports code from other namespaces or files to make your code cleaner.

Place use statements at the top of your PHP file after <?php.

You can rename imports with as to avoid name conflicts or shorten names.

Practice

(1/5)
1. What is the main purpose of the use keyword in PHP?
easy
A. To import classes or namespaces into the current file
B. To declare a new function
C. To start a PHP script
D. To create a new variable

Solution

  1. Step 1: Understand the role of use

    The use keyword is used to import classes or namespaces so you can use them without full names.
  2. Step 2: Compare with other options

    Declaring functions, starting scripts, or creating variables are unrelated to use.
  3. Final Answer:

    To import classes or namespaces into the current file -> Option A
  4. Quick Check:

    Importing code = use keyword [OK]
Hint: Remember: use imports code to simplify names [OK]
Common Mistakes:
  • Thinking use declares functions
  • Confusing use with variable assignment
  • Using use inside functions instead of top of file
2. Which of the following is the correct syntax to import the class Database\Connection using the use keyword?
easy
A. require Database\Connection;
B. import Database\Connection;
C. use Database\Connection;
D. include Database\Connection;

Solution

  1. Step 1: Identify correct import syntax

    In PHP, use is the correct keyword to import namespaces or classes.
  2. Step 2: Eliminate other keywords

    import is not valid PHP syntax; include and require load files but do not import namespaces.
  3. Final Answer:

    use Database\Connection; -> Option C
  4. Quick Check:

    use keyword imports namespaces [OK]
Hint: Use 'use' keyword, not import/include/require for namespaces [OK]
Common Mistakes:
  • Using import instead of use
  • Confusing include with use
  • Missing semicolon after use statement
3. Given the code:
namespace App;

use Library\Tools as ToolsAlias;

$tool = new ToolsAlias();
echo get_class($tool);

What will be the output?
medium
A. ToolsAlias
B. Library\Tools
C. App\ToolsAlias
D. Error: class not found

Solution

  1. Step 1: Understand aliasing with as

    The use statement imports Library\Tools as ToolsAlias, so new ToolsAlias() creates an instance of Library\Tools.
  2. Step 2: Check output of get_class()

    The get_class() function returns the full class name, which is Library\Tools.
  3. Final Answer:

    Library\Tools -> Option B
  4. Quick Check:

    Alias points to original class name [OK]
Hint: Alias keeps original class name for get_class() [OK]
Common Mistakes:
  • Expecting alias name as output
  • Confusing namespace with alias
  • Assuming error without class definition
4. What is wrong with this PHP code?
<?php
use MyApp\Utils;

function test() {
    use MyApp\Helpers;
}
medium
A. You cannot use use inside a function
B. Missing semicolon after use statement
C. Namespace name is invalid
D. Functions cannot be declared after use

Solution

  1. Step 1: Check placement of use keyword

    The use keyword for importing namespaces must be at the top level, not inside functions.
  2. Step 2: Validate other syntax

    Semicolons are present; namespace names look valid; functions can be declared after use statements.
  3. Final Answer:

    You cannot use use inside a function -> Option A
  4. Quick Check:

    use statements only at file top [OK]
Hint: Place use statements only at top, not inside functions [OK]
Common Mistakes:
  • Trying to import inside functions
  • Forgetting semicolons
  • Misunderstanding namespace rules
5. You have two classes with the same name Logger in different namespaces: Framework\Logger and App\Logger. How can you import both in one PHP file to use them without full names?
hard
A. use Framework\Logger; use App\Logger;
B. Cannot import two classes with same name
C. use Framework\Logger, App\Logger;
D. use Framework\Logger as FrameworkLogger; use App\Logger as AppLogger;

Solution

  1. Step 1: Understand name conflicts with imports

    When two classes share the same name, you must alias at least one to avoid conflicts.
  2. Step 2: Check options for aliasing

    use Framework\Logger as FrameworkLogger; use App\Logger as AppLogger; uses as to rename both classes uniquely. use Framework\Logger; use App\Logger; imports both without alias, causing conflict. use Framework\Logger, App\Logger; syntax is invalid. Cannot import two classes with same name is false.
  3. Final Answer:

    use Framework\Logger as FrameworkLogger; use App\Logger as AppLogger; -> Option D
  4. Quick Check:

    Alias same names to avoid conflicts [OK]
Hint: Use 'as' to rename same-named imports [OK]
Common Mistakes:
  • Importing same class names without alias
  • Using comma to import multiple classes in one use
  • Thinking it's impossible to import both
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