当前位置: 首页 > 知识库问答 >
问题:

辅助函数不加载laravel 5-调用未定义的函数

晏晨朗
2023-03-14

我在Laravel5中加载helpers文件和从视图调用函数时遇到问题。下面是我如何尝试在L5项目中设置助手的简要概述。

>

  • 在app/Http中创建helpers.php文件;
  • 助手文件包含一个基本函数,用于生成页面标题。

    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

  • 共有3个答案

    白君之
    2023-03-14

    在视图或控制器中调用函数时,您可能需要在函数前面使用类名,例如:

    Helper::my_function()
    
    司空俊雅
    2023-03-14

    我的问题是在我的助手中使用了名称空间。php文件。基本上,它没有类,没有名称空间,只是一些简单的函数

    巩才捷
    2023-03-14

    我自己解决了这个问题,问题是我创建了一个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 中的大多数系统,辅助函数没有使用面向对象的方式