1.导入,就是使用use操作符

2.在一个类中导入了另一个类之后,当前的命名空间仍然是当前类的命名空间

3.注意对命名空间中的名称(包含命名空间分隔符的完全限定名称如 Foo\Bar以及相对的不包含命名空间分隔符的全局名称如 FooBar)来说,前导的反斜杠是不必要的也不推荐的,因为导入的名称必须是完全限定的,(也就是说use时的名称必须是完全限定的,这是默认的。因此不要带"\")不会根据当前的命名空间作相对解析。

上图的extend,对名称的解析方法,和new时是一样的,如下图

4.正常情况下,在类A的方法中导入类B,使用类B必须注明B的名称,否则会在A的命名空间基础上进行寻找

为什么tpshop的PAYMENTCONTROLLER.CLASS.PHP引入weixin不这样呢?

5.关于require/include,

require "a.php"和"./a.php"的寻找方法完全不一样

分两种情况:

1.被包含文件先按参数给出的路径寻找,如果没有给出目录(只有文件名)时则按照 include_path(注释1) 指定的目录寻找。如果在 include_path 下没找到该文件则 include 最后才在调用脚本文件所在的目录和当前工作目录下寻找。所以,,会在三个地方去找

看实例:

class weixin extends RelationModel
{
public $tableName = 'plugin'; // 插件表
public $alipay_config = array();// 支付宝支付配置参数 /**
* 析构流函数
*/
public function __construct() {
parent::__construct();
require_once('a/test.class.php');exit();
require_once("lib/WxPay.Api.php"); // 微信扫码支付demo 中的文件
require_once("example/WxPay.NativePay.php");
require_once("example/WxPay.JsApiPay.php");

例子中的require,开头都没有指定路径,所以,会去三个地方找

然后,如果指定了路径,不管是绝对还是相对,都会忽略include_path

如果定义了路径——不管是绝对路径(在 Windows 下以盘符或者 \ 开头,在 Unix/Linux 下以 / 开头)还是当前目录的相对路径(以 . 或者 .. 开头)——include_path 都会被完全忽略。例如一个文件以 ../ 开头,则解析器会在当前目录的父目录下寻找该文件。

注释1.

get_include_path

(PHP 4 >= 4.3.0, PHP 5)

get_include_path — 获取当前的 include_path 配置选项

说明

string get_include_path ( void )

获取当前 include_path配置选项的值。

set_include_path

(PHP 4 >= 4.3.0, PHP 5)

set_include_path — 设置 include_path 配置选项

说明

string set_include_path ( string $new_include_path )

为当前脚本设置 include_path运行时的配置选项。

使用set_include_path会用到的一个系统常量:PATH_SEPARATOR(windows下是分号";")

PHP使用命名空间:别名/导入(Aliasing/Importing)的更多相关文章

  1. 21.命名空间别名限定符::和global全局名称空间限定符

    命名空间别名限定符(::)用于查找标识符,它在指定的别名的命名空间中查找运算符,如下代码是在全局名称空间中查找System.Console.WriteLine("Hello World&qu ...

  2. C#中命名空间别名的使用

    C#中使用命名空间来分割不同的层级,在不同的层级中可以使用相同的类声明和变量声明.在程序中使用不同命名空间的下的相同名称的类时:可以用一下这几种方法进行限定: 1.使用完全限定名 using Syst ...

  3. thinkPHP5 命名空间别名

    命名空间别名 对比 use app\index\model\User; 和 use model\User; 关键:\think\Loader::addNamespaceAlias('model','a ...

  4. 从3D Studio Max导入物体 Importing Objects From 3D Studio Max

    原地址:http://game.ceeger.com/Manual/HOWTO-ImportObjectMax.html If you make your 3D objects in 3dsMax, ...

  5. 从maya导入物体 Importing Objects From Maya

    原地址:http://game.ceeger.com/Manual/HOWTO-ImportObjectMaya.html Unity natively imports Maya files. To ...

  6. c# 命名空间别名

    如果命名空间比较长的话,并且在程序中经常使用,就可以用using来设置命名空间的别名 ,C#引入了别名机制 缩短程序员开发时间如: using   NSSerialize = System.Compo ...

  7. 【C# 基础概念】命名空间

    命名空间 C#10 新功能==================== 命名空间格式:声明所有后续声明都是已声明的命名空间的成员: //C#10 命名空间的新写法,这种方式一个文件只能有一个命名空间. / ...

  8. PHP 命名空间(namespace)

    PHP 命名空间(namespace) PHP 命名空间(namespace)是在PHP 5.3中加入的,如果你学过C#和Java,那命名空间就不算什么新事物. 不过在PHP当中还是有着相当重要的意义 ...

  9. php命名空间

    命名空间概述 (PHP 5 >= 5.3.0, PHP 7) 什么是命名空间?从广义上来说,命名空间是一种封装事物的方法.在很多地方都可以见到这种抽象概念.例如,在操作系统中目录用来将相关文件分 ...

随机推荐

  1. EL表达式显示数据取整问题

    第一 插入fmt标签库 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%&g ...

  2. 8、SQL Server 表分区

    什么是表分区?表分区其实就是将一个大表分成若干个小表.表分区可以从物理上将一个大表分成几个小表,但是逻辑上还是一个表.所以当执行插入.更新等操作的时候,不需要我们去判断应该插入或更新到哪个表中.只需要 ...

  3. Json与Bean互转,Timestamp类型的问题

    Json与Java Bean互相转换时,Bean中的Timestamp字段是无法直接处理的,需要实现两个转换器. DateJsonValueProcessor的作用是Bean转换为Json时将Time ...

  4. asp.net mvc return file result

    asp.net mvc返回文件: public ActionResult ExportReflection(string accessToken) { var reflections = GetCms ...

  5. 安装XMind

    XMind是一款思维导图软件.可编辑整理头脑中的想法,以使其脉络更加清晰. 在学习知识过程中,用这个工具也不错. 官方网站:  http://www.xmind.net 其它版本: http://ww ...

  6. Sql Server中不常用的表运算符之PIVOT

    PIVOT是SQL Server2005新添加的一个表运算符,作用在于将行转为列. 先来看看他的基本语法: 来自http://technet.microsoft.com/zh-cn/library/m ...

  7. linux autoload service create

    ---恢复内容开始--- EXEC="php-fpm" stop(){ echo "Stoping $EXEC ..." ps aux | grep " ...

  8. VC++ MFC获取对话框上控件的位置

    CRect rect; GetDlgItem(控件ID)->GetWindowRect(&rect);//获取控件的屏幕坐标 ScreenToClient(&rect);//转换 ...

  9. Listbox简单用法

    <ListBox x:Name="ListBoxPatientAllergy" Grid.Row="1" ItemContainerStyle=" ...

  10. c语言-链表VS数组

    数组和链表的区别   数组是将元素在内存中连续存放,由于每个元素占用内存相同,可以通过下标迅速访问数组中任何元素.但是如果要在数组中增加一个元素,需要移动大量元素,在内存中空出一个元素的空间,然后将要 ...