我正在尝试让 Symfony 2 控制器从 JPGraph 生成图表。我遇到的问题是让 Symfony 和 JPGraph 可靠地协同工作。
我制作了我的控制器,并确保我进入了函数内部,但我无法将图形输出到浏览器。我在使用 image/jpeg 标头时尝试了 $graph->Stroke() ,但它会导致空白页。我也尝试使用 Twig 并将我的图形对象传递给模板,然后调用 graph.Stroke,但似乎 Twig 没有正确解析它,因为图像没有出现(我在我的 img 上使用了 base 64 编码src,它仍然没有图像。)
最后,我试过了
return $graph->Stroke()
和
return new Response($graph->Stroke());
但两者也只是导致空白页。我会在早上回来工作时提供任何人认为需要的任何资源,我只是希望没有资源,有人可以指导我如何让 Symfony 和 JPGraph 都以我想要的方式交互.
更新:
这是我试图作为演示/学习练习运行的源代码,以使两者一起工作。
<?php //
namespace Bundle\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
$JPGraphSrc = 'JPGraph/src';
require_once ($JPGraphSrc.'/jpgraph.php');
require_once ($JPGraphSrc.'/jpgraph_line.php');
require_once ($JPGraphSrc.'/jpgraph_bar.php');
require_once ($JPGraphSrc.'/jpgraph_date.php');
class GraphingController extends Controller
{
public function createGraphAction(Request $request) {
$this->getResponse()->setContent('image/jpeg');
// Some data
$ydata = array(11,3,8,12,5,1,9,13,5,7);
// Create the graph. These two calls are always required
$graph = new Graph(350,250);
$graph->SetScale('textlin');
// Create the linear plot
$lineplot=new LinePlot($ydata);
$lineplot->SetColor('blue');
// Add the plot to the graph
$graph->Add($lineplot);
// Display the graph
$graph->Stroke();
return sfView::NONE;
}
}