Home Backend Development PHP Tutorial Detailed explanation of thinkphp namespace usage examples

Detailed explanation of thinkphp namespace usage examples

Jul 29, 2016 am 09:08 AM
class namespace nbsp test thinkphp

The examples in this article describe the usage of thinkphp namespace. Share it with everyone for your reference, the details are as follows:

The new version (3.2) uses namespace to define and load class library files, solves conflicts between multiple modules, and implements a more efficient automatic loading mechanism.

You need to define the namespace where the class library is located. The path of the namespace is consistent with the directory of the class library file, so that the class can be automatically loaded. For example, the OrgUtilFile class is defined as

namespace Org\Util;
class File {
}

Copy after login

The path where it is located is ThinkPHP/ Library/Org/Util/File.class.php, we instantiate this class as follows:

Copy the code The code is as follows:

$class = new OrgUtilFile();


The system will automatically load the above file, This eliminates the need to import the class library file before instantiating the namespace-defined class.

The root namespace is a very key concept. Take the OrgUtilFile class above as an example. Org is a root namespace, and its corresponding initial namespace directory is the system's class library directory ThinkPHP/Liberary, which is the next level sub-directory. Directories are automatically recognized as root namespaces, and these namespaces can be used without registration.

We add a new My root namespace directory under the Library directory, and then define a Test class as follows:

namespace My;
class Test
{
   public function sayHello()
  {
    echo 'hello';
  }
}

Copy after login

Save the test class in ThinkPHP/Liberary/My/Test.class.php, and we can instantiate it directly The class library namespace in the

$Test = new \My\Test();
$Test->sayHello();

Copy after login

module is named after the module name, for example:

namespace Home\Model;
class UserModel extends \Think\Model
{
}

Copy after login

its class file is located in Application/Home/Model/UserModel.class.php

namespace Admin\Event;
class UserEvent {
}

Copy after login

its class The file is located in Application/Admin/Event/UserEvent.class.php

3.2.1 or above allows setting not to use namespaces for application class libraries. The settings in the configuration file are as follows:

Copy the codeThe code is as follows:

'APP_USE_NAMESPACE' => false,


In this way, the application class library no longer needs to use the namespace definition, but you still need to use the namespace when inheriting and calling the core class library. For example, the following application class library will not Then write namespace AdminModel;

class UserModel extends \Think\Model {
}

Copy after login

Special note: If you need to instantiate PHP's built-in class library or a third-party class that is not defined using a namespace in version 3.2, you need to use the following method:

$class =  new \stdClass();
$sxml =  new \SimpleXmlElement($xmlstr);

Copy after login

I hope that what this article describes will be helpful to everyone’s PHP programming based on the thinkPHP framework.

The above introduces the detailed explanation of thinkphp namespace usage examples, including aspects of content. I hope it will be helpful to friends who are interested in PHP tutorials.

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Have Crossplay?
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Huawei Watch GT 5 smartwatch gets update with new features Huawei Watch GT 5 smartwatch gets update with new features Oct 03, 2024 am 06:25 AM

Huawei is rolling out software version 5.0.0.100(C00M01) for the Watch GT 5 and the Watch GT 5 Prosmartwatchesglobally. These two smartwatches recently launched in Europe, with the standard model arriving as the company’s cheapest model. This Harmony

Tekken\'s Colonel Sanders dream fried by KFC Tekken\'s Colonel Sanders dream fried by KFC Oct 02, 2024 am 06:07 AM

Katsuhiro Harada, the Tekken series director, once seriously tried to bring Colonel Sanders into the iconic fighting game. In an interview with TheGamer, Harada revealed that he pitched the idea to KFC Japan, hoping to add the fast-food legend as a g

First look: Leaked unboxing video of upcoming Anker Zolo 4-port 140W wall charger with display First look: Leaked unboxing video of upcoming Anker Zolo 4-port 140W wall charger with display Oct 01, 2024 am 06:32 AM

Earlier in September 2024, Anker's Zolo 140W charger was leaked, and it was a big deal since it was the first-ever wall charger with a display from the company. Now, a new unboxing video from Xiao Li TV on YouTube gives us a first-hand look at the hi

New Xiaomi Mijia Graphene Oil Heater with HyperOS arrives New Xiaomi Mijia Graphene Oil Heater with HyperOS arrives Oct 02, 2024 pm 09:02 PM

Xiaomi will shortly launch the Mijia Graphene Oil Heater in China. The company recently ran a successful crowdfunding campaign for the smart home product, hosted on its Youpin platform. According to the page, the device has already started to ship to

Garmin releases Adventure Racing activity improvements for multiple smartwatches via new update Garmin releases Adventure Racing activity improvements for multiple smartwatches via new update Oct 01, 2024 am 06:40 AM

Garmin is ending the month with a new set of stable updates for its latest high-end smartwatches. To recap, the company released System Software 11.64 to combat high battery drain across the Enduro 3, Fenix E and Fenix 8 (curr. $1,099.99 on Amazon).

ThinkPHP6 routing: How to completely obtain URL parameters containing special characters such as Chinese? ThinkPHP6 routing: How to completely obtain URL parameters containing special characters such as Chinese? Apr 01, 2025 pm 02:51 PM

ThinkPHP6 routing parameters are processed in Chinese and complete acquisition. In the ThinkPHP6 framework, URL parameters containing special characters (such as Chinese and punctuation marks) are often processed...

How to solve the problem of cURL error 77 when connecting to Elasticsearch 8 using ThinkPHP6 and elasticsearch-php clients? How to solve the problem of cURL error 77 when connecting to Elasticsearch 8 using ThinkPHP6 and elasticsearch-php clients? Mar 31, 2025 pm 11:36 PM

Using the ThinkPHP6 framework combined with elasticsearch-php client to operate Elasticsearch...

How to query the sum of two columns of data at the same time in ThinkPHP6? How to query the sum of two columns of data at the same time in ThinkPHP6? Apr 01, 2025 pm 02:54 PM

ThinkPHP6 database query: How to use TP6 to implement SQL statements SELECTSUM(jin), SUM(chu)FROMsysdbuil In ThinkPHP6 framework, how to use SQL statement SELECT...

See all articles