PHP中的use、命名空间的理解
看.Net中的命名空间和using
using Ddd.Core;
using Ddd.Core.Caching;
using Ddd.Core.Data;
using Ddd.Core.Domain.Customers;
using Ddd.Core.Domain.QiNiu;
using Ddd.Services.Events;
using System;
using System.Collections.Generic;
using System.Linq;
namespace Ddd.Services.QiNiu
看Java中的命名空间和import
package demo.jq.com.relativelayout;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
看PHP中的命名空间和use
namespace app\admin\model;
use think\Model;
use think\Db;
综上可以看出,命名空间就是相当于一个文件夹的路径。同一个命名空间下,不能有相同的类文件。同名的类文件可以存在于不同的命名空间下面。
用了命名空间,可以方便的调用其他文件夹下的文件。
只需要通过using、import、use引入命名空间下的文件即可。
然后就可以在方法中新建对象了。
use app\admin\model\LiveRecharge;
$LiveRecharge = new LiveRecharge();
看.Net或者Java,可以看出using、import可以引入一些系统自带的类文件。
模块用到哪个,引入相应的系统类即可。
Thinkphp5中使用了命名空间的机制,表面上看麻烦了,每个类都需要写命名空间,其实是方便了。
有了命名空间,能够更便捷的使用各个模块的类,可以方便的引入外部模块,可以方便的使用其他模块的Model,或者一些通用的类引入都便捷了。
让PHP更加的面向对象。
注意:use不等于require_once或者include,use的前提是已经把文件包含进当前文件。
PHP中的use、命名空间的理解的更多相关文章
- Android中XML的命名空间、自定义属性
命名空间(namespace) XML 命名空间提供避免元素命名冲突的方法. 举个例子,A学校有名学生叫做林小明,B学校也有名学生叫林小明,那我们如何识别这两名拥有相同名字的同学呢?这时候命名空间就派 ...
- C#中对IDisposable接口的理解
http://blog.sina.com.cn/s/blog_8abeac5b01019u19.html C#中对IDisposable接口的理解 本人最近接触一个项目,在这个项目里面看到很多类实现了 ...
- js中的回调函数的理解和使用方法
js中的回调函数的理解和使用方法 一. 回调函数的作用 js代码会至上而下一条线执行下去,但是有时候我们需要等到一个操作结束之后再进行下一个操作,这时候就需要用到回调函数. 二. 回调函数的解释 因为 ...
- [BS-18] 对OC中不可变类的理解
对OC中不可变类的理解 OC中存在很多不可变的类(如NSString,NSAttributedString,NSArray,NSDictionary,NSSet等),用它们创建的对象存在于堆内存中,但 ...
- oracle中 connect by prior 递归算法 -- 理解
oracle中 connect by prior 递归算法 -- 理解 http://blog.163.com/xxciof/blog/static/7978132720095193113752/ ...
- MVC架构中的Repository模式 个人理解
关于MVC架构中的Repository模式 个人理解:Repository是一个独立的层,介于领域层与数据映射层(数据访问层)之间.它的存在让领域层感觉不到数据访问层的存在,它提供一个类似集合的接 ...
- 关于MySQL中的自联结的通俗理解
关于MySQL中的自联结的通俗理解 前言:最近在通过SQL必知必会这本书学习MySQL的基本使用,在学习中也或多或少遇到了点问题,我也正好分享给大家,我的这篇博客用到的所有表格的代码都是来自SQL必知 ...
- 关于Autosar中的NM模块的理解
本篇文章主要介绍AutoSar中关于NM模块的理解. 阅读本篇文章希望达到的目的: 1. NM(网络管理)是用来做什么的: 2. AutoSar中网络管理的原理: 3.项目实例介绍 1. NM(网络管 ...
- Spring中Bean及@Bean的理解
Spring中Bean及@Bean的理解 Bean在Spring和SpringMVC中无所不在,将这个概念内化很重要,下面分享一下我的想法: 一.Bean是啥 1.Java面向对象,对象有方法和属性, ...
随机推荐
- java PreparedStatement和statement的区别
1. PreparedStatement接口继承Statement, PreparedStatement 实例包含已编译的 SQL 语句,所以其执行速度要快于 Statement 对象.2.作为 St ...
- Ajax编程(HTTP请求与响应及API)详解
AJAX编程 即 Asynchronous [e'sɪŋkrənəs] Javascript And XML, AJAX 不是一门的新的语言,而是对现有技术的综合利用. 本质是在HTTP协议的基础上以 ...
- java String转Long两种方法区别
第一种:包装类型:Byte,Integer,Short,Long,Boolean,Character,Float,Double等8种 Long.valueOf("String")返 ...
- APP埋点:页面统计与事件统计该如何入手?
我们平时所说的埋点,可以大致分为两部分,一部分是统计APP页面访问情况,即页面统计:另外一部分是统计APP内的操作行为,及自定义事件统计. 一.页面统计 页面统计,可以统计应用内各个页面的访问次数(P ...
- CC攻击工具list
从论文里抠出来的工具列表如下,后面有黑产的工具以及网络上摘录的工具: 分类:(1)有僵尸网络(是否代理服务器)&没有的==>(2)单一url&混合url(多线程,压测为主,dem ...
- 集合中的工具类Collections和Arrays
集合框架的工具类: Collections: 方法sort(): List<String> list = new ArrayList<String>(); lis ...
- L143 Seasonal 'Plague' Hits College Freshman
Sometimes, all the hand sanitizer in the world cannot prevent the inevitable.College freshmen across ...
- PostgreSQL copy 时提示:ERROR: invalid byte sequence for encoding "UTF8": 0xb3
测试时使用三种文件格式: ISO-8859 Netpbm PBM image ASCII if [ $(file $filename|grep -c "ISO-8859") -gt ...
- Django --- celery异步任务与RabbitMQ模块
一 RabbitMQ 和 celery 1 celery Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理, 如果你的业务场景中需要用到异步任务, ...
- Electron 使用 Webpack2 打包多入口应用程序
Electron 使用 Webpack2 打包多入口应用程序 接前面一篇文章,前一篇文章中只有一个页面,并且只有一个js文件,所以打包的时候会把那个js打包成一个bundle.js文件.但是假如我们有 ...