laravel如何扩展类而不包括它们

时间:2016-03-30 19:59:43

标签: php laravel namespaces

我遇到了名为' namespace'在我开始使用Laravel之后在php中。在尝试理解命名空间时,我发现要在命名空间下扩展一个类,我需要在当前页面中包含该类。如下所示:

目录' .. \ teacher \ Teacher.php'

pick a random item

扩展我需要包含该页面以及使用命名空间

目录' .. \ studnet \ student.php'

    namespace Teacher;

    class Teacher{
       public $headTeacher='mr X';

   }

我想知道Laravel如何仅使用命名空间来包含类。就像我创建一个名为' userController'的控制器一样。页面结构为

use \Teacher\Teacher;  //use the namespace


include('../teacher/Teacher.php'); // include the page

   class mathTeacher extends Teacher{

    public function headTeacherName(){
       echo $this->headTeacher;
    }

   }

  $student=new mathTeacher();
  $student->headTeacherName();

他们从未包含拥有 '控制器&#39> 类的php页面。但是他们能够以某种方式扩展它。此外,我只需使用namespace App\Http\Controllers; class userController extends Controller{ } "View" ,"Auth"命令即可​​使用use View。怎么做?如何使用我提供的代码实现相同的功能?提前谢谢。

1 个答案:

答案 0 :(得分:1)

Laravel使用composer.php自动加载类。将自动加载autoload目录中的所有类。因此,您可以使用命名空间并在整个应用程序中的任何位置使用。

Learn more about composer,composer配置可以在应用程序的根路径中的composer.json上找到