Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.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类中正确使用/导入接口?_Php_Interface - Fatal编程技术网

如何在php类中正确使用/导入接口?

如何在php类中正确使用/导入接口?,php,interface,Php,Interface,我无法使接口在我的php/laravel项目中工作。我有一系列的控制器,我想实现一个接口。PhpStorm似乎对我的语法很满意。但是,当我检查当前对象是否确实具有该接口时,我得到一个未找到该接口的运行时错误: <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use iTeamEntryController; class TeamController extends Controller imple

我无法使接口在我的php/laravel项目中工作。我有一系列的控制器,我想实现一个接口。PhpStorm似乎对我的语法很满意。但是,当我检查当前对象是否确实具有该接口时,我得到一个未找到该接口的运行时错误:

<?php

namespace App\Http\Controllers;


use Illuminate\Http\Request;
use iTeamEntryController;

class TeamController extends Controller implements iTeamEntryController {...}
然后是界面:

<?php
use Illuminate\Http\Request;
interface iTeamEntryController
{
    public function saveTeam(Request $request);
}
在这里,我在定义类的行上得到一个错误,表示找不到接口“iTeamEntryController”。类和接口都存在于同一文件夹中

我一直在尝试在线查找一个示例,但每个人要么在同一个文件中同时拥有接口和类声明,要么使用“include_once”或“require_once”,在我看来,这似乎是指文件,而不是OOP。那么我做错了什么?为什么找不到我的接口?

请记住,use子句希望您指定一个绝对类/接口/特征名称,而不是相对于当前名称空间

以下是错误的,除非您的控制器位于全局命名空间中,我确信不是这样:

使用iTeamEntryController;//错误的 下面这句话是正确的:

使用App\Http\Controllers\iTeamEntryController; 如果将接口保留在app/Http/Controllers目录中,请不要忘记指定名称空间:

名称空间App\Http\Controllers; 另一方面,如果希望接口位于根目录中,请确保它在那里。然后,不需要名称空间,并且use子句是正确的。除此之外,我非常确定您不希望接口位于Laravel应用程序的根目录中。

请记住,use子句希望您指定一个绝对类/接口/特征名称,而不是相对于当前名称空间

以下是错误的,除非您的控制器位于全局命名空间中,我确信不是这样:

使用iTeamEntryController;//错误的 下面这句话是正确的:

使用App\Http\Controllers\iTeamEntryController; 如果将接口保留在app/Http/Controllers目录中,请不要忘记指定名称空间:

名称空间App\Http\Controllers;
另一方面,如果希望接口位于根目录中,请确保它在那里。然后,不需要名称空间,并且use子句是正确的。除此之外,我非常确定您不希望您的界面位于Laravel应用程序的根目录中。

谢谢。这很有效。我指望phpStorm能知道它应该是什么样子,但需要完整的路径!再次感谢:谢谢。这很有效。我指望phpStorm能知道它应该是什么样子,但需要完整的路径!再次感谢: