Paprika Framework
Pickles 2 にサーバーサイドアプリケーションを埋め込むためのフレームワーク

動的なページ

他の静的なページと同じテーマでデザインされたヘッダーやナビゲーションなどのレイアウト構造を持ちながら、サーバーサイドで動的にレンダリングされたページを定義する方法です。

INDEX

エンドポイント

サイトマップにページを作成し、任意のコンテンツのパスを与えてください。

拡張子が .php となるように path 列を設定してください。

カレントディレクトリ

相対パスで設定する場合、PHPのカレントディレクトリ = エントリースクリプト .px_execute.php があるディレクトリを起点として解釈されます。

パブリッシュされる前のプレビュー環境と後のパブリッシュ環境とでは、カレントディレクトリは異なります。

src_px2/foo/bar.php がエンドポイントの場合の、プレビュー環境のカレントディレクトリは src_px2/ です。

パブリッシュ先ディレクトリが dist/ の場合、このコンテンツのパブリッシュ環境でのカレントディレクトリは dist/ になります。

実装例

エンドポイントの実行空間では、 $paprika が利用できます。また、Composerが生成する vendor/autoload.php が自動的に読み込まれています。

プレビュー環境では $px も利用できますが、パブリッシュ後の環境には $px が存在しなくなる点に注意してください。

動的なページの実装には、いくつかの要件があります。

コンテンツの先頭(何らかの最初の出力の前)に、 if(!$paprika){ return; } を挿入してください。

スクリプトが完了したときに、 return; するか、そのまま何もせずに終了してください。exit() を呼び出さないでください。

これを実装すると、最小構成は次のようになります。

<?php
if( !isset($paprika) ){
    return;
}
?>
<p>Hello World!</p>

Paprika を .html 拡張子のページにも適用するには

  1. exts オプションに html を追加します。
  2. $conf->funcs->processor->html の先頭にも picklesFramework2\paprikaFramework\main::processor を追加します。
  3. パブリッシュ先のディレクトリに、 .html 拡張子でも PHPが実行されるよう設定します。 .htaccess で 設定する場合、 AddHandler application/x-httpd-php .php .html のように書きます。
このページの先頭へ戻る