Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 未找到Laravel 4类和名称空间_Php_Laravel_Namespaces - Fatal编程技术网

Php 未找到Laravel 4类和名称空间

Php 未找到Laravel 4类和名称空间,php,laravel,namespaces,Php,Laravel,Namespaces,在Laravel4站点中,我安装了一个标签云库。在此库中,我希望编辑函数的返回行(我在这里对其进行了简化): 我认为这可能意味着请求类在tagcloud类中不可见,它与名称空间有关 在tagcloud类文件的顶部有以下几行: <?php namespace Arg\Tagcloud; use Illuminate\Support\Facades\Facade; 或 我在上面的前两个“use”语句下面添加了它们,但得到了相同的错误(找不到类)。这是一个寻找正确名称空间的问题还是其他问题?有

在Laravel4站点中,我安装了一个标签云库。在此库中,我希望编辑函数的返回行(我在这里对其进行了简化):

我认为这可能意味着请求类在tagcloud类中不可见,它与名称空间有关

在tagcloud类文件的顶部有以下几行:

<?php namespace Arg\Tagcloud;
use Illuminate\Support\Facades\Facade;

我在上面的前两个“use”语句下面添加了它们,但得到了相同的错误(找不到类)。这是一个寻找正确名称空间的问题还是其他问题?有人能帮忙吗?谢谢

编辑:我找到了一种不用电脑就能做我想做的事情的方法 请求::url():

返回“
";

无论何时将类放在名称空间中,在该类中引用的任何其他类都假定它也在同一名称空间中,除非您另行说明

因此,由于在直接引用
Request::url()
时将名称空间设置为
Arg\Tagcloud
,PHP认为您是在告诉它使用
Arg\Tagcloud
名称空间中的
Request

有两种解决方案:

解决方案1 在
请求前面添加
\
,告诉PHP使用全局命名空间,而不是
Arg\Tagcloud
命名空间

e、 例如,

解决方案2
使用该类

只需将
use Request
添加到类的顶部(在名称空间下),这会让PHP知道您想要使用这个类,但它不属于当前名称空间

e、 g


当我尝试运行该页面时,会出现以下错误:

Class 'Arg\Tagcloud\Request' not found 
Class'Arg\Tagcloud\Request'未找到

这是因为您正在使用来自
Arg\Tagcloud
命名空间的
Request
类,并且当您使用
Request::someMethod()
框架时,
Request
类位于同一命名空间下,即:

Arg\Tagcloud\Request
但是,实际上,
Request
类位于
illighted\Http
命名空间下,这就是发生错误的原因。要解决此问题,您可以使用以下方法:

\Request::someMethod();
或者你也可以在你班的最顶端使用以下内容:

use \Request;

您不需要使用
use-illumb\Request因为全局名称空间(作为别名)中提供了
Request
facade类,该类将解析
illighted\Http\Request
类。因此,您可以在代码中直接使用
Request::someMethod()

谢谢您的回答。现在可以了。
     use Illuminate;
        return "<span>
       <a href='/mysitename/public/myroute/{$variable}'>
         {$variable}
       </a>
    </span>";
<?php namespace Arg\Tagcloud;

use Request;
Arg\Tagcloud\Request
\Request::someMethod();
use \Request;