PHP4.3とPHP5の違いが知りたいので、実際に両方使ったことのある方のご意見が聞きたいです。

というのも、使用しているレンタルサーバが近く4.3から5にバージョンアップするのですが、4.3のままにするか5にするか選択出来るので悩んでいます。
5は標準DBがSQLiteになるとか、大まかなことはわかるので、実際5を使ってみてわかる4.3との違い、メリットデメリットなど教えて下さい。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:k_ahiru No.1

回答回数23ベストアンサー獲得回数0

ポイント20pt

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の新機能)

id:wintarsnow

回答ありがとうございます。

まず、私自身が開発を行います。すみません、それも質問に明記するべきでした。

で、PHP+MySQLを使っています。

オブジェクト指向関連の機能が強化された、というのはよくきくのですが、私はどうもオブジェクト指向の考え方が苦手で、PHPでも関連する関数は使った事がないのです。

覚えれば便利だということはわかっているのですが、Javaスクリプトすら難しくて放置してあるくらいで…。

なので、とりあえず今のところはオブジェクト指向関連以外のところで、例えば今まで使えた関数が使えなくなるとか、そういった辺りが知りたいのです。

5で動く物が4で動かないというのならわかるのですが、4.3で動くものが5で動かなくなるのは、何故なのか?と不安になったのです。4で使えた関数が使えなくなるから?記述の方法が変わるから?とか。

2005/01/11 16:27:14
id:hebe No.2

回答回数43ベストアンサー獲得回数0

ポイント20pt

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になる

はダウト。

id:wintarsnow

回答ありがとうございます。

なるほど、オブジェクト指向関連の機能を使っていなければ、4.3で動く物が5でも動く可能性は高いのですね。

>お仕事でやってらっしゃるなら

いえ、趣味です。

でもなるべく最新バージョンを使いたい!と思うので、これからPHP5もどんどん勉強していきたいと思っています。

>> 5は標準DBがSQLiteになる

>はダウト。

え? そうなんですか?

2005/01/11 20:19:06
id:tomocky1 No.3

回答回数16ベストアンサー獲得回数0

ポイント30pt

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) 久々のメジャーバージョンアップ | エンタープライズ | マイコミジャーナル

id:wintarsnow

とても分かりやすい回答ありがとうございます!

2つ目のURLもとても参考になりました。

内容もさることながらページデザインも綺麗で、そちらも参考になりました。

--

PHP5でもいけそうな気がしてきました。

皆さんありがとうございました!

2005/01/11 20:42:27
  • id:hebe
    ダウト

    私の記憶が確かなら〜

    確認しないで書きますが、MySQL ライブラリのバンドルはライセンスの関係から PHP4.x 系の頃に一旦は外れましたが過渡的な物で、その後 MySQL 側の歩み寄りがあり再びバンドルされるようになったハズです。
    売りが DB という表記がありますが、SQLite の事なら PHP4 でも使えます。
    PDO の事なら今の所まだ未成熟&使いづらいという話。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません