というのも、使用しているレンタルサーバが近く4.3から5にバージョンアップするのですが、4.3のままにするか5にするか選択出来るので悩んでいます。
5は標準DBがSQLiteになるとか、大まかなことはわかるので、実際5を使ってみてわかる4.3との違い、メリットデメリットなど教えて下さい。
http://www.atmarkit.co.jp/flinux/special/php5/php5a.html
ベータリリース目前!? PHP5の新機能 − @IT
もしあなた自身がPHPを使って開発を行うのであれば、PHP5にする意味は非常にあると思います。いままではオブジェクト指向関連の機能が弱いとされてきましたが、PHP5ではその部分が非常に強化されています。実際に自分がPHP5で開発を経験してしまうと、PHP4にはもう戻りたくないと思いました。そのほかにも simple_xml などの使える機能なども多く追加されています。
しかし、ただ配布されているスクリプトを設置するだけというのであれば、メリットよりデメリットのほうが大きいかと思います。PHP5でそのまま動く保証がないからです。(PukiWikiなどはPHP5では動かなかったために、PHP5対応版を改めて出すというようなことを行っています)
http://www.stackasterisk.jp/tech/php/php5th01_01.jsp
PHP5 のオブジェクト指向(PHP5の新機能)
PHP4 と 5 では互換性が保証されておらず、実際色々と問題があるので現行のスクリプトは 4.3 系で動かすか、5 系に乗り換えざるを得ない場合は PHP4 互換モードで十分にテストを重ねるべきです。
4.3 系もメンテは続くので何が何でも PHP5 に移植しなければならないという事はありません。
> 4.3で動くものが5で動かなくなるのは、何故
内部処理系の ZendEngine が変わった、オブジェクトのコピー/参照ルールが変わった その他。またその変遷に伴い幾つかのライブラリやエクステンションが変わり、それを利用したスクリプトは当然問題が出るワケでして。
海外だと雑誌で動作検証やってますね。ilohaMail (重大な欠陥があるので利用自体はお勧めしませんが) のようにベタに書いた物は動作しやすいようです。
> オブジェクト指向の考え方が苦手で、PHPでも関連する関数は使った事がない
という事なので wintersnow さんの書いたスクリプトがそのまま PHP5 で動作する確率は高いと思います。
で、お仕事でやってらっしゃるなら勉強や研究の中心は PHP5 にさくっと切り替えるべきです。
PHP4/5 の差分は英語が読めるなら
http://php5powerprogramming.com/
Book Resource Site - php5powerprogramming.com
辺りをお勧めします。
プログラマなら兎に角手を動かしてどんどん体験していきましょう。喰わなきゃ味は分からない訳で。
オブジェクト指向も分からないならスキップすりゃいいんです。オープンソースのコードから上級者のコードをパクって呪文と思って使えばいいんです。
Java と違って PHP は寛大なのでルーズさを受け入れてくれます。
で、バランスよく色々な知識を積み上げていけばそのうち分かるようになります。多分。
ちなみに
> 5は標準DBがSQLiteになる
はダウト。
回答ありがとうございます。
なるほど、オブジェクト指向関連の機能を使っていなければ、4.3で動く物が5でも動く可能性は高いのですね。
>お仕事でやってらっしゃるなら
いえ、趣味です。
でもなるべく最新バージョンを使いたい!と思うので、これからPHP5もどんどん勉強していきたいと思っています。
>> 5は標準DBがSQLiteになる
>はダウト。
え? そうなんですか?
http://www.php.net/manual/ja/migration5.incompatible.php
PHP: 下位互換性のない変更点 - Manual
正直なところ、オブジェクトに興味がなく、レンタルサーバを使用する
(自分でコンパイルしない)ならば、全くと言っていいほど気にしなくていいと思います。
機能が増えているので変えたほうがいいとは思いますが。
理由を書きます。
1.PHP5のウリの一つがオブジェクト指向
PukiwikiがPHP5で動かなかったのもクラス関連のようです
2.二つ目のウリがデータベース
デフォルトでMySQLをサポートしていませんが、レンタルサーバなら関係ないです。
3.Zend2による効率化
これもサーバのリソースを考える必要がないでしょう。
といったところです。
開発時に気にするところは、一つ目の参考URLを
チェックしておけば問題ないと思います。
ちなみに、我が家のサーバでは、Pukiwiki(PHP5対応)、phpMyAdmin、Squirrelmailは、快適に動作してますよ。
それよりか、4.1.xくらいで、デフォルトのregister_globalsがoff になってあせった記憶が。。。。
蛇足ですが二つ目のURLも役に立つので読んでもらえばいいと思います。
http://pcweb.mycom.co.jp/special/2004/php5/
【特集】生まれ変わるPHP - Zend Engine 2、SQLiteの実力は? (1) 久々のメジャーバージョンアップ | エンタープライズ | マイコミジャーナル
とても分かりやすい回答ありがとうございます!
2つ目のURLもとても参考になりました。
内容もさることながらページデザインも綺麗で、そちらも参考になりました。
--
PHP5でもいけそうな気がしてきました。
皆さんありがとうございました!
回答ありがとうございます。
まず、私自身が開発を行います。すみません、それも質問に明記するべきでした。
で、PHP+MySQLを使っています。
オブジェクト指向関連の機能が強化された、というのはよくきくのですが、私はどうもオブジェクト指向の考え方が苦手で、PHPでも関連する関数は使った事がないのです。
覚えれば便利だということはわかっているのですが、Javaスクリプトすら難しくて放置してあるくらいで…。
なので、とりあえず今のところはオブジェクト指向関連以外のところで、例えば今まで使えた関数が使えなくなるとか、そういった辺りが知りたいのです。
5で動く物が4で動かないというのならわかるのですが、4.3で動くものが5で動かなくなるのは、何故なのか?と不安になったのです。4で使えた関数が使えなくなるから?記述の方法が変わるから?とか。