php—Zend framework中如何使用Jpgraph報表庫

來源:互聯網
上載者:User

今天想在Zend Framework架構中,使用Jpgraph第三庫,查了許多資料,逛了許多論壇,發現在中文論壇中,關於這方面的資料很少,所以把自己摸索得到的經驗,記錄下來。希望能給需要這方面資料的朋友,提供一些參考。

 

1、Jpgraph庫放在位置在library檔案夾下,如所示:

2、在ElectorController.php控制器中,調用"showmsguiAction"方法如下:

/** * 轉到顯示投票結果介面 */public function showmsguiAction(){}

3、顯示投票結果的頁面"showmsgui.html"如下:

<html><head><title>支援人數報表圖</title><meta http-equiv="content-type" content="text/html;charset=utf-8"/></head><h1>顯示支援兩位總統的支援人數情況統計圖</h1><table><tr><td><img src="/elector/showvote?id=1"/></td><td><img src="/elector/showvote?id=2"/></td></tr></table></html>

說明:其中關鍵之處在“electoral/showvote?id=1”和"elector/showvote?id=2",這裡需要對zend framework的原理有一定瞭解,這裡的意思是,圖片的來源是來自ElectorController.php控制器中showvoteAction方法的調用。

4、ElectorController.php控制器中showvoteAction原始碼如下:

/** * 調用Jpgraph介面,得到投票結果圖表 */public function showvoteAction(){//在調用Jpgraph介面時,禁用layout和viewRenderer,否則會出問題$this->_helper->getHelper ('layout')->disableLayout ();$this->_helper->getHelper ('viewRenderer')->setNoRender ();require_once ('../library/jpgraph/jpgraph.php');require_once ('../library/jpgraph/jpgraph_bar.php');$datay1=array(13,8,19,7,17,6);$datay2=array(0,0,0,0,0,0);// Create the graph.$graph = new Graph(350,250);$graph->SetScale('textlin');$graph->SetMarginColor('silver');// Setup title$id=$_REQUEST["id"];if($id==1){$title="Support Bushi Number";}else if($id==2){$title="Support AoBama Number";}$graph->title->Set($title);$graph->title->SetFont(30,FS_BOLD);// Create the first bar$bplot = new BarPlot($datay1);$bplot->SetFillGradient('AntiqueWhite2','AntiqueWhite4:0.8',GRAD_VERT);$bplot->SetColor('darkred');// Create the second bar$bplot2 = new BarPlot($datay2);$bplot2->SetFillGradient('olivedrab1','olivedrab4',GRAD_VERT);$bplot2->SetColor('darkgreen');// And join them in an accumulated bar$accbplot = new AccBarPlot(array($bplot,$bplot2));$graph->Add($accbplot);$graph->Stroke();}

5、得到的結果如所示:

6、我認為其中關鍵的地方在第三步中,如何在zend framework架構中調用需要的方法,其他和平時編寫的一樣。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.