PHPによるページ動的生成作戦

Movable Typeでは、エントリーを追加したりしたときには、再構築を行ってHTMLファイルをあらかじめ(静的に)作っておくことが基本になっています。
ただ、この方式だと、エントリーが増えると再構築に時間がかかるようになります。レンタルサーバーの業者では、CGIの実行時間に制限が設けられていることがあり、再構築時に時間切れになって500エラーが表示されることもあります。

mt.cfgのパラメータを調節したり、BlogをPHP化してテンプレートを部品に分けたりすることで、ある程度はこの問題への対策をすることができます。
しかし、それは抜本的対策とはいえません。根本的な対策は、静的な再構築を行わずに、ページにアクセスがあったときに動的にページを作り出すことです。

Movable Type 3.1では、動的なページ生成を行う「ダイナミック・パブリッシング」という機能があります。
ただ、ダイナミック・パブリッシングでは、既存のプラグインのうち、テンプレートタグを拡張するものが使えなくなるという致命的な弱点があります。

PHPはさまざまな処理を行うことができますが、MySQLなどのデータベースにアクセスする機能もあります。
そこで、PHPを使ってMySQLに直接にアクセスし、ページを動的に生成するようなライブラリを計画しています。

まだ作り始めた段階ですが、ダイナミック・パブリッシングとは違って、既存のテンプレートから段階的に動的生成に移行できるような仕組みにすることを考えています。
また、静的再構築と組み合わせることで、既存のプラグインも何とか利用できる形にする計画です。

なお、以下のページにアクセスすると、テスト作成中のインデックスページを表示することができます。

http://www.h-fj.com/blog/phpindex.php