ClassScript:像Java一樣的寫法來宣告JavaScript的Class
目前主流的JavaScript library 相當多,像是 jQuery、Mootools...等等,都是相當熱門的。但是其中還是各自有其優缺點,像是jQuery感覺就是以Element為重心,全部的動作幾乎都是過$()函式的呼叫來取得欲操作的element,但是對於他的擴充性,可能必須先其有相當的瞭解,才能開發自己的Plugin,而mootools其實比較符合用物件導向的方式開發,可以使用class的方法來讓你建立一個像是Java的class宣告式,雖然程式碼可能會因此多了一點,但是在往後的擴充與管理有著相當的優勢,唯一稍嫌不足的是它的方法命名都取的蠻奇怪的,雖然字義上是沒錯,但卻不是平常看到的,所以當初在學習時,會讓感覺需刻意去瞭解你本來就知道的東西,經常會看完一個方法的介紹後,心中浮現出"原來是這個阿!"。而且它的Class宣告是使用new Class()來建立,對於學過Java的人感覺的確會讓人覺得怪怪的。
有借於此,我自己寫了一個模擬Java寫法的Class宣告方式,對於想能在JavaScript的環境中,像Java一樣的輕鬆宣告Class,或許可以讓你在JavaScript開發物件導向程式更容易上手,目實作了Package,Class,Extends,Implements四個主要方法:
首先先取得ClassScript的Core.Js檔:
你可以選擇下載或直接使用放在google上的路徑
<script type='text/javascript' src='http://classscript.googlecode.com/files/http://classscript.googlecode.com/files/ClassScript-1.0.2beta.js'></script>
囧啊,又有新的PHP framework了,Yii
我有趴別人blog的興趣,無意間看見這篇由Fred Wu所寫的「Choosing a PHP Framework Round 2: Yii vs Kohana vs CodeIgniter」,文章內容在描述同屬輕量級的framework的Yii vs Kohana vs CodeIgniter,嗯…Kohana 是從CodeIgniter分出來的還好,但Yii說真的我是今天才知道有這東西。這裡有一篇官方提供的各framework比較文章,Yii贏的部分似乎是在資料庫支援的完整性與效能。回去看一下Yii官網下面的時間2008-2009,果然是在Kohana之後所產生的新的framework。
Fred Wu的blog中還有幾篇相關文章,像是如何把Kohana的helper橋接到Yii和讓Yii橋接成有完整的Kohana風格追加,看來Fred Wu似乎很中意Yii呀~@_@已經開始將Kohana與Yii合體了。
之前想說要整理CI 的文章,後來轉Kohana就放棄之前CI 的整理了,最近熟手之後卻反讓我看現更好(?)的Yii,人呀,果然不可以喜歡厭舊,會遭天譴的,囧rz…
「嘴巴說不要,身體卻很誠實 」…我開始研究Yii的文件了=.=
等熟一點,再發表我的心得吧
simple fileinfo() 取得檔案完整資訊
最近寫的程式會處理圖片上傳下載的動作,通常都會各別使用到pathinfo()、filesize()、getimagesize(),但是每次都要各別呼叫有點麻煩,所以就寫了一個helper來一次解決這個問題,這個function是針對Kohana寫的,如果你不是使用KHN的話,你可以複製程式碼後,自行修改符合你需要的部分
Array
(
[dirname] => .
[basename] => bee.jpg
[extension] => jpg
[filename] => bee
[filesize] => 883496
[width] => 1920
[height] => 1200
[0] => 1920
[1] => 1200
[2] => 2
[3] => width="1920" height="1200"
[bits] => 8
[channels] => 3
[mime] => image/jpeg
)
array_product()
最近趴了PHP官方的array函式,發現有多了一個array_product(),他出現在5.1.0之後的版本,可以將陣列裡的值進行相乘的動作,換句話說之前的階乘函式,可以有另外一種寫法了。
//************************************************* // 函式名稱:階乘函式 // 功能說明:5! = 5 * 4 * 3 * 2 * 1 = echelon(5) //************************************************* function factorial(n){ if(n == 1 || n == 0 ) { return 1; } else { return n * factorial(n - 1); } }
改寫成這樣
array_product(range(1,5));
不過效能誰比較好呢?@_@,所以我利用之前文章提到的Xdebug來測試
Read the rest of this post »
很像RO的Secret of the Solstice

