- ベストアンサー
PHPでブログ作成にはデータベースが必要なのか?
- PHPでブログを作る際にデータベースが必要なのか疑問に感じています。
- 公開されてるソースを見るとデータベースの使用例が少なく、HTMLとCSSだけで作れるように見える。
- しかし、データベースを使うことでより高機能なブログを作ることができる可能性もあるため、利用する価値はあるのか気になっています。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
拡張子が「.html」などであっても、ブログ運営においてデータベースはほとんどのケースで使われています。URLは見かけ上の存在でしかない場合があります。以下に例を示します。 【例】 (URLエンコードは省略しています) 1. 以下のようなURLでユーザがアクセスしてくる http://blog.example.com/programming/PHPはじめました!.html 2. サーバー側でリクエストURLが書き換えられる http://example.com/blog.php?category=programming&title=PHPはじめました! WebサーバーソフトウェアにApacheを利用しているのであれば、.htaccessというファイルに設定を記述することでこのような機能を実現することが出来ます。URLがきれいになるメリットががあります。 では、データベースを使う場合と、XMLファイル等に保存する場合を比較してみます。 【データベース】 ・セキュリティ的に強固。 ・複雑な検索の実装が比較的容易で、実行速度も申し分ない程度に可能。 ・後から仕様変更などの融通が利く。 ・単純なことしかしない場合の性能は劣る。ただ、キャッシュをうまく使えばこの限りではない。 【XMLファイル】 ・ファイルを設置する階層、アクセス権限などに注意しないと脆弱性となり得る。 ・検索機能の実装が困難。 ・仕様変更に弱い。 ・単純なことしかしない場合の性能は抜群。 何でもかんでもリレーショナルデータベースに頼りすぎるのはよくない、とよく言われますが、個人で小規模なブログを運営するだけであれば戸惑いなくそれを採用すべきであると言えるでしょう。小規模であればパフォーマンス面の心配はほとんど不要です。 PHPからデータベースを利用するサンプルを探すと、古い情報がよく出てきます。こういうものはセキュリティ的に問題があったりするので使わないようにしましょう。 ・「mysql_query」などの関数 → 現在は非推奨。絶対に使ってはいけない。 ・「mysqli_query」などの関数 → 使ってもOK。但し、後述するオブジェクト指向で書くやり方に比べれば古典的な方法になり、コードが汚くなりやすいため、あまりおすすめは出来ない。ただ、オブジェクト指向が全く分かっていない初心者でもとりあえず動くものは作れるというメリットはある。 ・「mysqli」クラス → 推奨される。上記のオブジェクト指向型。設定次第で例外を扱えるようになる。 ・「PDO」クラス → 最も推奨される。mysqliクラスよりも構成がシンプル。これを覚えるだけでMySQL以外のSQLiteなどの他のデータベースの操作も習得したことになり、汎用性に優れる。設定次第で例外を扱えるようになる。 MySQL入門 http://www.ipa.go.jp/files/000018731.pdf PDO http://www.php.net/manual/ja/book.pdo.php PDOの利用 http://www.phpbook.jp/tutorial/pdo/ PHPオブジェクト指向入門 http://qiita.com/mpyw/items/41230bec5c02142ae691 PHPでデータベースに接続するときのまとめ http://qiita.com/mpyw/items/b00b72c5c95aac573b71
その他の回答 (4)
- dondon1500
- ベストアンサー率66% (2/3)
書いた記事を格納する場所が必要なんでデーターベースはブログでは必ず使っていると思います。 PHPとデーターベースの勉強を始めるのであれば是非データーベースを使ってブログを構築してくださいね。 データーベースを使った方がいいのは大量のデーターを格納しても安全性が高いのとデーターベースはSQLという言語が使えて検索機能を作る時に便利です。
お礼
ご回答ありがとうございます。 やはり共通する意見として、検索の話がありますね。 実際、検索を考えたときに、サーバーにファイルを置くだけだとどうすれば良いのか分かりませんでしたが、MySQLが少し分かってくると、だいたいこんな感じでやれば良いのかな?ぐらいは想像できるようになりました。 併せて勉強してみたいと思います。
- notnot
- ベストアンサー率47% (4901/10362)
DBMSの利用は必須ではありません。普通のファイルへのデータ保存でもブログシステム程度なら作ることは出十分出来ます。 ただ、今回の目的がプログラミングの学習のためと言うことなので、どうせならDBMSの勉強もした方が良いと思いますので、DBMSを使った方が良いでしょう。 DBMSの勉強はしたくないと言うことなら、一般ファイルで作っても良いです。
お礼
ご回答ありがとうございます。 正直、データベースは想像すらしてなかったんで面倒くさいというのが本音なんですが、別に仕事にしてるわけでもなく、時間はある方なので試しに勉強してみたいと思います。
- agunuz
- ベストアンサー率65% (288/438)
>ブログってデータベース使ってましたっけ?(^_^; WordpressとかMovableTypeとかを「使ったこと」はありませんか? ほとんどのブログシステムはデータベースの利用が前提です。いろいろな機能(カテゴリ指定での一覧とかキーワード検索とか)を実現したり処理速度を(データが増えても)落とさないようにするために必須と言ってもいいです。 細かい設定はインストーラがやってくれたりもしますので、「ブログを利用する」だけならデータベースの知識は要りませんが「システムを作る側」はそうはいきませんね。
お礼
ご回答ありがとうございます。 実はその二つ、聞いたことはあっても使ったことはないんですよ。なんだか難しそうだったんで(^_^; ブログにおいてのPHPの立場って、各ページのHTMLファイルを作るだけかと思ってました。 PHPが分かるようになってくると、なんだかそれも違うことに気づくことができるようになりました。 データベースを使った方が楽そうですね(^_^;
- t_ohta
- ベストアンサー率38% (5292/13827)
投稿された記事やコメントを何らかの形で管理しなければいけません。 方法としては、記事やコメントをDBに登録して管理する方法と、テキストファイルで保存して管理する方法が考えられます。 件数が少ないうちはファイルでもいいでしょうが、件数が多くなるとファイルでは管理しきれなくなる可能性ができてます。 また、記事を検索する場合はDBを使っているほうが簡単に検索ができます。
お礼
ご回答ありがとうございます。 PHPを使ってhtmlファイルを作成すれば良いだけかと思っていましたが、確かに検索など考えるとDBを使った方が良いかもしれませんね。 まだ覚えたてで「かもしれない」ぐらいでしか分かりませんが(^_^;
お礼
ご回答ありがとうございます。 あんまりいろんなシステムを絡めると、表示速度が遅くなるかも知れないと懸念してましたが、はっきり言って個人ブログ程度なら、そんなに影響なさそうです。 何より検索面やセキュリティ的に強固になるのは魅力的。 ファイルを生成して置くだけのシステムで、その辺をどうするか想像すらできてませんでしたから(^_^; 手抜きをしたいならレンタルで借りれば良いわけだし、どうせ勉強するなら皿まで喰らうつもりでやってみたいと思います。