高見龍

iOS app/Ruby/Rails Developer & Instructor, 喜愛非主流的新玩具 :)

PHP OOP

最近拿PHP來玩OOP(Object-Oriented Programming),發現這還挺有趣的 :)

建立類別

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
class myFirstClass
{
  var $username;
  var $age;

  function myFirstClass()
  {
    //this is CONSTRUCTOR!!
  }

  function showMe()
  {
    echo "My Name is " .$this->username .", and I'm " .$this->age ." years old!";
  }
}

類別實體化

1
2
3
4
5
<?php
  $myInstance = new myFirstClass();
  $myInstance->username = "eddie";
  $myInstance->age = 20;
  $myInstance->showMe();

它應該在頁面上會輸出:

My Name is eddie, and I’m 20 years old!

我用的是php4的版本,所以跟5的版本應該會有些不同,至少Contrustor的方法就不太一樣了

參考資料:

Flash9 on Win2000

因為想玩AS3.0本以為Flash9在Win2000上面裝不起來,不過我個人不喜歡WinXP也不太喜歡因為AS3而安裝Flex,而用Flex SDK玩起來也很痛苦 :)

結果發現原來可以用這種方法安裝

http://blog.5d.cn/user6/xbzg/200608/299120.html

只要找台WinXP的機器安裝完再整個目錄搬過來就行了,真是簡單啊 :)

開新視窗

在BBS或Yahoo!知識+上面常看到有人在問要怎麼另開小視窗,或是依據不同使用者的螢幕解析度開啟不同大小的視窗,怕自己久沒用也忘記,乾脆貼一篇給自己參考,也供有需要的人參考 :)

1
2
3
4
5
6
7
8
9
10
11
<script language="javascript">
function newwindow(theURL,winName,targetName,features){
  eval(winName+"=window.open('"+theURL+"','"+targetName+"','"+features+"')");
}

function openWindow(){
  var _w = 800;
  var _h = 600;
  newwindow('main.htm','newWin','newWin','width=' +_w +',height=' +_h  +',scrollbars=0,left=' +(screen.width-_w)/2 +',top='  +(screen.height-_h)/2 +'');
}
</script>

上面這個片段程式碼可以新開一個800×600的視窗,視窗頁面檔名叫main.htm,位置會剛好開在螢幕正中間。其中,w跟h是新視窗的寬度跟高度,如果要變成全螢幕的話,則可修改成:

1
2
var _w = screen.width;
var _h = screen.height;

如果要在Flash裡面開新視窗:

1
2
3
4
myButton.onRelease = function(){
  //myButton為該按鈕的instance name
  getURL("javascript:openWindow();");
}

Captcha in Flash

大部份產生Captcha的方式,都是透過Server端的繪圖library(例如GD),動態產生圖檔做為認證用途。不過用Flash因為本身就可以做繪圖,在實作上比其它程式語法簡單得多 :)

上面這個範例是從Rick Smith的Blog參考來的 http://www.philosophyme.com/index.cfm?blog=40

原作者後端用的是ColdFusion我不熟,我小改了一下用PHP丟隨機字串出來,應該也是可以玩玩看,但在安全性上應該還要再加強。如果只是實作在一般網路活動,用來防堵大量或自動化表單填寫應該勉強可以用的 :)

References