無意間看到一款國外遊戲,很像RO,而且是終生免費的(話說RO有名之後,後面就出現一堆像RO的),啊勒=.=,竟然要2.xG的硬碟空間,一個像RO的遊戲竟然要用到快3G的,意思是他比RO更精美嗎,嘿嘿…所以就試著下載來玩看看。
Read the rest of this post »
nl2br的反函式br2nl
最近使用到nl2br將文章轉存,突然發現好像沒有轉存的函式,用google來G一下,果然也有人遇到同樣的問題,從這篇文章的作者佛心來的=v=,提供了一個反轉函式。不好意思就偷偷給他拿來用了(感謝),因為我目前開始使用Kohana,所以下列就直接將他寫成helper了。
Read the rest of this post »
office2007 files mimetype
最近用Kohana寫檔案上傳的程式,遇到一個奇怪的現象,就是只有docx、xlsx不能上傳,但是如果將檔案存成doc就可以上傳了,這時候還笨笨的沒想到原因,突然閃到一個mime的設定檔,馬上就猜是不是沒有定義。開啟了設定檔檢查了一下,果然沒有定義docx、xlsx等的mime,嗯…一開始是想說使用PHP的fileinfo取得檔案的mime後,再補上就好了。結果踢到鐵板呀/__\,fileinfo意外的都發生錯誤,悶了…所以我就直接google「docx mimetype list」,最後在這篇文章找到了定義值,我把他列在下面,或許改天有人也會用的到,就copy去吧!!
Read the rest of this post »
CI解決Image_lib的PNG透明alpha層無法顯示
CodeIgniter的Image_lib可以快速的產生所想要的縮圖,也可以方便的加入浮水印,不過官方原始的類別無法處理PNG的透明背景層,所有含有透明背景的圖片都會變成黑色的背景。

最近剛好使用到也遇到了問題/__\,幸好透過官方的討論區,找到其它玩家的解決方式。你可以從這篇討論文章的串文,看到原文的解決方式,不過我仍然將解決的方式,重新發表在這邊分享給遇到同樣問題的人。
Read the rest of this post »
Open-source free PHP CAPTCHA script
The library bug had be find by Tongshuai.It's seem because SESSION problem in different CI version.If you got the same trouble,you can try the solution that Tongshuai's comment (2009-04-24)
由網友Tongshuai測試之後發現有BUG,似乎是SESSION部分出了一些問題,很抱歉我沒有測試各CI版本,或許是CI版本的問題,但是Tongshuai也順便提供了他的解決方法,可以直接參考他的回覆內容(2009-04-24)
What's it? see http://www.phpcaptcha.org/captcha-gallery/
The original source from http://www.phpcaptcha.org/
It seems light and simple to use,so I try to fixed it up for CI framework
這是什麼?請看http://www.phpcaptcha.org/captcha-gallery/就知道了。沒錯,他就是驗證圖片產生器
這個類別庫源自於 http://www.phpcaptcha.org/
整個類別庫只有一個檔案而且相當好使用,所以我就試著把他改成可以放在CI來使用
Install:
* Download the Securimage Library from http://doublekai.org/files/Securimage_For_CI.zip
* Copy file libraries / Securimage.php to application / libraries
* Copy file config / Securimage.php to application / config
* Copy dir views / fonts to application / views
if you want to quickstart test
* Copy file controlls / welcome.php to application / controlls
* Copy file controlls / image.php to application / controlls
* Copy file views / test.html to application / views
PHP的foreach前身寫法
無意見看到一段程式碼,突然發覺這就是foreach嘛~滿特別的,因為以前沒這樣想過,所以記錄一下
//舊的寫法 while(list($key,$value) = each($attributes)){ //do something } //PHP4版本新增 foreach($attributes as $key => $value){ //do something }
或許還在用PHP4之前版本的人玩家可以參考,有向下相容性(笑)
