在 Laravel 5.7 中的子域组内设置命名路由

2023-12-22

我一直在开发一个多租户应用程序,我正在尝试根据文档在子域中设置路由:https://laravel.com/docs/5.7/routing#route-group-sub-domain-routing https://laravel.com/docs/5.7/routing#route-group-sub-domain-routing

In my web.php路线文件,我有这样的东西:

Route::domain('{account}.example.test')->group(function () {        
    Route::get('/home', 'HomeController@index')->name('home');        
});

现在,问题是在刀片中使用命名路由,但我想我最终可能会在我的控制器中遇到同样的问题。

每当我尝试使用这样的命名路由时:

刀片代码

<a href="{{ route('home') }}">Home</a>

我收到以下错误:

缺少 [Route: home] [URI: home] 所需的参数。 (查看:/home/vagrant/Code/example/resources/views/example.blade.php)

我已经找到了解决这个问题的方法,你只需要:

<a href="{{ route('home', request('account')) }}">Home</a>

我还使用助手“解决”了这个问题......

if (! function_exists('acctRoute')) {
    function acctRoute($name = '')
    {
        return route( $name, request('account'));
    }
}

所以我可以这样使用它:

<a href="{{ acctRoute('home') }}">Home</a>

但我仍然想知道是否有一种更干净的方法来做到这一点,也许使用一些总是注入参数的中间件?


这是我对自己问题的回答,以防将来有人需要这个:

从这里我注意到您可以为中间件下的所有路由设置默认值:https://laravel.com/docs/5.7/urls#default-values https://laravel.com/docs/5.7/urls#default-values

所以...这就是我最终所做的

首先创建中间件:

php artisan make:middleware MyMiddleware

然后更新创建的中间件内的句柄方法,如文档示例所示:

public function handle($request, Closure $next)
{
    URL::defaults(['account' => request('account')]);

    return $next($request);
}

然后在Kernel.php中注册中间件

protected $routeMiddleware = [
    'auth' => \App\Http\Middleware\Authenticate::class,
    'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
    'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
    'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
    'can' => \Illuminate\Auth\Middleware\Authorize::class,
    'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
    'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
    'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
    'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
    'mymiddle' => \App\Http\Middleware\MyMiddleware::class,
];

然后将其用作路由文件中的任何其他中间件:

Route::domain('{account}.example.test')->middleware('mymiddle')->group(function () {        
    Route::get('/home', 'HomeController@index')->name('home');        
});

最后,照常使用路由助手函数:

