2015-10-08 43 views
0

我只是通过laravel文档HERE会和遇到的代码::目录结构和在PHP中使用

<?php 

namespace App\Providers; 

use Riak\Connection; 
use Illuminate\Support\ServiceProvider; 

class RiakServiceProvider extends ServiceProvider 
{ 
    /** 
    * Register bindings in the container. 
    * 
    * @return void 
    */ 
    public function register() 
    { 
     $this->app->singleton('Riak\Contracts\Connection', function ($app) { 
      return new Connection(config('riak')); 
     }); 
    } 
} 

我是新来的PHP use以下peice的,刚刚学会如何运作几天前,现在有use,当与像laravel这样的框架一起使用时,其中一个类可以位于完全不同于另一个的目录中,还需要指定目录结构吗?

I.E.可以用目录结构影响use的方式吗?

回答

2

PHP中的use语句(当在类的外部使用时)用于从另一个名称空间导入类。命名空间和文件夹结构不一定对应,但通常非常接近。

Laravel使用的自动加载器和大多数其他现代PHP应用程序是Composer程序包管理器的一部分。作曲家反过来支持多种命名空间标准,最明显的是PSR-0及其后继者,PSR-4

composer.json文件,你通常指定一个命名空间自动加载,和一个根目录,如下所示:

{ 
    "autoload": { 
     "psr-4": { 
      "My\\Namespace\\": "src" 
     } 
    } 
} 

src/目录中的任何类应该在My\Namespace目录。 src/Model中的类应具有名称空间My\Namespace\Model等。

0

什么很多PHP库的使用时下被称为自动加载可以镜像目录结构,但不一定要。

+0

ness ??????????? –

+1

必然*** – Neal