有人可以向我解释如何使用 PCharts 配置 zendframework 项目吗?我需要以图形形式显示数据库中的数据。如果可能的话,请给我一个如何将各个部分组合在一起的示例代码。谢谢
3 回答
我必须说这与马里奥的答案没有什么不同,但对我来说,使用路径中的 pChart 是更好的解决方案。如下:
//public/index.php
set_include_path(implode(PATH_SEPARATOR, array(
realpath(APPLICATION_PATH . '/../library'),
realpath(APPLICATION_PATH . '/../library/pChart/class'),
...
get_include_path(),
)));
渲染图表并返回您需要在视图中使用的图像名称和路径,一切就绪。如有疑问,请询问。
在 .phtml 文件的图像的 src 属性中调用 pichartcreateAction,例如
<img src="YOUR_SITE_PATH/Controller/pichartcreateAction" > 在你的主页 phtml 文件中
现在在 pichartcreateAction() 中执行与“Mario”所说的相同的操作。
可能有更好的方法来做到这一点,但由于没有人在这里回答,这是一种相当简单的方法。
首先将 pChart 放在您的库目录 (myapp/library/pChart) 中。
接下来创建一个用于渲染图像的操作(是的,您的图表将需要它自己的操作,因为您需要禁用布局和视图,并设置标题。)
注意:以下代码将用于您的操作,我只包含与 Zend Framework 集成相关的部分。
禁用布局和视图:
$this->_helper->getHelper("layout")->disableLayout();
$this->_helper->viewRenderer->setNoRender();
包括 pChart:
include(APPLICATION_PATH."/../library/pChart/class/pData.class.php");
include(APPLICATION_PATH."/../library/pChart/class/pDraw.class.php");
include(APPLICATION_PATH."/../library/pChart/class/pImage.class.php");
现在开始构建图表(为清楚起见,排除了 pChart 代码):
{... pChart code ...}
指定字体时使用完整路径:
$myPicture->setFontProperties(array(
"R"=>0,"G"=>0,"B"=>0,
"FontName"=>APPLICATION_PATH."/../library/pChart/fonts/pf_arma_five.ttf",
"FontSize"=>12
));
完成您的图表代码(为清楚起见,排除了 pChart 代码):
{... pChart code ...}
最后将 content-type 设置为 image/png 并渲染图像:
header('Content-type: image/png');
$myPicture->stroke();