<a href="{{ route('home') }}">Home</a>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Laravel 5.7 中的子域组内设置命名路由 的相关文章

  • 使用 php 获取当前月份的最后 3 个月

    我想获取当前月份最近 3 个月的名称 例如当前月份是八月 所以 我想要六月 七月 八月这样的数据 我已经尝试过这段代码echo date F strtotime 3 months 它只返回六月 如何使用 php 获取当前月份的最后 3 个月
  • PHP 绑定“bigint”数据类型(MySQLi 准备好的语句)

    studentId 57004542323382 companyOfferId 7 sql INSERT INTO studentPlacement companyOfferId studentId VALUES if stmt db gt
  • 如何将 HTML 转换为 Markdown?

    我有一个类似 stackoverflow 的网站 有一个文本区域 人们可以在其中写答案 我用这个 PHP 库 http parsedown org 转换降价 我的意思是我使用该函数来转换 italic to i italic i inclu
  • 如何使用 Facebook SDK API 为页面/网址“点赞”?

    我正在使用这段代码 facebook gt api me likes post array url gt http www google com 我收到以下错误 Fatal error Uncaught OAuthException 200
  • zip 文件的校验和

    我目前正在开发一个工具 它上传一组文件 然后使用 md5 校验和将文件与上一批上传的文件进行比较 并告诉您哪些文件已更改 对于常规文件 这工作正常 但某些上传的文件是 zip 存档 即使其中的文件相同 它们几乎总是会发生变化 有没有一种方法
  • 如何解码 eval( gzinflate( base64_decode(

    我已将此代码注入到我的网站中 如何解码尾随字符串 我需要知道发生了什么以及其背后的代码是什么 这应该输出将被执行的代码eval 我希望这就是您正在寻找的
  • 语法错误,第 288 行出现意外的“endif”(T_ENDIF)[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我一直在离线处理我的 WordPress 网站的此代码错误 解析错误 语法错误 homez 541 photoher marie
  • MySQL PHP邮政编码比较具体距离

    我试图找出比较一个邮政编码 用户提供的 和一大堆其他邮政编码 现在大约有 200 个邮政编码 之间的距离的最有效方法 相对于加载时间 但它会随着时间的推移而增加 我不需要任何精确的东西 只是在球场上 我下载了整个美国的邮政编码 csv 文件
  • Laravel,从 JSON 中删除 null Eloquent 对象属性

    有没有一种优雅的方法从 Eloquent 对象中删除 NULL 值 我的对象嵌套有关系 这个特定的调用可能会长达数千行 所以我尝试这样做的主要原因是为用户节省带宽 但服务器性能也是一个考虑因素 My code data locations
  • JavaScript 验证和 PHP 验证?

    我正在使用 jquery 验证插件来验证空表单 我还应该在 PHP 中检查一下以确保 100 正确吗 或者用 javascript 验证就可以了 谢谢 您应该始终在服务器上进行验证 如果用户以某种方式不使用 Javascript 提交表单
  • Joomla 页面中的自定义 php 代码

    我正在尝试将 Joomla 1 5 9 页面中的表源从页面中的硬编码 html 更改为从 SQL 数据库获取信息 执行此操作的正确方法是什么 创建一个新的模型或组件并以某种方式在页面中使用它 我找到了这些 http docs joomla
  • 如何在 OS X 上使用 OpenSSL 1.0.1 编译 PHP 5.5.19

    我已经安装了 OpenSSL 1 0 1j usr local ssl现在我尝试使用此版本的 OpenSSL 编译 PHP 5 5 19 这是我的配置过程 export CFLAGS arch x86 64 export CXXFLAGS
  • Sonata DateTimePickerType 类默认日期显示错误的日期时间格式

    我陷入困境 我不知道如何使用 sonata DateTimePickerType 类正确设置默认日期和时间 我尝试了不同的方法 但到目前为止 没有一种方法没有帮助 在下面的截图中 help 键显示正确的日期和时间 但是当我使用 dp 默认日
  • 这个条带请求是什么?为什么它会多次触发?

    对于使用 stripe 的 Laravel 应用程序 此请求https r stripe com 0被解雇多次 如下所示 我刷新主页后 这些请求立即被触发 问题是我最近得到了一个429 too many requests我的实时服务器出现错
  • PHP 数组通过 JSON 转为 jquery 数组

    我有点困惑为什么以下不起作用 get php
  • 检查条件并通过 Zend 中的 Regex 识别 url 中的模式

    我正在实现 Zend Regex 路由 并且必须对 url 执行多次检查 例如 如果这是我的网址 http localhost application public index php module controller action 这是
  • php curl 使用 GET 发送变量 奇怪的结果

    我正在尝试调用远程站点上页面中的网址 决定使用curl 在远程站点上 url 变量显示为 REQUEST Array var1 gt val1 amp var2 gt val2 amp var3 gt val3 被调用的url是 http
  • 如何从父类中获取子类名

    我试图在不需要子类上的函数的情况下完成此任务 这可能吗 我有一种感觉 但我真的很想确定
  • 如何在laravel中注册后自动登录

    我在 laravel 中注册用户时遇到问题 user假设是包含所有数组元素的数组 同时自动登录以下代码结果false 数据库中保存的密码是hash make password user id this gt user model gt ad
  • Laravel $request->file() 返回 null

    尝试在后端使用 Laravel 上传文件时遇到问题 Issue Laravel request gt file 方法返回 null Setup 我使用以下方法构建了一个 AJAX 请求超级代理人 https github com visio

随机推荐

  • CNN中的滤波器数量是多少?

    我目前看到theano的API theano tensor nnet conv2d input filters input shape None filter shape None border mode valid subsample 1
  • Pytorch 中 [-1,0] 的维度范围是多少?

    所以我正在努力理解 Pytorch 中有关集合的一些术语 我不断遇到同样类型的错误range我的张量不正确 当我尝试谷歌寻找解决方案时 解释往往更加令人困惑 这是一个例子 m torch nn LogSoftmax dim 1 input
  • Cron 错误文件模式与权限被拒绝

    我有一个cron备份我的数据库的工作 crontab l daily etc cron d pg backup sh 但是 设置适当的权限存在问题 当我有 ls l etc cron d pg backup sh rwxr xr 1 roo
  • Hive Bucket-理解 TABLESAMPLE(BUCKET X OUT OF Y)

    大家好 我对 Hive 很陌生 我已经在实际操作中了解了 hadoop 中的存储桶概念 但未能理解以下几行内容 有人可以帮助我吗 SELECT avg viewTime FROM page view TABLESAMPLE BUCKET 1
  • 使用 Batik 从 SVG 中使用 XPath 获取特定元素

    我正在尝试使用 Batik 从 SVG 文档中查找一些元素 这是我正在使用的示例 SVG 文档
  • 如何在运行时更改类定义?

    有没有办法让我在运行时更改类的属性 添加 删除属性 除非您正在使用以下实例 否则您无法执行此操作ExpandoObject http msdn microsoft com en us library system dynamic expan
  • 自定义日期选择器

    我已经陷入了几个 DatePicker 问题 但似乎找不到任何解决方案 我目前有一个 DatePickerDialog 非常适合我的需求 但我还需要能够隐藏 禁用 日 和 月 字段 以便选择一个月或一年 除了实现我的方法之外 我找不到任何解
  • Git for Windows 使用 gitk-all 启动 gitk 上下文菜单

    我安装了 Windows 版 Git 当我右键单击一个项目并选择Git History我得到了 Gitk 窗口 但每次这样做我都需要设置视图以查看所有分支 即使我编辑视图并将其设置为Remember 我在随后访问 Gitk 时仍然没有获得所
  • POI for XPage - 将 Word 文档保存为富文本字段中的附件

    我正在使用 OpenNTF POI 4 XPage 插件 这对于生成 Word 文档非常有效 现在 生成 Word 文档后 我想创建一个新的响应文档 并将该 Word 文档作为附件存储在该响应文档的富文本字段中 这是我的代码 在 POI 4
  • 通过另一列的分组值之和标准化 pandas 数据框中的列

    我有点坚持尝试标准化 pandas 数据框中列的某些条目 所以我有一个像这样的数据框 df pd DataFrame user 0 0 1 1 1 2 2 item A B A B C B C bought 1 1 1 3 3 2 3 df
  • MariaDB 不允许远程连接

    如屏幕截图所示 我已将帐户设置为允许远程连接 但如第二个屏幕截图所示 我仍然无法远程连接 我用于在虚拟机 Ubuntu 16 04 中进行测试 对我来说 我修复了更改文件的错误50 server cnf 我的服务器是Ubuntu 所以更改以
  • AWS Java SDK正在使用旧版本的jackson jar

    目前我正在努力在现有应用程序中添加AWS Java SDK以执行与AWS云相关的操作 在导入最新版本的 aws java sdk 即 1 11 113 时 我遇到运行时异常 在研究了异常之后 原因是 java sdk 使用了不推荐使用的版本
  • 不使用 where 子句进行更新

    id no 1 1 11 1 21 1 我想更新第二行号 至 2 我可以使用的查询是 update test set no 2 where id 11 如果没有 where 子句 我怎样才能实现相同的目标 我不知道why你会想要但是 UPD
  • Rest Standard:路径参数或请求参数

    我正在创建一个新的 REST 服务 向 REST 服务传递参数的标准是什么 在 Java 的不同 REST 实现中 您可以将参数配置为路径的一部分或请求参数 例如 路径参数http www rest services com item b
  • Emacs 中有函数调用层次结构的功能吗

    我正在维护别人的代码 该代码是在Linux平台上使用GCC 4 4 3用C语言编写的 然而 代码跳转很多 很难找出所有函数是从哪里调用的 在 Visual Studio 中 有一个称为 调用层次结构 的功能 它将显示函数的调用位置和调用位置
  • Angularjs + Ionic Framework:如何创建显示 ion-tabs 导航但不为其本身定义选项卡的新路线?

    标题很长 但这里有一个更好的解释 我有一个名为 Login 的模板 html 文件 我在 app js 中定义了一条路由 如下所示 state login url login templateUrl templates login html
  • Scala中如何保证类型参数不同?

    通过以下定义 可以确保具体类型参数相等 trait WithEqual T1 gt T2 lt T2 T2 所以这条线 type A WithEqual Int Int 将是合法的 现在我的问题是 如何达到完全相反的目的 因此 以下行应该n
  • 这些日志的 grok 模式应该是什么? (摄取 filebeat 的管道)

    我是 elasticsearch 社区的新人 我希望您能帮助我解决一些我遇到的困难 我的目标是使用 Filebeat 将大量日志文件发送到 Elasticsearch 为了做到这一点 我需要使用带有 Grok 模式处理器的摄取节点来解析数据
  • 如何读取图表区域内的文本框python pptx?

    我正在尝试使用自动化 pptpptx python图书馆 我正在使用模板 一些幻灯片中几乎没有图表 图表中有文本框 我尝试循环形状以获得shape id这些文本框 但我找不到shape id 当我尝试将文本框拖出图表区域时 它没有出现 文本
  • 在 Laravel 5.7 中的子域组内设置命名路由

    我一直在开发一个多租户应用程序 我正在尝试根据文档在子域中设置路由 https laravel com docs 5 7 routing route group sub domain routing https laravel com do