9

我成功地使用了 zf2-tutorial,但是在尝试集成像“jpgraph”这样的外部库时我完全感到困惑。我知道我必须使用 autoload 或 servicemanager 执行此操作,但它不起作用。jpgraph 的 php 文件位于 vendor/graph 目录中。我在控制器 indexAction 中使用了一个名为 Jpgraph 的模块,我尝试:

$graph = new Graph($width,$height);

这给了我一个错误:

Fatal error: Class 'Jpgraph\Controller\Graph' not found in ...

jpgraph 库不使用命名空间。

我也尝试过这种方式但没有成功

整合这些东西的最佳方法是什么?

我会很高兴每一个提示或帮助

4

2 回答 2

2

Add the library to your composer.json and add the class with Classmap and/or the include path as phpunit does

https://github.com/sebastianbergmann/phpunit/blob/master/composer.json#L48

于 2012-10-16T18:18:28.473 回答
0

正如 Maks3w 指出的那样,一种选择是使用Composer。如果您之前从未听说过或使用过 composer,那么绝对值得一看。我很惊讶设置和使用 3rd 方库是多么容易。设置您自己的库以与 composer 一起使用也很容易,并使用您自己的任何源代码控制(git 或 svn)库 - 与 GitHub repos 一起使用 - 只需添加一个 composer.json 文件。

另一方面,你不需要使用作曲家来做你想做的事,它会很容易,但它可能有点矫枉过正。Zend Framework 2 有一个非常灵活的自动加载系统,虽然它与PSR-0配合得很好,但你可以拥有任何你喜欢的类自动加载系统。看看Zend\Loader的不同组件,特别是我认为ClassMapAutoloader将是满足您需求的组件。

于 2012-10-16T22:15:41.443 回答