Zend Framework 常用模块(3)

4月 20, 2008 – 11:02 下午

1.Zend_Filter
1.1.用于过滤输出,对于web开发者来说非常有用,常用于过滤一些特殊的HTML字符
举个例子:

  1. <?php
  2.   require_once 'Zend/Filter/HtmlEntities.php';
  3.   $htmlEntities = new Zend_Filter_HtmlEntities();
  4.   echo $htmlEntities->filter('&'); // &amp;
  5.   echo $htmlEntities->filter('"'); // &quot;

1.2.过滤器链
通常,多个过滤器可以以一个特定的顺序应用到某个值上。

  1. <?php
  2. // Provides filter chaining capability
  3. require_once 'Zend/Filter.php';// Filters needed for the example
  4. require_once 'Zend/Filter/Alpha.php';
  5. require_once 'Zend/Filter/StringToLower.php';
  6. // Create a filter chain and add filters to the chain
  7. $filterChain = new Zend_Filter();
  8. $filterChain->addFilter(new Zend_Filter_Alpha()) ->addFilter(newZend_Filter_StringToLower());
  9. // Filter the username
  10. $username = $filterChain->filter($_POST['username']);

先通过Zend_Filter_Alpha移动任何非英文字符.然后进行大小写转化.
1.3如何编写一个过滤器

编写定制的过滤器很容易,只要实现Zend_Filter_Interface接口。

  1. <?php
  2. require_once 'Zend/Filter/Interface.php';
  3. class MyFilter implements Zend_Filter_Interface{
  4.  public function filter($value) { // perform some transformation upon $value to arrive on $valueFiltered
  5. return $valueFiltered;
  6. }
  7. }
  8. //添加上述过滤器的实例到过滤器链中:
  9. $filterChain = new Zend_Filter();
  10. $filterChain->addFilter(new MyFilter());
  11. ?>

2.Zend_Pdf 用于处理pdf的模块
创建与加载用例:

  1. <?php
  2. // Create new PDF document.
  3. $pdf1 = new Zend_Pdf();
  4. // Load PDF document from a file.
  5. $pdf2 = Zend_Pdf::load($fileName);
  6. // Load PDF document from a string.
  7. $pdf3 = Zend_Pdf::parse($pdfString);
  8.  
  9.  
  10. //保存pdf
  11. // Load PDF document.
  12. $pdf = Zend_Pdf::load($fileName);
  13. // Update document
  14. $pdf->save($fileName, true);
  15. // Save document as a new file
  16. $pdf->save($newFileName);
  17. // Return PDF document as a string.
  18. $pdfString = $pdf->render();
  19.  
  20. //pdf 页面管理
  21. // Add new page
  22. $pdf->pages[] = new Zend_Pdf_Page(Zend_Pdf_Page::SIZE_A4);
  23. // Add new page
  24. $pdf->pages[] = $pdf->newPage(Zend_Pdf_Page::SIZE_A4);
  25. ....
  26. ?>

以上只是一些基本的pdf的操作.如果有兴趣,可以查阅详细资料,包括draw之类的操作

Post a Comment