• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPでは、あんま大きなプログラムは作れないの?)

PHPで大規模なプログラムを作るには?

このQ&Aのポイント
  • PHPでは、大規模なプログラムを作成するのは難しいです。
  • 変数の宣言が必要ないため、おかしな変数も事前にチェックできません。
  • デバッグが難しくなるため、大規模なプログラムの場合は他の言語に移行することを検討しましょう。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

思いっきり使い込んでいくと、限界を感じることは少なからずありますが 心配しないでも統合的な開発環境であれば十分なデバッグができます もちろんテキストエディタだけで書く環境でも文法さえ意識すれば 宣言の有無によってデバッグが左右されるのはまれだと思いますけどね たしかにJAVAはPHPより長じたところも多いし、コンセプトから言っても 大きなプロジェクトに適用できますが、きちんとカプセル化していれば 他のオブジェクト指向言語でも近しいことは可能です 費用対効果を考えればPHPがカバーする範囲はかなり広いものだと思いますが あくまでも私見ということで

その他の回答 (3)

  • mizutaki
  • ベストアンサー率33% (111/333)
回答No.4

一応PHPは簡易的に比較的初心者でもシステムが構築できるようにという配慮が強い言語なので、 大規模なシステムを構築する前提の言語ではありませんが、 Cake、Zendの影響もあり、PHP5のサポートもあって、 大規模なシステムを構築する為の技法やノウハウ、仕様がそろってきていますから そんな難しい話ではない。 Javaの用に、様々な処理のメソッド化・クラス化を進めれば、 変数の衝突という現象は大きく減らすことが出来ますし、 大量の変数名が使用されるのであれば、それに対応するためにフィルタをかけるような処理を通してもいい。 どの程度の大規模を想定しているのかは分かりませんが、 それなりの技術を持っている人であればJavaでもPHPでもPerlでもPythonでも、大規模なシステムは構築出来ます。 変数宣言やコンパイルチェックなんかよりも 何十何百にもなるクラスの品質維持や 何百何千の変数やメソッドの命名規則 のようなどこのプログラミング開発でも必要になる 小手先の技術の方が重要度が高いです。 どんな言語であろうと、 規模が大きくなってしまったら、 処理ロジックの追いかけやすさや コードの読みやすさの重要性が高くなります。

  • mpx
  • ベストアンサー率71% (149/209)
回答No.3

>> おかしな変数があっても、コンパイラーが >> 事前にチェックできないってことだし。 ずばりの機能では有りませんが、 php.ini でerror_reporting にE_STRICTも設定しておけば 怪しげな変数をある程度教えてくれます。 機能的には不足かもしれませんが、ご参考に

  • mitoneko
  • ベストアンサー率58% (469/798)
回答No.2

 「つくれないの?」と聞かれたら、作れます。という返事になりますね。  宣言が出来なくても、自分でちゃんと規則を作り、その通りに守れば、実はたいした不便は感じないものです。しかも、最近は、統合開発環境のできがすごく良くなってますから、さらに不便は感じません。  「つくりにくいの?」と聞かれたら、やりにくい面もあるでしょう。となりますか。  そりゃ、宣言しておくだけで、コンパイラが勝手にチェックしてくれるわけですから、そぉいう意味ではやりやすい。  大規模なプログラムを組む時に、ストレスを感じるか否かは、プログラマの技術に依存するとしか答えようがないです。  いくらコンパイラが一生懸命チェックをしてくれる仕様になっていても、それをプログラムを読みやすく書きやすくするために活用できなくては意味がないんです。変数宣言しかり、例外処理しかり、関数や副手続きの書き方しかり、クラスの書き方しかり・・・  いま書いた事例をちゃんとソースを読みやすく書きやすくチェックしやすくするために活用する方法は、実はとっても難しいですよ。大規模プロジェクトを開発・デバッグするための手続き論は、それだけで専門家が研究するテーマになってますし、論文や参考書もたくさんありますしね。  そして、逆説的なんですけど、これらの機構をちゃんと使いこなせる人にとっては、実は、これらの機構が無くても代換えの手続き・規則を自分で作ることは大して難しいことではなかったりします。  こうなると、どちらかというと、言語系の得意不得意の方に目が行くことになるかな。言語によって、このあたりは結構特徴があったりしますので。特に、周辺ライブラリーのそろい方まで見ると、その傾向はますます大きくなります。