我正在使用Michel Fortin的Markdown库来制作PHP。设置很简单,效果很好:
include_once "markdown.php";
$my_html = Markdown($my_text);
但是,我有一个课程,我想要传递一些内容和“Markdown'就像这样:
class Test
{
public function showMarkdown ($text)
{
return Markdown($text);
}
}
显然,我的班级比这要大得多,但这就是它归结为的。在我的主要脚本中,我做了:
include_once "markdown.php";
$test = new Test();
echo $test->showMarkdown($text);
这会返回一个错误,说明功能' Markdown'未定义。这似乎是显而易见的,因为它不在课堂内,我还没有使用范围操作员。但是当我将include放在我的类中并使用$this->Markdown
或self::Markdown
时,该函数仍未定义。我认为Markdown函数不能在另一个函数内定义。
那么,我该如何解决这个问题呢?我需要执行include,它会加载Markdown函数(以及它的其余部分),但我希望能够在我的类中使用它。
感谢您的回答/想法。
答案 0 :(得分:1)
您的示例代码调用名为Markdown
的自由函数(可能在markdown.php
中定义)。您只需将include放在与Test
类相同的文件中。
执行此操作后,您仍然会将Markdown
称为自由函数,而不是实例($this->Markdown
)或静态(self::Markdown
)方法。
答案 1 :(得分:0)
写
function showMarkdown ($text)
in place of
public function showMarkdown ($text)
和
echo $test->showMarkdown("Hello World");