- 締切済み
ポータルサイト構築
今後phpでポータルサイトを作っていきたいと思っています。 漠然とした質問で大変申し訳ないのですが、 例えばYahooのようなサイトで言うと、あれだけのページをどういう風に管理しているのかよくわかりません。 HTMLで一つ一つページを作ってというのはとても考えずらいですし、テンプレートみたいなものをYahoo側で管理しているのでしょうか? DBにURLをインサートしたそれを読み込んでいるとか… あまりまだ経験がないのでよくわかりませんが、どうかご教授宜しくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- taketan_mydns_jp
- ベストアンサー率58% (450/773)
# 3です。補足を。 >静的ページであるべきページ、動的ページであるべきページの区別の仕方があれば教えてほしいのですが何か基準みたいなものはありますでしょうか? 基準は自分で決めれば良いと思いますが、プログラムで生成した場合でも、ブログのpermalinkのように、後々URLが変わらないようにしたい場合は ~.htmlとしておけば良いと思います。リンクがしょっちゅう変わっては相手にリンクさせることが出来ませんからね。~.php?para=xxxx....のような場合もプログラムやデータに変化が無ければ、同じパラメータを渡せば必ず同じページが表示されるはずですが、~.htmlとなっていれば静的なページなので簡単には変わらない、と判断しやすいわけです。 > あと動的にHTMLのページを作る方法(又は参考URL)を教えて頂けないでしょうか? ファイルで書き出せば良いです。データが変わった時(POST時)に、phpで出力するところをhtmlとしてファイル書き出しすれば良いです。最近のブログはこの方法で作られる事が多いですね。デザインを変えた場合等は全てのページを書き出す必要があります(ですから、出来るだけ共通css等で対応したいものです)。 例としては、 $str = "<html><head>.....</body></html>"; $fp = fopen("NEWPAGE.html","w"); fwrite($fp,$str); fclose($fp); こんなスクリプトになるかと。 では。
- taketan_mydns_jp
- ベストアンサー率58% (450/773)
あくまで想像ですが。。。 データの保存にはDBを使うと思います。その方があらゆる面から管理がしやすいですからね。 XOOPS等のように常に動的にページを生成していたら、あっという間にサーバが音を上げてしまうと思いますので、HTMLの生成は、その都度動的に生成する部分と、ある程度静的に作り込む部分で分けておくのでは無いかと思います。 全て動的に生成する場合はサーバ負荷がかかりますので、個人ツールの部分以外は更新時だけ部分的にまとめてHTMLを生成しておいて(プログラムから自動生成)、動的に個人ツールの部分だけはめ込む、というのが負荷が少ないのではないかと思います。 HTMLで一つ一つサイトを作る、なんて方法は想像もつきません(ひょっとしたらYahooあたりじゃ可能な気もしますが)。ページ生成ツールを(コンテンツマネージャー)を作っておいて、担当者が記事を投稿すれば自動的に反映されるようになっていると思います。 .htmlでPHPを動かす事も出来ると思いますが、mod_rewriteあたりを使えばスマートですね。 hogehoge.com/index.php?category=top&date=12345 => hogehoge.com/top/12345.html 参考まで。
お礼
ありがとうございます。 mod_rewriteという技術は初めて聞きました。 検索ロボなどにひっかけさせるのに有効な技術みたいですね。 静的なページ、動的なページというものはどういう切り分けで行うのでしょうか? 静的ページであるべきページ、動的ページであるべきページの区別の仕方があれば教えてほしいのですが何か基準みたいなものはありますでしょうか? あと動的にHTMLのページを作る方法(又は参考URL)を教えて頂けないでしょうか? 宜しくお願い致します。
- inu2
- ベストアンサー率33% (1229/3720)
サーバー(Apache)の設定次第では ***.phpではなく、***.html という拡張子でもphpを動かすことができます さらに、phpで静的HTMLを生成することだって出来ます さらにさらに、***.htmlというファイルが存在しなくとも、同名の***.phpファイルを読み込みに行かせることもできます yahooが具体的にどんな管理をしているのかは分かりませんが、フレームワークを使って構築していたり、上記に書いたような構造をしていれば、表向きはphpを使っていないように見せることも可能です
お礼
お返事ありがとうございます。 >サーバー(Apache)の設定次第では ***.phpではなく、***.html という拡張子でもphpを動かすことができます さらに、phpで静的HTMLを生成することだって出来ます さらにさらに、***.htmlというファイルが存在しなくとも、同名の***.phpファイルを読み込みに行かせることもできます とのことですが…よく内容がわかりません(すいません、初心者なもので…) phpを使って動的にHTMLを作成するってことでしょうか?どうしたらphpで動的にHTMLを作れるでしょうか…
- okg00
- ベストアンサー率39% (1322/3338)
http://jp.xoops.org/ xoopsでもインストールすればよいのではないでしょうか。 DBにURLを保存しておいて、PHPで読み込んでHTMLを生成しているだけでしょ。で、その入力インタフェースとチェックをしているだけ。
お礼
返事ありがとうございます。 >DBにURLを保存しておいて、PHPで読み込んでHTMLを生成しているだけでしょ というのはどういうことでしょうか? phpでDBにアクセスし、URLをSELECT文で引っ張ってくるということでしょうか?(そのURLを引っ張ってきたらどうなるんでしょうか…)それとURL以外にはどういうフィールドを入れるのでしょうか…初心者でよくわからなくてすいません。理屈を知りたいと思ったので… どうか宜しくお願いします。
お礼
色々丁寧に説明頂きましてありがとうございます。 とても参考になりました。 今後とも宜しくお願いします!