php - 'use' 怎么知道从哪里开始搜索文件呢?

标签 php namespaces autoload

我在 Laravel 中创建了一个 Controller ,它使用以下 use:

use Illuminate\Http\Request;

Controller 如何知道在哪里可以找到Request? Controller 本身位于:

app\Http\Controllers\LoginController.php

但是请求在:

vendor\laravel\framework\src\Illuminate\Http\Request.php


那么为什么使用:

use Illuminate\Http\Request;

...而不是:

use vendor\laravel\framework\src\Illuminate\Http\Request;

这也行吗? Controller 如何知道从哪里开始搜索?

最佳答案

Laravel 使用 composer在它的核心有一个PSR-0/PSR-4兼容的自动加载器。

PSR-0 和 PSR-4 标准规定了如何根据命名空间解析文件夹。还有 laravel 的 Autoloader , 通过 PHP 的 Autoloading有助于解决并包含正确的文件。

关于php - 'use' 怎么知道从哪里开始搜索文件呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42243897/

相关文章:

php - Woocommerce 子类别模板

java - 如何获取 android 命名空间中的所有类?

c# - 大型 c# 应用程序的命名空间组织概念

php - 是composer的autoload必须有相同的文件结构?

php - 自动加载函数最佳实践

php - 如何自动加载扩展类?

php - 这个 Mysql select,php 代码有什么问题?

php - 如何检查随机字符生成器的重复结果

php - 计划任务 $_SERVER 问题

c++ - 使用命名空间会导致名称隐藏吗?