使用wp等短代码在laravel5.1中呈现数据

prdp8dxp  于 2021-06-21  发布在  Mysql
关注(0)|答案(5)|浏览(215)

我的数据库中有以下内容-

<p>This is dummy content for testing</p>
{{LandingPageController::getTest()}}

我想把它呈现在我的视野中。但当我在拉维视图中渲染时,这个 {{LandingPageController::getTest()}} 在数据库中存储时显示。我想打电话给警察 LandingPageController getTest 在我看来。
请给我一个快速的解决方法。
登录页控制器

public function getTest(){
    return "Hello World!!!";
}
ao218c7q

ao218c7q1#

得到了解决方案,用“laravel shortcodes”实现了功能。
找到了一个关于像wordpress这样的laravel短代码的非常好的教程

kiz8lqtg

kiz8lqtg2#

只需将函数设置为静态

public static function getTest(){
    return "Hello World!!!";
}

你只能这样称呼它 {{LandingPageController::getTest()}} 但是我建议不要在你的blade文件中这样做这不是一个好的代码设计。你应该这样做 $test = LandingPageController::getTest() 在控制器中,返回blade视图并像这样传递它 return view('blade_file_name',compact('test')) 在你的刀锋文件里 {{$test}} 如果你这样做你的控制器使用这样的类 use Path\To\Controller\LandingPageController

qxsslcnc

qxsslcnc3#

在刀片文件中使用该控制器的命名空间。例子

namespace App\Http\Controllers\LandingPageController;
6ie5vjzr

6ie5vjzr4#

可以使用 eval() 功能
eval-将字符串作为php代码计算
但这是非常气馁。
eval()语言构造非常危险,因为它允许执行任意php代码。因此不鼓励使用。如果您已经仔细验证了除了使用此构造之外没有其他选择,请特别注意,在没有事先正确验证的情况下,不要将任何用户提供的数据传递到该构造中。
你可以使用一般字符串, {test} 例如,在存储中保存内容时。

<p>This is dummy content for testing</p>
{test}

然后,无论何时需要显示实际内容,都可以简单地用实际值替换泛型字符串。您的blade文件中将包含以下行:

{{ str_replace('{str}', "Hello World", $content) }}
nbnkbykc

nbnkbykc5#

看看帮手。您可以在视图中调用helper函数来呈现文本或html

相关问题