在Laravel 5.6.3中使用Parsedown



我正在尝试在Laravel 5.6.3中使用Parsedown。据我所知,作曲家的包裹被自动加载到Laravel中,因此我应该能够做类似的事情:

{{ Parsedown('## Hello World!') }}

但是,当我尝试时,我会得到:

致电未定义的函数parsedown((。

因此,我尝试创建一个带有以下内容的parsedown对象:

{{ $parsedown = new Parsedown() }}

但是我得到

htmlspecialchars((期望参数1为字符串,对象给定

起初,我认为这与Laravel的自动加载器有关,但是当我从Vlucas/dotenv请求某些内容时,我会得到我期望的结果:

<p>{{ getenv('APP_NAME') }}</p>输出Laravel

我不确定我要去哪里。我在Laravel文档中找不到任何东西来帮助我。


编辑

@alexeymezenin的答案是正确的,它回答了我最初的问题。但是,它不允许我的降级。以下两行是正确的,并允许施法渲染:

@php($parsedown = new Parsedown())
<?= $parsedown->text('Hello _Parsedown_!'); ?>

看来,刀片模板引擎在回荡解放的情况下存在问题。添加了此编辑以帮助其他用户与我自己相同的问题。

{{}}将通过Blade Engine渲染到echo。因此,更改此:

{{ $parsedown = new Parsedown() }}

to:

@php($parsedown = new Parsedown())

或:

@php
    $parsedown = new Parsedown();
@endphp

或:

<?php $parsedown = new Parsedown(); ?>

您是否使用作曲家安装了parsedown/laravel?这应该解决您的问题,如https://github.com/parsedown/laravel

的文档中给出的那样

相关内容

  • 没有找到相关文章

最新更新