我在Laravel5中加载helpers文件和从视图调用函数时遇到问题。下面是我如何尝试在L5项目中设置助手的简要概述。
>
助手文件包含一个基本函数,用于生成页面标题。
public function full_title($title)
{
$base_title = 'Social Tracking Application';
if (isset($title) && $title != ''){
$comp_title = $title . " | " . $base_title;
} else {
$comp_title = $base_title;
}
return $comp_title;
}
更新composer.json自动加载新的助手文件。
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/"
},
"files":["app/Http/helpers.php"]
},
从终端运行composer dump autoload。
经过这些步骤,我的印象是我可以从视图和控制器中使用我的助手。因此,我在我的主布局视图中使用以下方法调用了我的新助手函数:
<title> full_title($title) </title>
然而,当我导航到任何页面时,我都会收到一个对未定义函数full_title的FatalErrorMessage调用。(请注意,消息通常在标题栏中,所以我将其移动到正文标签以查看错误消息)。
我不知道我做错了什么,我见过其他人以类似的方式使用自定义帮助文件的例子,但我的似乎不起作用。我是否遗漏了一些明显的东西?
我在经营这片宅地。
完整代码库:https://github.com/n1k41l/SocialTrak/tree/middleware-currentUser
在视图或控制器中调用函数时,您可能需要在函数前面使用类名,例如:
Helper::my_function()
我的问题是在我的助手中使用了
文件。基本上,它没有类,没有名称空间,只是一些简单的函数名称空间
。php
我自己解决了这个问题,问题是我创建了一个php类的Helpers文件。helpers文件应该是一个php文件-包含函数,而不是包含函数的类。。。(我一发现就犯了一个明显的错误:S)。
下载辅助函数可以下载数据到你的桌面 加载这个辅助函数 用下面的代码加载这个辅助函数$this->load->helper('download'); 下面的函数就有效: force_download('filename', 'data') 服务器产生能下载数据到你桌面的头. 这对你下载文件有帮助. 第一个参数是下载文件的文件名, 第二个参数是文件数据. Example:$data = 'Here i
下载辅助函数文件包含了下载相关的一些函数。 加载辅助函数 可用函数 加载辅助函数 该辅助函数通过下面的代码加载: $this->load->helper('download'); 可用函数 该辅助函数有下列可用函数: force_download([$filename = ''[, $data = ''[, $set_mime = FALSE]]]) 参数: $filename (string)
简介 Laravel 包含各种各样的全局「辅助」PHP 函数,框架本身也大量地使用了这些功能;如果你觉得方便,你可以在你的应用中自由的使用它们。 可用方法 数组 & 对象 array_add array_collapse array_divide array_dot array_except array_first array_flatten array_forget array_get arra
列标字符转化 获取扩展版本 查看作者信息
辅助函数,顾名思义,是帮助我们完成特定任务的函数。每个辅助函数文件仅仅是一些函数的集合。例如,URL Helpers 可以帮助我们创建链接,Form Helpers 可以帮助我们创建表单,Text Helpers 提供一系列的格式化输出方式,Cookie Helpers 能帮助我们设置和读取COOKIE, File Helpers 能帮助我们处理文件,等等。 跟其他部分不同的是,辅助函数不是用类的
辅助函数,顾名思义,是帮助我们完成特定任务的函数。每个辅助函数文件都是某一类 函数的集合。例如, URL 辅助函数 帮助我们创建链接,表单辅助函数**帮助 我们创建表单元素,**本文辅助函数 帮助我们处理文本的格式化,Cookie 辅助函数 帮助我们读取或设置 Cookie ,文件辅助函数 帮助我们处理文件,等等等等。 不同于 CodeIgniter 中的大多数系统,辅助函数没有使用面向对象的方式