Php Laravel在Laravel 4中的项目中使用自定义函数
我有一些自定义函数,我正在尝试将其用于项目中,例如:Php Laravel在Laravel 4中的项目中使用自定义函数,php,laravel-4,Php,Laravel 4,我有一些自定义函数,我正在尝试将其用于项目中,例如: function makeText($str1, $str2){ return $str1 . ' '. $str2; } 我想在如下情况下使用此函数: <div style='float:left;'>MakeText : {{makeText("Hello","World");}}</div> MakeText:{{MakeText(“你好”,“世界”);} makeText只是一个示例函数,witc
function makeText($str1, $str2){
return $str1 . ' '. $str2;
}
我想在如下情况下使用此函数:
<div style='float:left;'>MakeText : {{makeText("Hello","World");}}</div>
MakeText:{{MakeText(“你好”,“世界”);}
makeText
只是一个示例函数,witch folder必须是put functions方法,例如UF.php
包含所有函数,以及如何将此文件定义为laravel并使用它?laravel为您提供了一些选项。您可以将函数定义包含在自动包含的任何文件中,以获得所需的结果,例如/app/start/global.php
、/bootstrap/start.php
、/app/routes.php
或其他许多文件。这种方法的问题在于,根据函数的名称,该名称与已使用的名称(或以后使用的名称)发生冲突的可能性不容忽视。此外,如果您需要调试此函数,您需要能够在以后找到它
您可以通过将函数放在类中,然后将该类称为服务来解决这个问题。然后,您可以通过依赖项注入将该类注入控制器,然后将该数据传递给视图:
class MyService
{
public function makeText($param1, $param2)
{
return $param1 . ' ' . $param2;
}
}
class AController extends BaseController
{
public function __construct(MyService $serv)
{
$this->serv = $serv;
}
public function aRoute()
{
return View::make('some.view')
->with('serv', $this->serv);
}
}
<div style='float:left;'>MakeText : {{ $serv->makeText("Hello","World"); }}</div>
在你看来:
class MyService
{
public function makeText($param1, $param2)
{
return $param1 . ' ' . $param2;
}
}
class AController extends BaseController
{
public function __construct(MyService $serv)
{
$this->serv = $serv;
}
public function aRoute()
{
return View::make('some.view')
->with('serv', $this->serv);
}
}
<div style='float:left;'>MakeText : {{ $serv->makeText("Hello","World"); }}</div>
MakeText:{{$serv->MakeText(“你好”,“世界”);}
这将帮助您防止命名冲突,因为您可以轻松地将MyService
放入任何有意义的命名空间中。它还将帮助您更好地组织代码
这么简单的事情可能不需要一个,但当你给你的项目增加复杂性时,一旦你需要,这将是一个简单的步骤。你可以遵循Laravel的惯例,在你的应用程序目录中创建一个helpers.php文件。但请确保使用Composer自动加载它:
"autoload": {
"classmap": [
//
],
"files": [
"app/helpers.php"
]
},
然后,您可以在应用程序中的任何位置(包括视图)使用该函数