現在PHPとMySQLを使用し掲示板を作成しています。
MySQLに接続し、データを抜く際、getData.class.php となるものを作成し、クラス内で接続、SQLの実行等を行い値をreturnしています。
しかし機能を増やすにつれ、getData.class.phpに書かれるfunctionの量が増え、実感速度も遅くなってきました。実際に仕事などでPHPを扱っている技術者の方はどのようにしてデータベース関連のクラスを作っているのでしょうか?構造や効率的な作り方を教えてください。
http://www.cbook24.com/bm_detail.asp?sku=486167140X
こちらで解決出来ると思います。
PHPスクリプトを実行するZendエンジンの改良により実行速度も改善
本格的な大規模サイトを目指すPHP技術者が効率よく問題解決し、ステップアップできるように本書を執筆しました。
esecuaさんがクラスの中でどういう実装をしているのか分からないのですが、
実効速度を考えるのでしたら
当たり前かも知れませんがクラス化せずにsql文の直書きが早いと思います。
ただ、それをするとソースがぐちゃぐちゃになりますのであまりお勧めできません。
掲示板の機能だけでしたら同じテーブルからデータをとってくるSQLは1つにまとめて関数にし(クラス化せずに)、引数で
を渡せばコードはスッキリすると思います。
もっと大規模であれば
phpのライブラリであるPEARのPEAR::MDB2を使ったりします
http://pear.php.net/package/MDB2
PV数やデータ量にもよりますが、明らかに他の掲示板サイトより遅いのであれば、PHPのコードやSQL文に問題がある可能性が高いです。
なるほど。参考になります。
一応次の回答に参考になるために若干詳細を。
DB接続にはADOBDを使用しています。基本的にクラス内で接続し、各データの取得用にfunctionを作っている形になります。
TNIOPさんって、PHPって何かわかりますか?