我试图在Laravel5.6.3中使用帕赛。据我所知,作曲家包是自动装入Laravel的,所以我应该可以这样做:
{{ Parsedown('## Hello World!') }}但当我尝试的时候,我得到了:
调用未定义函数Parsedown()。
因此,我尝试使用以下方法创建Parsedown对象:
{{ $parsedown = new \Parsedown() }}但后来我得到了
htmlspecialchars()期望参数1是string,对象给定
起初,我认为这与Laravel的自动加载程序有关,但当我向vlucas/dotenv请求时,我得到了我期望的结果:
<p>{{ getenv('APP_NAME') }}</p>输出Laravel。
我不知道我哪里出了问题。我在Laravel的文件里也找不到任何东西来帮我。
编辑
“AlexeyMezenin”的答案是正确的,它回答了我最初的问题。然而,它不允许我的标记被渲染。以下两行是正确的,并允许呈现标记:
@php($parsedown = new Parsedown())
<?= $parsedown->text('Hello _Parsedown_!'); ?>看来,叶片模板引擎有问题的回声分析。此编辑已添加,以帮助其他用户有同样的问题,我自己。
发布于 2018-02-20 09:21:51
{{}}将由叶片引擎呈现给echo。因此,请更改以下内容:
{{ $parsedown = new \Parsedown() }}至:
@php($parsedown = new \Parsedown())或者:
@php
$parsedown = new \Parsedown();
@endphp或者:
<?php $parsedown = new \Parsedown(); ?>发布于 2018-02-20 12:28:31
您是否使用composer安装了parsedown/laravel?这应该可以解决您的问题,正如https://github.com/parsedown/laravel文档中所给出的那样
https://stackoverflow.com/questions/48881673
复制相似问题