PHP4
第 9 版(2010-05-27 13:40:27 · akkun_choi)を表示しています。 最新版に戻る
PHP 5 -> 4 注意点
- キーワードがない
abstract, clone, final, interface, implementes, private, protected, public, static, try, catch, throw, const, instanceof, __construct, __destruct
- オブジェクトはすべてclone
なのでリファレンスを使う
function &getObject(){
}
function processObject(&$obj){
}
$localObject =& $argument;
- メソッドチェーンできない
// PHP5 $this->hoge()->moge()
// PHP4 $e = $this->hoge(); $e->moge();
- 多くの関数が使えない
file_put_contents, simplexml,
- オートローダーがない
- get_classは小文字で返す。(クラス名はcase insensitive)
- クラス変数がない。(メソッドには静的にアクセス可能)
- magic_quotes_gpc がデフォルトでOn。しかも実行時にOffにできない
- selfがない
- SimpleXMLがない
PHP 4 -> 5注意点
- クラスは使用前に宣言する必要がある
- リファレンス
MacPortsで PHP4-5 切り替えスクリプト
/bin/php-switch で保存
#!/usr/bin/env bash /opt/local/apache2/bin/apachectl stop case "$1" in 'php4') /opt/local/bin/port deactivate php52 /opt/local/bin/port activate php4 cp /opt/local/apache2/conf/extras-conf/load_php4.conf /opt/local/apache2/conf/extras-conf/load_php.conf ;; 'php52') /opt/local/bin/port deactivate php4 /opt/local/bin/port activate php52 cp /opt/local/apache2/conf/extras-conf/load_php5.conf /opt/local/apache2/conf/extras-conf/load_php.conf ;; esac /opt/local/apache2/bin/apachectl start
httpd.conf の LoadModule は Include に置き換え
#LoadModule php5_module modules/libphp5.so #LoadModule php4_module modules/libphp4.so Include conf/extras-conf/load_php.conf
/opt/local/apache2/conf/extras-conf/load_php4.conf
LoadModule php4_module modules/libphp4.so
/opt/local/apache2/conf/extras-conf/load_php5.conf
LoadModule php5_module modules/libphp5.so
コマンドで切り替え
sudo php-switch php4 # PHP4に sudo php-switch php52 # PHP52に
5.3は52と競合してるらしくてうまくいかんかった…。
参考
PHP4なスクリプトをPHP5へ移行する際に発生する7つの問題
http://www.1x1.jp/blog/2007/06/php_php4_to_php5.html
5 -> 4 コンバーター
http://php7.org/tools/5to4/
下位互換性のない変更点
http://www.php.net/manual/ja/migration5.incompatible.php
履歴
- 第 9 版akkun_choi2010-05-27 13:40:27
- 第 8 版akkun_choi2010-05-24 11:39:11
- 第 7 版akkun_choi2010-05-08 21:09:18
- 第 6 版akkun_choi2010-05-08 21:08:41
- 第 5 版akkun_choi2010-05-08 19:25:49
- 第 4 版akkun_choi2010-05-08 19:24:16
- 第 3 版akkun_choi2010-05-06 14:42:11
- 第 2 版akkun_choi2010-05-06 14:41:40
- 第 1 版akkun_choi2010-05-01 10:59:34
タグ
他の人の「PHP4」
- nitaの「PHP4」nitaのブックカプセル化できない 例外処理もない 高級プログラミング言語のはずなのに、C言語レヴェルの抽象能力しかない 未だにこれでアプリケーションが書き続けられているのは現…2007-10-31
- 2007-09-21