gpt4 book ai didi

php - 命名空间更改后的 Laravel link_to_route

转载 作者:行者123 更新时间:2023-12-04 16:57:41 25 4
gpt4 key购买 nike

我正在根据教程制作一个基本的 CRUD 应用程序,但意识到我想屏蔽管理文件夹中的功能。

该功能是一个博客管理系统(索引、创建、显示、删除等),这一切都来自 domain.com/blog。

从那时起,我建立了一个用户系统和一个 protected 管理区域,因此决定将 View 文件移动到一个管理文件夹中。

为了应对这种变化,我在这里询问并被指示将我的资源路线包装在这个:

Route::group(array('before' => 'is_admin', 'namespace' => 'admin', 'prefix' => 'admin'), function()
Route::resource('blog', 'BlogController');
});

然后将我的 BlogController 移动到我的 Controller 文件夹中的 admin 文件夹中,然后向该 Controller 添加一个命名空间:
namespace Admin;

并在 BaseController 之前添加一个反斜杠。

这条线在这里:
return View::make('admin/blog.index', compact('blogs'));

导致错误,所以我不得不在 View::之前添加一个反斜杠
return \View::make('admin/blog.index', compact('blogs'));

我如何不必为所有类(class)都这样做?

然后一旦没问题,我的索引文件包含:
{{ link_to_route('blog.create', 'Add new blog') }}

哪个返回未定义的路由错误......我哪里出错了?资源路线应该肯定会捕捉这些路线等吗?似乎有很多工作只是让 BlogController 在管理目录中工作......

最佳答案

这就是命名空间的工作方式。您可以 import namespaces添加:

use View;

现在你可以只使用 View而不是 \View在文件的其他位置,因此文件的开头应如下所示:
<?php namespace Admin;
use View;

但是您需要将此添加到您移动到命名空间 Admin 的每个文件中。 ;

您也可以阅读 How to use objects from other namespaces and how to import namespaces in PHP更好地理解它。

关于php - 命名空间更改后的 Laravel link_to_route,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28903237/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com