Skip to content
オープンソース・ワークショップ 永原 篤 edited this page Mar 11, 2022 · 18 revisions

SamplesPlugin.php(プラグイン・プログラム)

以下、部分ごとに解説します。

namespace App\PluginsOption\User\Samples;

use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Validator;

use App\Models\Common\Buckets;
use App\Models\Common\Frame;
use App\ModelsOption\User\Samples\Sample;
use App\ModelsOption\User\Samples\SamplePost;

use App\PluginsOption\User\UserPluginOptionBase;
  • namespace はディレクトリと合わせて定義
  • Illuminate\Support\Collection アクションメソッドの戻り値に使用します。
  • Illuminate\Support\Facades\Validator 入力エラー定義に使用します。
  • App\Models\Common\Buckets 共通バケツ
  • App\Models\Common\Frame フレーム
  • App\ModelsOption\User\Samples\Sample サンプルプラグインのバケツ
  • App\ModelsOption\User\Samples\SamplePost サンプルプラグインの記事
  • App\PluginsOption\User\UserPluginOptionBase オプションプラグインを開発する場合の継承元
class SamplesPlugin extends UserPluginOptionBase
{
    /**
     * 変更時のPOSTデータ
     */
    public $post = null;
  • クラス定義と継承指定
  • $post は記事が指定されたときのための変数
/**
 * 関数定義(コアから呼び出す)
 */
public function getPublicFunctions()
{
    // 標準関数以外で画面などから呼ばれる関数の定義
    $functions = array();
    $functions['get']  = ['index'];
    return $functions;
}
  • 標準関数は config\cc_role.php の CC_METHOD_AUTHORITY と CC_METHOD_REQUEST_METHOD で定義されています。
  • 標準関数にないものは、ここで定義することで、画面から呼ばれて実行可能になります。
/**
 *  権限定義
 */
public function declareRole()
{
    // 権限チェックテーブル
    $role_check_table = array();
    return $role_check_table;
}
  • 標準関数以外の関数を定義する場合は、ここで関数ごとの許可する権限を定義します。
  • このサンプルプラグインでは、標準関数以外はありませんが、指定する場合は以下のように指定します。
$role_check_table['remote'] = array('role_article');
Clone this wiki locally