在Laravel 5.6.3中使用Parsedown

时间:2018-02-20 09:21:03

标签: php laravel composer-php

我试图在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的答案是正确的,它回答了我原来的问题。但是它不允许我的降价。以下两行是正确的,并允许呈现降价:

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

似乎刀片模板引擎在解析已解析时遇到问题。此编辑已添加,以帮助其他用户遇到与我相同的问题。

2 个答案:

答案 0 :(得分:3)

<v-select v-model="category" :items="categories" item-text="text" item-value="value" single-line auto label="Filter" prepend-icon="search" @change="a();" > </v-select> export default { data (){ return { category: null, categories: [ { value: 1, text: 'Arbete', selected: true }, { value: 2, text: 'Arbetare', selected: false } ] } }, methods: { a (){ if(this.category == 1){ console.log("work " + this.category) }else{ console.log("labour "+ this.category) } } } 将由Blade引擎呈现给{{}}。所以,改变这个:

echo

要:

{{ $parsedown = new \Parsedown() }}

或者:

@php($parsedown = new \Parsedown())

或者:

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

答案 1 :(得分:0)

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

中的文档所示