【发布时间】:2018-07-30 14:29:00
【问题描述】:
我正在尝试在 Laravel 5.6.3 中使用 Parsedown。据我所知,Composer 包是自动加载到 Laravel 中的,所以我应该可以这样做:
{{ Parsedown('## Hello World!') }}
但是当我尝试这样做时,我得到:
调用未定义的函数 Parsedown()。
所以我尝试使用以下内容创建 Parsedown 对象:
{{ $parsedown = new \Parsedown() }}
然后我明白了
htmlspecialchars() 期望参数 1 是字符串,给定对象
起初我以为这与 Laravel 的自动加载器有关,但当我从 vlucas/dotenv 请求某些内容时,我得到了我期望的结果:
<p>{{ getenv('APP_NAME') }}</p> 输出Laravel。
我不确定我哪里出错了。我在 Laravel 文档中也找不到任何可以帮助我的东西。
编辑
@AlexeyMezenin 的回答是正确的,它回答了我原来的问题。但是它不允许渲染我的降价。以下两行是正确的,允许渲染 markdown:
@php($parsedown = new Parsedown())
<?= $parsedown->text('Hello _Parsedown_!'); ?>
刀片模板引擎似乎在回显 parsedown 时遇到问题。添加此编辑是为了帮助遇到与我相同问题的其他用户。
【问题讨论】:
标签: php laravel composer-php