• ベストアンサー

規模の大きなサイトを作るエレガントな方法

こんにちは。 最近PHPに凝っています。 確かに便利だし、動作も軽いのですが、少し規模の大きめのサイトを作ろうと思うと、プログラムが汚くなるのが気になります。 クラスを使っていろいろな操作をカプセル化しても、JAVAやC++ほどにエレガントなものにはなりません。 ウェブをつくるうえでのオブジェクト指向的概念をPHPで実現する方法論はないのでしょうか。 JAVAのサーブレットを使うときほど強烈にオブジェクト指向でなくてもいいです。 みなさんはPHPで大きめのサイトを作るときにどのような方針でつくってらっしゃるのでしょうか。

  • PHP
  • 回答数2
  • ありがとう数14

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

  • ベストアンサー
回答No.1

だいぶ古い質問ですが、締切られていないようなので… 詳しくはないのですが、Ruby というオブジェクト指向スクリプト 言語があります。Perl に似た面もありますが、かなり完全なオブ ジェクト指向プログラミングをサポートしているそうです。Ruby そのものは、PHP のように html 埋め込み型ではないのですが、 eRuby というのは、PHP と同じ感覚で使えるようです。apache の モジュールにもなってます。

参考URL:
http://www.ruby-lang.org/ja/
hiro_ayu
質問者

お礼

Rubyのアパッチ用モジュールがあるとは知りませんでした。 Rubyを使ったことはないのですが、いろいろ調べてみようと思います。

その他の回答 (1)

  • alfeim
  • ベストアンサー率58% (114/195)
回答No.2

PHP3であればPHPLIBと言うライブラリが存在します 機能としてはセッション管理、認証、パーミッション テンプレート、データベースインタフェースなどがあり これを使えばある程度は楽になるでしょう

参考URL:
http://www.php.gr.jp/php/phplib/
hiro_ayu
質問者

お礼

回答ありがとうございます。 主にPHP4を使うのでPHPLIBを使ったことはないのですが、最近テンプレート機能みたいなものを実現する自作のツールなどを作って使っています。 なんか泥臭いプログラムになりがちですが、これからもきれいにかけるように心がけていきます。

