【问题标题】:what is laravel render() method for?laravel render() 方法有什么用?
【发布时间】:2016-10-12 20:53:36
【问题描述】:

我还没有处理渲染方法!!
是刀片模板吗?
我必须动态传递blade.php文件中的动态数据。

【问题讨论】:

  • 转到:laravel.com/docs - 在搜索字段中搜索“render”,您将得到答案。 Laravel 的文档非常丰富,所以你应该先检查那里。
  • 需要知道您在什么情况下调用render 方法,或者在什么情况下。
  • 在此处发布问题之前,请尝试花一点时间查看文档,这将是值得您花时间的,也不会浪费您的时间然后在这里发布您的问题..! :D
  • @MagnusEriksson 感谢您的提示。你是我在这个世界上见过的最天才的人。非常感谢。我在 Laravel 文档上找到了很多详细信息。

标签: php laravel blade


【解决方案1】:

您可以通过传递 动态值以字符串形式获取php刀片文件

这样

刀片

 <link rel="apple-touch-icon" sizes="60x60" href="{{$url}}/assets/images/favicon/apple-icon-60x60.png">

控制器

$html = view('User::html-file',['url'=>'https://stackoverflow.com'])->render();

O/P

<link rel="apple-touch-icon" sizes="60x60" href="https://stackoverflow.com/assets/images/favicon/apple-icon-60x60.png">\r\n

【讨论】:

    【解决方案2】:

    Render(),当应用于视图时,将生成相应的原始html并将结果存储在变量中。

    我使用渲染的典型原因是:

    将页面转换为 pdf 时(例如,使用 dompdf,将其传递给 loadhtml()),将 HTML 内容返回给 ajax 调用

    【讨论】:

    • 我正在尝试将 $view->render() 发送到 pdf。问题是我有
    【解决方案3】:

    鉴于您已使用 Blade 标记了问题,我假设您的意思是在 Laravel 的 View 类中渲染。

    Illuminate\View\View::render() 返回视图的字符串内容。它还用于类的 __toString() 方法中,该方法允许您回显 View 对象。

    // example.blade.php
    Hello, World!
    
    // SomeController.php
    $view = view('example');
    echo $view->render(); // Hello, World!
    echo $view;  // Hello, World!
    

    Laravel 通常会为您处理这个问题,即必要时调用渲染或将对象用作字符串。

    例如,Blade 的 @include('viewname') 指令将加载视图文件并在后台调用渲染方法。

    当您想要获取编译后的视图以执行一些后续操作时,您可以自己使用它。有时,如果视图本身导致异常并且在 PHP 中解释,我会显式调用渲染而不是字符串

    致命错误:方法 a::__toString() 不得在第 12 行的 /index.php 中抛出异常

    在上述情况下调用 render() 会给出更有用的错误消息。

    【讨论】:

      猜你喜欢
      • 2020-12-01
      • 2016-07-14
      • 2020-04-19
      • 1970-01-01
      • 1970-01-01
      • 2018-01-09
      • 1970-01-01
      • 1970-01-01
      • 2012-01-06
      相关资源
      最近更新 更多