php namespace用法

其实纠结了很久要不要使用这个东西,但是看看了最新的框架laravel,cakephp等等的新版本都使用上了,所以还是随大流顺便学习下。

namespace和c++里面的概念差不多,只是用法有点差别。

首先,如果我在index.php文件中想使用db/mysql.php这个文件里的mysql这个类。

使用方法如下:

mysql.php文件:

namespace DB;

class Mysql
{

    public function index(){
        echo ‘im mysql‘;
    }
}

index.php文件

namespace test;  //  声明当前文件为test命名空间下。

use DB\Mysql;    //使用db命名空间下的mysql类,仅仅use DB;是不行的。!!!!

include ‘db/mysql.php‘;   //引入mysql.php这个文件。

$obj = new Mysql();  //这样就可以用了。

OK,继续,如果不想用use xxxx,也可以直接$obj = new \DB\Mysql();前提是也要include mysql.php这个文件。这里有个细微差别。

$obj = new Mysql();     //从公共区域查找mysql类.(这里的公共区域是指没有被命名空间包含的代码以及系统函数)

$obj = new DB\Mysql();    //从当前空间(这里假如是test)下的DB空间里 查找mysql类。(符合此要求的mysql声明为namespace test\DB)

$obj = new \DB\Mysql();   //从命名空间根部查找DB空间的mysql类。

时间: 2024-10-08 10:19:21

php namespace用法的相关文章

1.namesapce用法

namespace用法示例 1 #include <iostream> 2 using namespace std; 3 4 //定义域名空间 5 namespace myspace 6 { 7 int num = 45; 8 void show() 9 { 10 cout << num << endl; 11 } 12 } 13 14 //使用域名空间 15 using namespace myspace; 16 17 void main() 18 { 19 mysp

[李景山php]每天TP5-20161217|thinkphp5-helper.php-2

<?php // +---------------------------------------------------------------------- // | ThinkPHP [ WE CAN DO IT JUST THINK ] // +---------------------------------------------------------------------- // | Copyright (c) 2006~2016 http://thinkphp.cn All 

C++ 中不容忽视的API 错误设计

  对于许多C ++开发人员来说,API设计可能会在其优先级列表中排名第3或第4.大多数开发人员都倾向于使用C ++来获得原始功能和控制权.因此,性能和优化的想法占据这些开发者的时间的百分之八十.    当然,每个C ++开发人员都会考虑头文件设计的各个方面,但是API设计不仅仅是头文件设计那样.事实上,我强烈建议每一个开发人员在其API的设计上,无论是面向公共还是面向内部,都给予一些帮助,因为这样可以节省你大量的维护成本,提供平滑的升级路径,并为你的客户节省麻烦.    下面列出的许多错误都是

namespace的用法

C++中采用的是单一的全局变量命名空间.在这单一的空间中,如果有两个变量或函数的名字完全相同,就会出现冲突.当然,你也可以使用不同的名字,但有时我们并不知道另一个变量也使用完全相同的名字:有时为了程序的方便,必需使用同一名字.比如你定义了一个变量string user_name, 有可能在你调用的某个库文件或另外的程序代码中也定义了相同名字的变量,这就会出现冲突.命名空间就是为解决C++中的变量.函数的命名冲突而服务的.解决的办法就是将你的strTemp变量定义在一个不同名字的命名空间中.就好像

C++ 之namespace常见用法

一.背景 需要使用Visual studio的C++,此篇对namespace的常用用法做个记录. 二.正文 namespace通常用来给类或者函数做个区间定义,以使编译器能准确定位到适合的类或者函数. 譬如说,自行实现了一个函数test(void),而在该项目的库函数内也定义了一个函数test(void); 当你调用test();函数的时候,编译器就困惑了,该调用哪个呢?这个时候namespace的作用就 显现出来了. namespace的定义用法: namespace namespace_n

c++ namespace简单用法

提供一个小例子,例子来源于<c++程序设计语言>,总共包含3个文件,分别是命名空间声明的文件Stack.h,命名空间的实现文件Stack.cpp,以及命名空间的使用文件main.c 下面是相关代码: Stack.h: 1 namespace Stack{ 2 void push(int e); 3 int pop(); 4 } Stack.cpp: 1 #include"stack.h" 2 3 namespace Stack{ 4 const int max_size=1

C++中namespace的用法理解

最近在学习学习大疆OSDK开发,本人只学过C语言,对于C++中的一些用法不是很熟悉,在这里记录一下自己学习过程: 命名空间namespace一般用来给类或者函数做区间定义,从而使编译器能准确定位到适合的类或者函数.比如自行定义了一个函数test(void),而在该项目的库函数内也定义了一个函数test(void);当你调用test();函数的时候,编译器便不知道该调用哪个,从而引发错误,这个时候namespace的作用就显现出来了. namespace的定义用法: 1 namespace nam

thinkphp3.2 namespace及use用法

PHP 5.3中的namespace其实是个不错的东西,可以简化编程,下面介绍三类在代码中 访问namespace中类的方法 1 引用namespace和类   假设namespace的程序为namespaced-class.php namespace Christmas\DaysOf; class PartridgeInAPearTree{ } 引用方法:   include 'namespaced-class.php'; $bird1 = new Christmas\DaysOf\Partr

PHP命令空间namespace及use的用法实践总结

看PHP中的命名空间和use namespace app\admin\model; use think\Model; use think\Db; 综上可以看出,命名空间就是相当于一个文件夹的路径. 同一个命名空间下,不能有相同的类文件. 同名的类文件可以存在于不同的命名空间下面. 用了命名空间,可以方便的调用其他文件夹下的文件. 只需要通过using.import.use引入命名空间下的文件即可. 从5.3开始你可以使用命名空间来组织你的代码了. 不同的命名空间内可以包含相同名字的类.函数以及常