{{ url('/task') }} 和 {{ url ()/task}} 的区别?
Difference between {{ url('/task') }} and {{ url ()/task}}?
您好,我在之前的项目中使用 Laravel 5 编写 blade 模板,我使用表单操作作为
<form action="{{ url() }}/task" method="POST" class="form-horizontal">
但在我最近的项目中,我使用了相同的格式,但代码出错
Htmlentities()expect parameter 1 to be string object given.
如果我这样写
<form action="{{ url('/task') }}" method="POST" class="form-horizontal">
代码正在运行 任何人都可以帮助我理解其中的区别以及我该如何解决它
url()
是辅助函数。它 returns 给定路径(字符串)的完全限定 URL 或 Illuminate\Routing\UrlGenerator
class(对象)的实例。你可以看到它是如何工作的 - src/Illuminate/Foundation/helpers.php
因此,当您在模板中 运行 {{ url() }}
时,您只需要求模板引擎将 htmlentities
函数应用于对象。
在 Laravel 5.2 之前(在 5.1 及更低版本中)url()
辅助函数总是 returns 一个字符串:
function url($path = null, $parameters = [], $secure = null)
{
return app(UrlGenerator::class)->to($path, $parameters, $secure);
}
现在,如果第一个参数为空,他们会处理
function url($path = null, $parameters = [], $secure = null)
{
if (is_null($path)) {
return app(UrlGenerator::class);
}
return app(UrlGenerator::class)->to($path, $parameters, $secure);
}
您好,我在之前的项目中使用 Laravel 5 编写 blade 模板,我使用表单操作作为
<form action="{{ url() }}/task" method="POST" class="form-horizontal">
但在我最近的项目中,我使用了相同的格式,但代码出错
Htmlentities()expect parameter 1 to be string object given.
如果我这样写
<form action="{{ url('/task') }}" method="POST" class="form-horizontal">
代码正在运行 任何人都可以帮助我理解其中的区别以及我该如何解决它
url()
是辅助函数。它 returns 给定路径(字符串)的完全限定 URL 或 Illuminate\Routing\UrlGenerator
class(对象)的实例。你可以看到它是如何工作的 - src/Illuminate/Foundation/helpers.php
因此,当您在模板中 运行 {{ url() }}
时,您只需要求模板引擎将 htmlentities
函数应用于对象。
在 Laravel 5.2 之前(在 5.1 及更低版本中)url()
辅助函数总是 returns 一个字符串:
function url($path = null, $parameters = [], $secure = null)
{
return app(UrlGenerator::class)->to($path, $parameters, $secure);
}
现在,如果第一个参数为空,他们会处理
function url($path = null, $parameters = [], $secure = null)
{
if (is_null($path)) {
return app(UrlGenerator::class);
}
return app(UrlGenerator::class)->to($path, $parameters, $secure);
}