Laravel命名空间 Laravel中间件 Laravel控制器 命名空间用于各种编程语言,以创建一组独立的变量,函数和类。程序可能包含各种功能,这可能会导致与现有功能发生冲突。命名空间在避免这种冲突方面起着关键作用。本章将为您提供有关Laravel中名称空间及其用法的详细知识。 命名空间的声明 命名空间可以被定义为一个元素类,其中每个元素对该相关类具有唯一的名称。它可能与其他类中的元素共享。 您可以声明一个名称空间,如下面的语法所示 - use <namespace-name>; 请注意, use 关键字允许开发人员缩短命名空间。Laravel中使用的默认名称空间是 应用程序 ,但用户可以更改名称空间以与Web应用程序匹配。 您可以使用 artisan 命令创建用户定义的命名空间,如下所示 - php artisan app:name CodingDict 在给出上述命令时,您可以观察输出,如以下屏幕截图所示 - 命名空间一旦创建就可以包含可用于控制器和各种类的各种功能。下面显示了基于控制器和内核中名称空间创建的代码,其中包括 app / console / kernel.php 和 app / Http / controller.php 文件 - Kernel.php <?php namespace CodingDict\Console; use Illuminate\Console\Scheduling\Schedule; use Illuminate\Foundation\Console\Kernel as ConsoleKernel; class Kernel extends ConsoleKernel{ /** * The Artisan commands provided by your application. * * @var array */ protected $commands = [ // ]; /** * Define the application's command schedule. * * @param \Illuminate\Console\Scheduling\Schedule $schedule * @return void */ protected function schedule(Schedule $schedule){ // $schedule->command('inspire') // ->hourly(); } /** * Register the Closure based commands for the application. * * @return void */ protected function commands(){ require base_path('routes/console.php'); } } 请注意,日程和命令等功能有助于调度 Cron 作业和其他功能的方法。 Controller.php这样 <?php namespace CodingDict\Http\Controllers; use Illuminate\Foundation\Bus\DispatchesJobs; use Illuminate\Routing\Controller as BaseController; use Illuminate\Foundation\Validation\ValidatesRequests; use Illuminate\Foundation\Auth\Access\AuthorizesRequests; class Controller extends BaseController{ use AuthorizesRequests, DispatchesJobs, ValidatesRequests; } 控制者充当模型和视图之间的中介。对于我们创建的称为 CodingDict 的命名空间,它们将用于控制器 controller.php的 核心文件中。命名空间使用 Http \ Controllers 正确初始化。 命名空间一旦创建,就会使用上面代码中提到的各种其他命名空间,如 AuthorizesRequests,DispatchesJobs 和 ValidatesRequests 。 使用关键字 命名空间发生在当前类的位置。正如我们的例子中所提到的,我们已经将CodingDict声明为我们的名称空间,并且它位于 app 文件夹中。声明的命名空间将是 App \ Tutorialpoint 。无论何时您想使用该类,都应该使用use关键字。 此处显示使用 use 关键字的语法- use CodingDict\Http\Controllers\Controller; Laravel中间件 Laravel控制器