在Laravel获取参考

时间:2018-11-25 10:47:40

标签: php laravel

我是laravel的新手,所以请不要打败我:-)

我尝试通过这种方式将引荐来源网址添加到控制器中

$from=Request::server('HTTP_REFERER');

结果,我收到此错误

  

假设$ this来自不兼容的上下文,则不应静态调用非静态方法Illuminate \ Http \ Request :: server()

控制器顶部是

namespace Common\Auth\Controllers;

use Auth;
use Illuminate\Http\Request;
use Common\Settings\Settings;
use Common\Core\Controller;
use Common\Core\BootstrapData;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Common\Auth\User;

希望有人可以告诉我如何让推荐人给我一些有关这方面的经验。

非常感谢。

更新。

在此期间,我已经在函数中添加了“函数名称(Request $ request)” 并在函数“ $ this-> request = $ request;”内

现在我可以使用“ $ this-> request-> ip();”访问一些信息。

如果我尝试回显“ $ this-> request-> header('HTTP_REFERRER')”,将不会显示任何内容吗?

8 个答案:

答案 0 :(得分:0)

我不知道为什么laravel请求立面不能像上面那样工作,但是您可以像这样获得标头

function example(Request $request) {
    dd($request->header('HTTP_REFERRER'));
}

确保从路由访问您的方法

答案 1 :(得分:0)

尝试一下:

def coordinateMatrixMultiply(leftmatrix, rightmatrix):
    left  =  leftmatrix.entries.map(lambda e: (e.j, (e.i, e.value)))
    right = rightmatrix.entries.map(lambda e: (e.i, (e.j, e.value)))
    productEntries = left \
        .join(right) \
        .map(lambda e: ((e[1][0][0], e[1][1][0]), (e[1][0][1]*e[1][1][1]))) \
        .reduceByKey(lambda x,y: x+y) \
        .map(lambda e: (*e[0], e[1]))
    return productEntries

答案 2 :(得分:0)

您也可以直接使用$ _SERVER ['HTTP_REFERER']从php获取引荐来源网址。

答案 3 :(得分:0)

要获取上一个请求的完整URL,请使用

url->previous();

您也可以通过URL外观访问它

URL::previous();

如果您使用的是URL门面,请务必解决导入问题

use Illuminate\Support\Facades\URL;

Laravel doc

答案 4 :(得分:0)

// with request helper function from anywhere in your application
$from = request()->getSchemeAndHttpHost();

// with request method. this return http:// part too
$from = $request->getHttpHost();

来源:https://stackoverflow.com/a/39835651/10482374

答案 5 :(得分:0)

请更改此:

use Illuminate\Http\Request;

与:

use Request;

答案 6 :(得分:0)

查看 UrlGenerator@previous 中的 URL::previous() 句柄 使用 $this->request->headers->get('referer');

显示访问引用者

答案 7 :(得分:0)

您可以从请求的标头中获取引用者:

$uri = $request->header('referer');

其中 $request 是默认注入的 Illuminate\Http\Request

Read more on the headers of the request