Apache :: ASP
< % Web Applications with Apache & mod_perl % >
はじめに
インストール
設定
構文
イベント
オブジェクト
% SSI
セッション
XML/XSLT
CGI
PERLスクリプト
FAQ
チューニング
謝辞
サポート
使用サイト
リソース
計画
履歴
ライセンス

実例

ASP 工作室
日本語訳について

Powered by Apache::ASP
Powered by ModPerl and Apache
Powered by Perl
Links Checked by NodeWorks
SourceForge.jp
SSI


SSI は、偉大(な産物)です! 
SSI の主要な実装は、リクレストされたスクリプトに
別のファイルを挿入することです。
Apache::ASP では、 2 つの方法で実現されています。
一番重要なのは、次の形式です。
 <!--#include file=filename.inc-->
.inc 拡張子は、単なる慣習で、インクルードされたファイルの、 テキストは、実行されるスクリプトに直接挿入され、 スクリプトは全体としてコンパイルされます。スクリプト、ないし、 インクルードファイルが変更されると、再コンパイルされます。
インクルードは、ちょうど良い長さで、コードを分解したり、 ASP スクリプトのコード共有を促すようにしますが、 ほとんど静的(スタティック)なのに留まっています。 Version .09 で、global.asa 名前空間にコンパイルされる時、 サブルーチンとして、動的(ダイナミック)にインクルードになりました。 動的なインクルードの最初の方法は、
 <!--#include file=filename.inc args=@args-->
です。

@args が明記されると、Apache::ASP スクリプトでのコンパイルされた コードへの直接の挿入ではなく、ランタイムにインクルードするようになります。 (すなわち)サブルーチンとして、ランタイムにスクリプトをコンパイルするように作用し、 後の呼び出しに(備えて)、キャッシュされます。 このようにして、コンパイルされたサブルーチンは、引数として、 @args を持つようになります。
@args は、ASP スクリプトには、直接コードとして記述されるので、 多分に静的に留まっていますが、最終的には、この API 拡張を利用し、 ランタイム時には、インクルードとして稼働します。
   $Response->Include("filename.inc", @args);
上記は、動的なインクルードの直接の変換例です。
インラインインクルードでは、若干速くはなりますが、 ランタイムでの動的インクルードは、スクリプト間で 互いのスクリプトを最小サイズに押えるなど、 httpd でのメモリ節約に大きな役割があります。 WWW ページのヘッダで、(インクルードにより)多くの 出力書式化が行われると、著明に改善します。
デフォールトでは、引数パラメタでコールされなければ、 全て、インクルードは、インライン(処理)されます。 しかし、インクルードが、サブルーチンとして、動的にランタイム時に 実行させたいなら、DynamicIncludes 設定オプションを、 上記のように変更してください。
これで、全てではありません。SSI は、フル実装されています。 上記の未記述の項目の一つは、
 <!--#include virtual=filename.cgi-->
タグです。これ以外にも、Apache::Filter と、フィルタ設定オプションを通じて、 Apache::ASP 出力をフィルタリングすることにより、 たくさんの、SSI コード拡張を得ることができます。 Apache::ASP と、Apache::SSI 双方を繋ぐやりかたの詳細情報は、 上記の、フィルタ設定オプションを見てください。また、提供機能の 詳細情報は、Apache::SSI を参照してください。
 
Copyright © 1998-2002, Joshua Chamas, Chamas Enterprises Inc.