関連するQ&A

  • Webサイトで何故PHPが圧倒的になってきているんでしょうか?何故JAVAが主流にならないのでしょうか?

    Webサイトのプログラミングにおいて、昔はCGIが圧倒的でしたが、ここ数年はPHPが圧倒的に増えてきています。 何故PHPがこんなにも採用されるのでしょうか? また、なぜJAVAでなくPHPなんでしょうか? JAVAはオブジェクト指向言語で、大規模に向いていると聞きますが、逆に、多くの中小・零細企業のサイズとなる、小規模・中規模でJAVAを使ったら良いのでは?と思ってしまいます。大は小を兼ねるではいけないのでしょうか。 宜しくお願いいたします。

  • オブジェクト指向、理解しやすい?

     最近、Javaの解説書や解説サイトを見ていて、しばしば、「Javaは完全なオブジェクト指向だから理解しやすい」といった記述を見かけます。(「プログラムが見やすくなる」とかではなく)  Javaに限った話ではないのですが、個人的に、オブジェクト指向の概念は、プログラミング初心者の最大の関門ではないかと勝手に思っています。僕はPHPから入ったのですが、ある程度基本事項をマスターした後も、オブジェクト指向だけは長い間苦手としてきました。(最近やっと慣れてきたところです。)  そこで伺いたいのですが、最初にやったプログラミング言語がオブジェクト指向だったという方、オブジェクト指向の概念は、 1.わかりやすかった 2.そこでつまずいた 3.特に意識せずに通り過ぎた 4.その他 いずれでしょうか? ※最初にJavaについて書きましたが、これはただの例なので、オブジェクト指向言語全般についての質問であるととらえてください。

  • javaのオブジェクト指向について

    JAVAはオブジェクト指向だと聞きます。でも、オブジェクト指向の概念がよくわかりません。誰か、わかり易く教えていただけないでしょうか?お願いします。

    • ベストアンサー
    • Java
  • WEBサイトで大規模システム

    WEBサイトで大規模システムはJAVAで中規模システムはPHPが支流と聞くが 大規模システムにJAVAを用いるのは開発人数が多いのに向いているからなのか 大量のサイトアクセスに向いているからなのかどちらなのでしょうか。

    • ベストアンサー
    • PHP
  • オブジェクト指向の本当の便利な点。

    オブジェクト指向の特徴は、ある程度分かりました。 が、個人で小さなソフトを作り、できるだけ自分でプログラムを作りたいため、オブジェクト指向の利点が今ひとつ分かりません。 PHPでは、構造化でできるだけグローバル変数を減らし、関数内でも関数名+変数名という変数名にしていたので、変数の名前が重複すると言ったこともなかったし。 関数名+でない場合も、関数内では不必要な変数は値を解放していたし。 過去の資産も関数を再利用する事もよくありましたし、継承のような事もしていました。 オブジェクト指向の便利さは分かるのですが、どうも実感できないというか、その便利さを持て余しているというか。 構造化プログラミングでも、さほど問題ないし。 delphiなので、JAVAのようにオブジェクト指向(クラス)が必須という訳でもないし。 逆にクラスを作ってしまうと、メモリーから解放しないといけないので、それが少し怖いです。 で、オブジェクト指向の利点をあげるとしたら何ですか? 可能なら、上位から3つくらいを詳しく書いてください。 ソフトは大規模か小規模か、制作者は大勢か少数・個人か、それは構造化プログラミングでは無理な事なのか? オブジェクト指向の利点や特徴は、分かるのですがピンとこないというか、実感できないというか・・・。

  • PHPフレームワーク理解に役立つ、オブジェクト指向入門書

    PHPでWEBアプリを作りたいために、html,css,Mysql,PHPなどの基本的な事柄を勉強し、cakePHPというPHPフレームワークを最近使い始めました。オブジェクト指向やクラスについてはPHP入門書に書いてあるのを読んだだけで、なんとなくしか分かっていません。 PHPのオブジェクト指向やフレームワークとのつながりを理解できるような、初心者向けのお勧めの本はないでしょうか? オブジェクト指向について学ぶよい本は探しやすいのですが、PHPフレームワークを理解するために適した本はどれなんだろうと悩んでおります。基本的な概念はすべて同じだから、PHPとかまったく関係なくオブジェクト指向関係の本を読めばいいのでしょうか? 候補の本 ・オブジェクト指向でなぜつくるのか ・Head Firstオブジェクト指向分析設計 ・いちばんやさしい オブジェクト指向の本

    • 締切済み
    • PHP
  • オブジェクト指向とUMLについて

    「オブジェクト指向」と「UML」の勉強をしようと思っているのですが、お勧めの参考書またはWebサイトをお教えていただきたいです。 ※オブジェクト指向については、JavaやC++のような言語についてではなく、オブジェクト指向についてです。 ちなみに私はJavaは経験したことがありますが、正直"オブジェクト指向がなんたるか"はわかっていないです… 現在業務でJavaに携わっていてるので、オブジェクト指向という考え方をこの機にしっかりと学べればと思っています。 UMLはまったく無知です; クラス図やシーケンス図など中身にナニがあるか微妙に知っているだけです…; どちらか片方でも良いので何かございましたら、お教え願います。 …参考書だと電車で読めるので、ちょっとだけ喜びます(笑

  • 小規模のオープンソースについて

    表題の件に関して質問させていただきます。 最近やっとC++の初心者を抜け出し、次のステップに進みたいと思っています。 気づいたのですが、継承、関数のオーバーライド等の恩恵を得るにはある程度の規模を持ったプログラムでないといけないということです。 教科書を読んで小さなプログラムを書いているだけではオブジェクト指向的な書き方は身に付かないと感じました。 そこでオープンソフトを公開している sourceforge.net(http://sourceforge.net/) で色々探してみたのですが、あまりにも大規模でかつ私の能力では付いていくことができませんでした。 小規模、もしくは中規模のプログラムソースが置いてあるサイトをご存知でしょうか? もしくは一連の作業を通してオブジェクト指向的なプログラムの書き方が学べるサイト等はないでしょうか? また大規模のプログラムを開発しておられる方は教科書と実際の作業の溝をどのように埋められたのでしょうか? 漠然とした質問で申し訳ありませんがよろしくお願いします。

  • オブジェクト指向について

    オブジェクト指向における  オブジェクト、インターフェース、実装、クラス という概念を教えてください>< 実例があると助かります。。

  • クラスの生成と継承という概念が分かりません。

    VBでオブジェクト指向というのは何となく分かるのですが、 クラスの生成と継承という概念が分かりません。 クラスというのは何のことなのでしょうか? どなたか優しく教えて下さい。 お願い致します。