Google Developer Day 2008 Taiwan的照片出來了
我也跑去湊熱鬧了,不過應該是我資質不好,有幾個場次其實聽不太懂,睡得還滿舒服的!
官方的場記照片出來了,我被拍到好幾張入鏡,不是醜臉就是看起來痴肥...
網址:picasaweb相本
我也跑去湊熱鬧了,不過應該是我資質不好,有幾個場次其實聽不太懂,睡得還滿舒服的!
官方的場記照片出來了,我被拍到好幾張入鏡,不是醜臉就是看起來痴肥...
網址:picasaweb相本
經過了許久個日子的努力,終於讓全國加油站上線了,這次,用的也是ZF(Zend Framework)來實作的。
上次的HI-CHEW開心堂實作算是第一個試作品,新手上路,所以架構是仿照Rob Allen的"Getting Started with Zend Framework"這篇文章來佈署的,但上回實作的過程中總覺得有些不方便的地方,所以這次全國加油站網站在實作的MVC佈署架構,就上次實作的HI-CHEW更模組化一些,期望下次再建構網站時可以有更多的模組能在最小修改(或是不用修改)的情況下再重複使用。
心得:果然,還是直接實作比看一堆文件還學得快,也記得比較牢 :)
不久前ZF宣佈與Dojo的整合..
我個人比較愛jQuery,可惜目前ZF目前選擇的是Dojo當做它的好伴侶
這兩天再來了解一下Dojo,期待jQuery也被整合進去呀
參考資料:
‧官方消息
‧Zend Framework Dojo Integration
‧Zend Frameowork + Dojo的ppt
補充:
看了一下Dojo的資料,整個是個不小的架構,甚至還得改寫原來html code的習慣...試玩了一下Dojo的Helloworld,真的不太習慣...我還是比習慣jQuery,不過Dojo背後有大廠在支持啊...-_-
在Zend_Acl當中有兩個重要的部份:Resource(資源) 與 Role(角色),其中「角色」存取「資源」,舉個白話的例子,在一個進出受管制的電梯大樓,小明可以進入101樓的辦公室,表示小明這個「角色」,他的通行證可以刷卡進入101樓的電梯,進入101樓這個「資源」。
比較常見的是網站管理系統的權限實作,例如編輯部的同仁只能用網站的內容編輯系統,廣告部則可以使用廣告刊播系統以及報表系統,但沒有使用內容編輯的權限。那在ZF中,Zend_Acl如何實作這樣的概念呢?
看著上一篇網誌的日期,轉眼又是四個月過去了,話說這段時間除了手邊的案子一直在進行之外,就是花了些時間在Zend Framework上。不過看歸看,一直在觀望不敢拿自己手邊的案子做實驗 :)
前不久ZF 1.5 Release推出了,看起來還不賴,就狠下心來用它了,反正好壞也是一刀 :) 最近手邊的一個星光幫林宥嘉代言的短期網路活動案(HI-CHEW開心堂),就整個是用ZF來實做的。
因為對MVC沒很熟,所以程式碼很多都不太MVC(我好像把Controller該做的動作寫到Model裡了),應該還有滿多地方要改進的,下個案子再來tune :)
活動還有些獎品,活動期間是97年4/1到5/30,有興趣的可以去買個糖果上去參加抽獎 :)
Google新推出的Google Chart API,只要傳幾個簡單的數字進去,它就會產生漂亮的圖表回來(當然PHP的GD或是Imagemagick應該也都行)。在Flash裡面要做圖表也是有方便的元件可以用,不過如果可以透過API以及loadMovie的方式傳回圖片,連元件都省下來了,在製作上就更單純了。
Demo網址:
http://www.eddie.com.tw/FlashLabs/Examples/pieChart/
改變一下數字,圖表就會更著變化,目前似乎是有每天使用次數上的限制,不過對於用在網站管理系統或是拿來做報表系統的圖表,應該是相當夠用的。
Google Chart API其實還有提供更多的圖表可以玩,詳細使用方法請洽http://code.google.com/apis/chart/
在SWF裡面如果有用到UI Component裡的ComboBox,又剛好被別的SWF給loadMovie進去,這時候被load的SWF裡的ComboBox會失效,連下拉都拉不動。雖然已經是很久的已知問題,但之前有幾個案子遇到但因為時間趕,只好用別的比較蠢的方案代替。
This is caused by the v2 component architecture. This issue usually occurs when using v2 components inside a child SWF that is loaded by a parent SWF.
解決方法是只要在上層的SWF中,也拉一個Combobox到Library中就行了 ![]()
參考資料:Adobe Knowledge Base
Zend Framework 11/30發表了1.0.3版本,解決了一些已知的問題並增加了一些功能,特別在Zend_Gdata類別增加一些功能,讓開發者可以與google service(如youtube及picasa)有更簡單而便利的結合 :)
http://devzone.zend.com/article/2765-Zend-Framework-1.0.3-Released
更新到1.0.3,ChangeLog看起來改變不多,還好應該對目前正在進行的專案不會影響太大 :)
Flash的debug是件痛苦的事,因為*.swf在browser中並不會丟出太多的訊息讓開發者知道到底發生了事情,在Flash的IDE中,可以用trace()的方式把一些測試訊息傳出來,但這在發佈成*.swf之後又看不到..
有善心人士(Alessandro Crugnola)開發了一個Firefox的外掛元件,可以讓trace()照樣像在Flash IDE一樣把訊息傳出來,讓Flash的開發人員多了一個debug的方法。
這兩天在處理一個案子時遇到一個狀況,困擾了我兩天。例如我先建立了一個menu.swf,並在menu.swf使用Sound類別建立、播放音效如下:
var mySound:Sound = new Sound();
mySound.attachSound("soundClip");
mySound.start();
單獨播放時正常,但當被load到其它swf就發生狀況,聲音出不來
查了一下Adobe網站的資料有發現這一條:
Attached sounds fail in loaded movies
這樣寫著:
This script will function properly except when the SWF containing it is loaded into another movie by aloadMovie action. In this case, the loaded movie loses it’s connection to the linked sound.
解決方法是在建立Sound類別時加個”this“就行了
var mySound:Sound = new Sound(this);
mySound.attachSound("soundClip");
mySound.start();
搞定收工 ![]()
我的環境:
Windows XP Professional(SP2)
Appserv(Apache 2.2.4, PHP/5.2.3, MySQL 5.0.45)
透過Ming就可以直接產生swf檔
環境:
Windows XP Professional(SP2)
Appserv(Apache 2.2.4, PHP/5.2.3, MySQL 5.0.45)
Zend Framework 1.0.1(2007-07-30)
在PHP裡使用類別,若忘了把類別檔案給include進來,在實體化的時候會發生錯誤。在PHP5裡有這個方便的function可以用:「__autoload」。透過它,就可以讓類別檔在需要的時候載入了。
function __autoload($class_name){
$filename = strtolower($class_name) .'.php';
$file = site_path .'classes' .DIRECTORY_SEPARATOR .$filename;
if(!file_exists($file)){
return false;
}
include_once ($file);
}
這樣只要把類別檔放在classes目錄裡面,它在需要用的時候就會透過__autoload function去找到相對應的檔案![]()
根據php.net所寫的注意事項:
1. 它在Command Line模式底下不能用;
2. 在裡面丟出Exception抓不到