文档章节

设计模式(二)——命名空间

宁少爷
 宁少爷
发布于 2016/04/26 02:07
字数 360
阅读 70
收藏 0

一、概述

    名称:命名空间

    关键字:namespace

    目的:解决数据名称冲突,提高代码可读性

    格式:namespace 空间名

    举例:

<?php
namespace Test;

二、代码实现

  1.目录搭建

|-Works
|---Common
|-----Test_1.class.php
|---Lib
|-----Test.class.php
|---index.php

2.Common/Test_1.class.php

<?php
namespace Common;

class Test {
    public function g(){
        echo __FILE__;
    }
}

3.Lib/Test.class.php

<?php
namespace Lib;

class Test {
    public function g(){
        echo __FILE__;
    }
}

3.index.php

<?php

//引入文件
include_once "Lib/Test.class.php";
include_once "Common/Test_1.class.php";


//实例化
$t1=new Lib\Test;//使用命名空间实例化类
$t1->g();


echo "<br/>";
//实例化
$t2=new Common\Test;
$t2->g();

4.运行结果

E:\wamp\www\Work\Lib\Test.class.php
E:\wamp\www\Work\Common\Test_1.class.php

备注:当我们运行后会发现,在index.php文件中同时引入两个同类名Test的类文件,却不会报错,其原因就是命名空间解决了同名的冲突,但是在实例化类的时候注意要带上命名空间,不然会出错!

© 著作权归作者所有

宁少爷

宁少爷

粉丝 1
博文 9
码字总数 2813
作品 0
合肥
程序员
私信 提问
Java 设计模式(14) —— 复合模式

一、复合模式 模式常一起使用,组合在一个设计解决方案中 复合模式在一个解决方案中结合两个或多个模式,能解决一般性或一系列的问题 二、示例 本次设计模式讲解中无代码示例,由于复合模式是...

磊_lei
2018/05/26
0
0
《JavaScript设计模式与开发实践》最全知识点汇总大全

系列文章: 《JavaScript设计模式与开发实践》基础篇(1)—— this、call 和 apply 《JavaScript设计模式与开发实践》基础篇(2)—— 闭包和高阶函数 《JavaScript设计模式与开发实践》模式...

嗨呀豆豆呢
01/04
0
0
《JavaScript设计模式与开发实践》原则篇(2)—— 最少知识原则

最少知识原则(LKP)说的是一个软件实体应当尽可能少地与其他实体发生相互作用。这 里的软件实体是一个广义的概念,不仅包括对象,还包括系统、类、模块、函数、变量等。 单一职责原则指导我们...

嗨呀豆豆呢
2018/12/30
0
0
JavaScript设计模式系列三之单例模式(附案例源码)

文章初衷 设计模式其实旨在解决语言本身存在的缺陷 目前javaScript一些新的语法特性已经集成了一些设计模式的实现, 大家在写代码的时候,没必要为了用设计模式而去用设计模式, 那么我这边为什...

小钱钱阿圣
2017/09/22
0
0
设计模式已经陨落了?

你现在是坐在一个程序员旁边吗?如果是的话,那么在你读下面的段落之前,有一个简单的实验。让他们到一边去,问问他们两个问题并记录下答案。首先问他们“什么是设计模式?”然后再问“说出你...

oschina
2014/03/11
9.5K
69

没有更多内容

加载失败,请刷新页面

加载更多

正则表达式匹配

请实现一个函数用来匹配包括 '.' 和 '*' 的正则表达式。模式中的字符 '.' 表示任意一个字符,而 '*' 表示它前面的字符可以出现任意次(包含 0 次)。 在本题中,匹配是指字符串的所有字符匹配...

Garphy
今天
7
0
Laravel 5.1的多路由文件的配置

默认的路由配置文件只有一个, \app\Http\routes.php。 在同一个文件中写路由容易起冲突,文件会越来越大,就需要定义多个路由文件。 找到加载\app\Http\routes.php的文件, 打开\app\Provid...

mdoo
今天
5
0
Hibernate 5 开始使用指南前言

同时在面向对象软件和关系型数据库进行工作,可能会非常复杂和费时。数据在对象和数据库之间可能会不一致,然后导致开发成本会非常高。 Hibernate 是一个针对 Java 环境的对象关系映射(Obj...

honeymoose
今天
6
0
聊聊nacos ServiceManager的UpdatedServiceProcessor

序 本文主要研究一下nacos ServiceManager的UpdatedServiceProcessor ServiceManager.init nacos-1.1.3/naming/src/main/java/com/alibaba/nacos/naming/core/ServiceManager.java @Compone......

go4it
今天
7
0
正则表达式的使用(QQ格式的判断与空格的切割)

//正则表达式的使用 public static void main(String[] args) throws IOException, ClassNotFoundException { //test1("123456"); test2("-1 99 kk"); } /** * ......

zhengzhixiang
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部