求助:表单绑定模型 form-model-binding 如何生成 https 链接

例如:

Form::model($user, array('route' => array('user.update', $user->id)))

或PHPHub中:

{{ Form::model($user, ['route' => ['users.update', $user->id], 'method' => 'patch']) }}

如何生成安全链接?

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 7
Summer

你确定 Config::get('app.url') 写的是 https 的吗?

PHPHub 的表单提交代码 里面没做设定, 但是 app/config/app.php 文件里面 url 属性设置了 https, 应该是这个问题, 你可以试试看.

10年前 评论
Summer
  'url' => 'https://phphub.org',
10年前 评论
Summer

@小千 确实对 HTTPS 的支持不好, 今天有个项目把负载均衡后面, 也出现了这个问题.

强制 HTTPS 的话又不合理, 因为本地开发是 http://myapp.app:8000 这样的 URL, 找了半天没有找到好的方案. 最后用了以下方法:

1. 添加 app/helpers.php 文件

bootstrap/autoload.php 文件最上面调用, 位置很重要, 要放到加载 vendor/autoload.php 的上面

require __DIR__.'/../app/helpers.php';

2. 添加自定义 url 函数

function url($path = null, $parameters = array(), $secure = null)
{
    if (App::environment('local'))
    {
        return app('url')->to($path, $parameters, false);
    }
    else
    {
        return app('url')->to($path, $parameters, true);
    }
}

3. 调用

Form::open(['url' => url('login')])

在所有使用 URL 的地方使用 url 函数调用.

10年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!