歡迎來到小豬圈!

Showing posts with label PHP:ZendFramework. Show all posts
Showing posts with label PHP:ZendFramework. Show all posts

2008-10-29

Zend_Log 與 FireBug+FirePHP

  • 一個 Zend_Log 可以註冊好幾個 Zend_Log_Writer ,意即一個訊息可以送多個地方記錄。
  • Zend_Log 將訊息透過 HTTP Header (Zend_Wildfire) 傳到 Firebug + FirePHP 的 Console 畫面上,記得要啟用 Firebug 的 Console 和 Net 介面。
  • 另一個和 FireBug 相關的元件是 Zend_Db_Profiler_Firebug ,利用一樣的原理將對資料庫的查詢資訊,傳到 FireBug 上。
  1. Firebug - Web Development Evolved
  2. FirePHP - Firebug Extension for AJAX Development

Zend_Translate 與 Poedit

  • 在用 Zend_Translate 和 Poedit (1.4.2) 時遇到一個問題,就是 xgettext 不吃 *.phtml 而把它當成 C 來處理,解決方法如下:(參見:using poEdit - Zend Framework Forum)

  • 圖為 Poedit 的 File » Preferences » Parsers » PHP » Edit 截圖。
  • 在 extension 增加 *.phtml ,注意分號後面不能有空格。
  • 在 parser command 後加上 -L php 即可,如:xgettext --force-po -o %o %C %K %F -L php
  • 在 Poedit 的 Catalog » Setting » Keywords 增加 translate 一項。
  • 在 Zend_View_Helper_Translate 裡沒有對應 Zend_Translate_Adapter::_ (底線,就如同 gettext 的底線函式) 這個用來省幾個字的方法。
  • 真的要用底線也是有啦,只是省不到字就是了:
    
    <?php
    
    echo $this->translate('something');
    echo 
    $this->translate()->_('something');
    ?>
  • 做為 message id 的字串要應該考慮大小寫及前後空格與符號等,就想原文是如何就是了。

2008-10-28

Zend Framework Components 分類

  • core
    • Zend_Loader 「載入元件」的元件,提供個別載入或 autoload 的方法。
    • Zend_Version
  • 使用者認證/授權
    • Zend_Acl
    • Zend_Auth
    • Zend_Captcha
    • Zend_InfoCard
    • Zend_Ldap
    • Zend_OpenId
    • Zend_Service_ReCaptcha
  • 儲存/快取/暫存資料
    • Zend_Cache
    • Zend_Config
    • Zend_Db
    • Zend_Memory
    • Zend_Registry
    • Zend_Session
  • 跟 MVC 有關的
    • Zend_Controller
    • Zend_Layout
    • Zend_Paginator
    • Zend_View
  • i18n
    • Zend_Currency
    • Zend_Date
    • Zend_Locale
    • Zend_Measure
    • Zend_Translate
  • debug
    • Zend_Debug
    • Zend_Exception
    • Zend_Log
    • Zend_Test
  • XML Manipulation
    • Zend_Dom
    • Zend_Feed
  • 處理表單及使用者輸入資料
    • Zend_File
    • Zend_Filter
    • Zend_Filter_Input
    • Zend_Form
    • Zend_Validate
  • 網路服務
    • Zend_Gdata
    • Zend_Service_Akismet
    • Zend_Service_Amazon
    • Zend_Service_Audioscrobbler
    • Zend_Service_Delicious
    • Zend_Service_Flickr
    • Zend_Service_Nirvanix
    • Zend_Service_Simpy
    • Zend_Service_SlideShare
    • Zend_Service_StrikeIron
    • Zend_Service_Technorati
    • Zend_Service_Yahoo
  • 跟寄 E-Mail 有關的
    • Zend_Mail
    • Zend_Mime
  • Web Services
    • Zend_Soap
    • Zend_XmlRpc
    • Zend_Console_Getopt
    • Zend_Dojo
    • Zend_Http
    • Zend_Json
    • Zend_Pdf
    • Zend_Rest
    • Zend_Search_Lucene
    • Zend_Server_Reflection
    • Zend_Text
    • Zend_Timesync
    • Zend_Uri
    • Zend_Wildfire

2008-10-21

詭異的 Zend_Mail

  • 目前測試成果之一,是可以用 Gmail SMTP 寄信。
  • 中文(正確來說是需要編碼的非 ASCII 字元)無法正常顯示。除了太長以外,還有中文字被截開的問題。得改寫 Zend_Mail::_encodeHeader 、 Zend_Mime::encodeQuotedPrintable 。我改寫的版本在 Gmail 測試成功,不過寫太醜了就不放上來了。
  • 後來查了一下才知道,原來這問題之前就有了… Zend_Mail中文標題亂碼問題 - IT邦幫忙::IT知識分享社群。我現在用的是 1.6.1 版,依然有這個問題。
  • Subject header 的格式範例:
    Subject: =?UTF-8?Q?=11=22=33=44=55=66=77=88=99=AA=BB=CC=DD=EE=FF?=
     =?UTF-8?Q?=11=22=33=44=55=66=77=88=99=AA=BB=CC=DD=EE=FF?=
    (超過 78 個字元“應該”換行)
  • 若只送出 BodyText 或 BodyHtml 其中一種,則不會送出 Content-Type 和 Content-Transfer-Encoding 的 header 。
  • 文件第 29.5. HTML E-Mail 一節提到:同時送出 BodyText 跟 BodyHtml 會自動換成 multipart/alternative 並沒有發生。解決標題問題後,這功能也恢愎正常。
  • Zend_Mail::_storeHeader 裡有一行奇怪的 comment : // ?? $value = strtr($value,"\r\n\t",'???');

標籤分類

Labels

Google Analytics Tracking Code

About Me

My photo
Keelung, R.O.C, Taiwan
一個不學無術、混吃等死的傢伙…