如何在Zend Framework中加载一个类

时间:2012-08-01 15:46:44

标签: php zend-framework

我在标准Zend Framework应用程序中的library折叠中获得了一个PHP库(PHP Markdown)。加载文件及其所有类的最佳方法是在我的模型和控制器中使用。

结构:

library/phpMarkdown/markdown.php

注意: PHP Markdown有一个非常难看的结构:它只是真正的“API”是一个简单的函数,而不是一个类。所以优雅不适用于这个确切的情况,但关于genearl解决方案正确命名的文件/类的问题也是“正确答案。”

修改的 这里有很多好的输入,真的不确定我应该接受哪个答案!谢谢大家!

3 个答案:

答案 0 :(得分:2)

The autoloader

只是实例化类,自动加载器应该找到它。如果不是,则需要添加命名空间和路径。

答案 1 :(得分:2)

如果您在以下树中有一个类(例如):library / My / Tool.php

您需要将其添加到您的application.ini:

autoloaderNamespaces[] = "My_"

然后在您的代码中,您只需致电:

$tool = new My_Tool();

修改:

在文件Tool.php中,您必须遵循Zend命名约定并具有以下内容:

<?php

class My_Tool {

}

有关更多信息,请参阅:Zend Naming conventions

答案 2 :(得分:0)

为了简单起见并添加一个文件,您可以在Bootstrap.php中添加类似的内容:

 protected function _initLoad(){
        Zend_Loader::loadFile('markdown.php', '/../library');

    }

我刚将markdown.php复制到应用程序库中,并将这个小函数放入bootstrap中。如果需要,您也可以使用Zend_Loader::loadClass();