フリーPHPスクリプト配布サイト。
組み込みプラグインは、各プログラムの plugins
フォルダに格納したPHPプログラムを実行する仕組みです。具体的にどのようなプラグインを作成できるかは、以下のページをご覧ください。
以下で、組み込みプラグインの作成方法を紹介します。
プラグインファイルがプログラムによって認識されるためには、特有の命名規約にしたがってファイル名を付ける必要があります。具体的には、次のように指定します。
type.name.php
page
・begin
・display
・end
・config
のうちのいずれかを選択します。それぞれの意味は後述します。spam_filter
や calender
など、プラグインの機能が連想できる文字列にするといいでしょう。(他のプラグインと重複しない名前にする必要があります。)プラグインファイル内で関数やクラスを定義する場合、関数名やクラス名の先頭には plugin_
という文字と name で指定した値を記述します。例えばプラグインファイルを page.example.php
にした場合、このファイル内で定義する関数は plugin_example()
や plugin_example_test()
のような名前にします。
プラグインファイル内でテンプレートに値を渡す場合、変数名の先頭には plugin_
という文字と name で指定した値を記述します。例えばプラグインファイルを page.example.php
にした場合、変数は plugin_example
や plugin_example_test
のような名前にします。
これらは、他のプラグインと関数名や変数名が重複しないようにするための処置です。
プラグインファイルは、ファイル名の type によって読み込まれるタイミングが異なります。
page
のプラグインbegin
のプラグインdisplay
のプラグインend
のプラグインconfig
のプラグインプログラム本体では5つのグローバル変数を定義しており、プラグイン側でこれらを利用することができます。具体的な利用方法は、プログラム本体のコードを参考にしてください。
$users
$configs
$params
$pdo
$smarty
プラグイン用にテンプレートを用意する場合、テンプレートファイルは templates/
ディレクトリ内に作成します。ただし、ファイル名の先頭には plugin_
という文字と name で指定した値を記述します。例えばプラグインファイルを page.example.php
にした場合、テンプレートは plugin_example.html
や plugin_example_test.html
のような名前にします。
これは、他のプラグインとテンプレートファイル名が重複しないようにするための処置です。
プラグインのファイル名の type を config
にすると、プラグインの設定ファイルとして利用できます。ただし、このファイル自体は普通のPHPプログラムなので、内容を編集するにはテキストエディタとFTPソフトが必要です。
これとは別に、管理ページの設定編集画面から編集できる設定ファイルを用意することができます。このような設定ファイルを作成する場合、設定ファイルは configs/
ディレクトリ内に作成します。ファイル名には name で指定した値を、拡張子には ini
を指定します。例えばプラグインファイルを page.example.php
にした場合、設定ファイルは example.ini
という名前にします。
設定ファイルの内容は、一例ですが以下のようになります。
[基本設定]
;タイトル
title = "Mini Blog"
;ブログの概要
description = "サイトの更新情報配信ブログ。"
;ブログからの戻り先
back_url = "http://www.example.com/"
;exit
これで、管理ページの設定編集画面にexampleプラグインの設定という項目が表示され、クリックすると設定画面が表示されます。
プラグインの設定は上記のように
[見出し]
;設定項目の説明
設定を割り当てる変数 = 設定内容
;exit
のように記述します。最後の ;exit
は、決まり文句として必ず記述しておいてください。
これでプログラムからはグローバル変数 $configs
で値が参照でき、$configs['プラグイン名']['設定を割り当てる変数']
とすると 設定内容を取得できます。具体的には
$configs['example']['back_url']
のようになります。
また、テンプレートからは $info.configs.プラグイン名.設定を割り当てる変数
で設定内容を取得できます。具体的には
{$info.configs.example.back_url}
のようになります。
管理ページの設定編集画面から設定を行う際、設定を割り当てる変数 = 設定内容
の形式で、テキストエリア内に設定内容が表示されます。
これでも利用できるのですが、より解りやすくするために、1行入力欄やセレクトボックスなどで設定を行うこともできます。例えば、
;title char(30)
[基本設定]
;タイトル
title = "Mini Blog"
;ブログの概要
description = "サイトの更新情報配信ブログ。"
;ブログからの戻り先
back_url = "http://www.example.com/"
;exit
このように、先頭に ;title char(30)
を追加すると、タイトルの設定欄が一行入力欄になります。これは「title
の編集には char
(一行入力)を使用する。入力ボックスのサイズは 30
にする。」という意味です。
char
だけでなく、以下のような値が利用できます。
int
char
text
bool
enum
set
各値の具体的な利用方法は以下のようになります。配布プログラム本体や配布プラグインも参考にしてみてください。
;test1 int(4) "件"
;test2 char(50)
;test3 text
;test4 bool "有効にする|無効にする"
;test5 enum "value1:項目1|value2:項目2|value3:項目3"
;test6 set "value1:項目1|value2:項目2|value3:項目3"
[設定例]
;数値入力
test1 = 10
;テキスト入力
test2 = "一行入力です。"
;テキスト入力
test3 = "複数行入力です。\n複数行入力です。"
;ON/OFFの選択
test4 = On
;ラジオボタン
test5 = "value1"
;チェックボックス
test6 = "value2,value3"
;exit