PHP4とPHP5の違いを勉強してみた


だいたいここにまとまってます!
http://phpspot.net/php/php5_topics.html

上記のサイトでほとんど説明されてますが、頭の中を整理する意味もこめて。
少しかいつまんでみました。



オブジェクトのコピー方法


・PHP4

$obj $obj2;

- - - - - - - - - - - - - - - - -
・PHP5

$obj = clone $obj2;
$obj $obj2;は参照渡しになる



アクセスの制限


・PHP4

function hoge(){

}
としかできなくて、どの変数でも外部から自由に変更できる仕組み

- - - - - - - - - - - - - - - - -
・PHP5

private/public/protected が使用できるようになって、アクセス制限できる!

private function hoge(){

}
とか
public fuga '';



コンストラクタ名の統一


・PHP4

PHP4ではコンストラクタ名はクラス名と同じのfunctionを定義
class Parent {
    
//コンストラク  function Parent()  {  }
}

- - - - - - - - - - - - - - - - -
・PHP5

名前を統一(__construct())
class Parent {
    
//コンストラク  function __construct()  {  }
}

PHP4の方法のコンストラクタも使えるけど、__construct()が優先される


インターフェースの説明わかりやすすぎた
http://phpspot.net/php/pginterface%82%CC%83T%83%7C%81%5B%83g.html







memo


スカラー値:数字や文字列といった一つの値を持ったもの
 →整数・浮動小数点・文字列・論理値

・PHP4ってtry catchできなかったんだ。。 意外

・今まで、バージョン気にしたことがなくて、自分で何を使ってるのかも、知らなかった。
 色々知ることって大事だな!!

xamppで簡単にPHP4とPHP5をチェンジできるみたいです
 動かしながら、もっと理解できるようにします。





他の参考サイト:
http://www.php.net/manual/ja/migration5.incompatible.php
http://ja.verbmode.net/2009/02/06/changes_of_php5_from_php4
http://gihyo.jp/dev/feature/01/php-migration/0002?page=3
http://www.1x1.jp/blog/2007/06/php_php4_to_php5.html