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的前提是已经把⽂件包含进当前⽂件。