baserCMS クラスリファレンス

BaserCorePlugin extends BcPlugin
in package
implements AuthenticationServiceProviderInterface

Class plugin

Table of Contents

Interfaces

AuthenticationServiceProviderInterface

Properties

$currentSite  : null
現在のサイト キャッシュ用
$migrations  : Migrations

Methods

addPlugin()  : void
プラグインを追加する
addTheme()  : void
テーマを追加する
applyAsTheme()  : mixed
テーマを適用する
bootstrap()  : void
bootstrap
clearCurrentSite()  : void
カレントサイトを初期化する
console()  : CommandCollection
コマンド定義
contentsRoutingForReverse()  : RouteBuilder
コンテンツ管理ルーティング
createAssetsSymlink()  : bool
プラグインアセットのシンボリックリンクを作成する
disableRootRoutes()  : void
/config/routes.php を無効化する
execScript()  : bool
アップデートスクリプトを実行する
execUpdater()  : mixed
アップデートプログラムを実行する
frontPageRouting()  : RouteBuilder
プラグインのフロントエンド用ルーティング(プラグイン名がダッシュ区切りの場合)
getAuthenticationService()  : AuthenticationServiceInterface
認証サービスプロバイダ生成
getAvailableThemes()  : array<string|int, mixed>
利用可能なテーマを取得する
getService()  : array<string|int, mixed>|mixed|object
Get Service
getUpdaters()  : array<string|int, mixed>
アップデータのパスを取得する
getUpdateScriptMessages()  : array<string|int, mixed>
アップデータのメッセージを取得する 現在のバージョンより上位のアップデートスクリプトフォルダの config.php を読み込み 変数 $updateMessage より取得する
hasService()  : bool
Has Service
initialize()  : void
Initialize
install()  : bool
プラグインをインストールする
isRequiredAuthentication()  : bool
認証が必要か判定する
loadPlugin()  : bool
プラグインを読み込む
middleware()  : MiddlewareQueue
Setup the middleware queue your application will use.
migrate()  : mixed
マイグレーションを実行する
prefixRouting()  : RouteBuilder
プラグインの管理画面用ルーティング
rollbackDb()  : bool
プラグインのテーブルをリセットする
routes()  : void
Routes
services()  : void
services
setupDefaultTemplatesPath()  : mixed
デフォルトテンプレートを設定する
setupJwtAuth()  : AuthenticationService
JWT 認証のセットアップ
setupSessionAuth()  : AuthenticationService
セッション認証のセットアップ
setupThemePlugin()  : void
テーマが保有するプラグインのパスを追加する
siteRouting()  : RouteBuilder
サブサイトのプラグイン用ルーティング
uninstall()  : bool
プラグインをアンインストールする - `plugin` : プラグイン名 - `connection` : コネクション名 - `target` : ロールバック対象バージョン
updateDateNow()  : void
対象のフィールドを現在の日付に更新する
updateDefaultData()  : void
初期データ読み込み時の更新処理
getSkipCsrfUrl()  : array<string|int, mixed>
Web API のPOST送信において CSRF をスキップするURLについて、 Router で変換した上で取得

Properties

$currentSite

現在のサイト キャッシュ用

public static null $currentSite = null

$migrations

public Migrations $migrations

Methods

addPlugin()

プラグインを追加する

public addPlugin(PluginApplicationInterface $app) : void
Parameters
$app : PluginApplicationInterface
Tags
checked
noTodo

addTheme()

テーマを追加する

public addTheme(PluginApplicationInterface $application, array<string|int, mixed> $themes) : void
Parameters
$application : PluginApplicationInterface
$themes : array<string|int, mixed>
Tags
noTodo
checked

applyAsTheme()

テーマを適用する

public applyAsTheme(Site $site, string $theme) : mixed
Parameters
$site : Site
$theme : string
Tags
checked
noTodo
unitTest

bootstrap()

bootstrap

public bootstrap(PluginApplicationInterface $app) : void
Parameters
$app : PluginApplicationInterface
Tags
checked
unitTest
noTodo

clearCurrentSite()

カレントサイトを初期化する

public clearCurrentSite() : void

console()

コマンド定義

public console(CommandCollection $commands) : CommandCollection
Parameters
$commands : CommandCollection
Tags
checked
noTodo
unitTest
Return values
CommandCollection

contentsRoutingForReverse()

コンテンツ管理ルーティング

public contentsRoutingForReverse(RouteBuilder $routes, string $plugin) : RouteBuilder

リバースルーティングのために必要

Parameters
$routes : RouteBuilder
$plugin : string
Tags
checked
noTodo
unitTest
Return values
RouteBuilder

プラグインアセットのシンボリックリンクを作成する

public createAssetsSymlink() : bool
Tags
checked
noTodo
unitTest
Return values
bool

disableRootRoutes()

/config/routes.php を無効化する

public disableRootRoutes(RouteBuilder $routes) : void
Parameters
$routes : RouteBuilder
Tags
throws
ReflectionException

execScript()

アップデートスクリプトを実行する

public execScript(string $__version) : bool
Parameters
$__version : string
Tags
checked
noTodo
unitTest
Return values
bool

execUpdater()

アップデートプログラムを実行する

public execUpdater() : mixed
Tags
checked
noTodo

frontPageRouting()

プラグインのフロントエンド用ルーティング(プラグイン名がダッシュ区切りの場合)

public frontPageRouting(RouteBuilder $routes, string $plugin) : RouteBuilder

BcPrefixAuthより先に定義が必要 定義しない場合、CSRFトークン取得などの処理にて、BcPrefixAuthのルーティングに捕まり認証を求められてしまう場合がある。 例)認証付 MyPage の定義で、alias を '/' とした場合

Parameters
$routes : RouteBuilder
$plugin : string
Tags
checked
noTodo
unitTest
Return values
RouteBuilder

getAuthenticationService()

認証サービスプロバイダ生成

public getAuthenticationService(ServerRequestInterface $request) : AuthenticationServiceInterface
  • インストール前の場合は、設定なしで、Session のみ読み込む (インストールの動作テストを複数回行う場合にセッションが残ってしまい内部的なエラーを吐いてしまうため)
Parameters
$request : ServerRequestInterface

Request

Tags
checked
unitTest
noTodo
Return values
AuthenticationServiceInterface

getAvailableThemes()

利用可能なテーマを取得する

public getAvailableThemes() : array<string|int, mixed>
Tags
checked
noTodo
Return values
array<string|int, mixed>

getService()

Get Service

public getService(mixed $service) : array<string|int, mixed>|mixed|object
Parameters
$service : mixed
Tags
checked
noTodo
unitTest
Return values
array<string|int, mixed>|mixed|object

getUpdaters()

アップデータのパスを取得する

public getUpdaters([mixed $name = '' ][, mixed $isUpdateTmp = false ]) : array<string|int, mixed>
Parameters
$name : mixed = ''
$isUpdateTmp : mixed = false
Tags
checked
noTodo
unitTest
Return values
array<string|int, mixed>

$updates

getUpdateScriptMessages()

アップデータのメッセージを取得する 現在のバージョンより上位のアップデートスクリプトフォルダの config.php を読み込み 変数 $updateMessage より取得する

public getUpdateScriptMessages([mixed $name = '' ][, mixed $isUpdateTmp = false ]) : array<string|int, mixed>

戻り値例 [ '1.0.1 => 'message', '1.0.2 => 'message' ]

Parameters
$name : mixed = ''
$isUpdateTmp : mixed = false
Tags
checked
noTodo
unitTest
Return values
array<string|int, mixed>

$messages

hasService()

Has Service

public hasService(mixed $service) : bool
Parameters
$service : mixed
Tags
checked
noTodo
unitTest
Return values
bool

initialize()

Initialize

public initialize() : void
Tags
checked
unitTest
noTodo

install()

プラグインをインストールする

public install([array<string|int, mixed> $options = [] ]) : bool

マイグレーションファイルを読み込み、 plugins テーブルに登録する

Parameters
$options : array<string|int, mixed> = []
  • plugin : プラグイン名
  • connection : コネクション名
  • permission : アクセスルールを作るか作らないか。作らない場合は、システム管理ユーザーが利用可能
Tags
unitTest
noTodo
checked
Return values
bool

isRequiredAuthentication()

認証が必要か判定する

public isRequiredAuthentication(array<string|int, mixed> $authSetting) : bool
Parameters
$authSetting : array<string|int, mixed>
Tags
checked
noTodo
unitTest
Return values
bool

loadPlugin()

プラグインを読み込む

public loadPlugin(PluginApplicationInterface $application, string $plugin, mixed $priority) : bool
Parameters
$application : PluginApplicationInterface
$plugin : string
$priority : mixed
Tags
unitTest
checked
noTodo
Return values
bool

middleware()

Setup the middleware queue your application will use.

public middleware(MiddlewareQueue $middlewareQueue) : MiddlewareQueue
Parameters
$middlewareQueue : MiddlewareQueue

The middleware queue to setup.

Tags
checked
noTodo
unitTest
Return values
MiddlewareQueue

The updated middleware queue.

migrate()

マイグレーションを実行する

public migrate([array<string|int, mixed> $options = [] ]) : mixed
Parameters
$options : array<string|int, mixed> = []
Tags
checked
noTodo

prefixRouting()

プラグインの管理画面用ルーティング

public prefixRouting(RouteBuilder $routes, string $plugin) : RouteBuilder

プラグイン名がダッシュ区切りの場合

Parameters
$routes : RouteBuilder
$plugin : string
Tags
checked
noTodo
Return values
RouteBuilder

rollbackDb()

プラグインのテーブルをリセットする

public rollbackDb([array<string|int, mixed> $options = [] ]) : bool
Parameters
$options : array<string|int, mixed> = []
  • plugin : プラグイン名
  • connection : コネクション名
  • target : ロールバック対象バージョン
Tags
checked
noTodo
unitTest
Return values
bool

routes()

Routes

public routes(RouteBuilder $routes) : void

次のルートを設定するが、未インストール時はインストーラーのみ設定し他はスキップする。

コンテンツルーティング

/*

管理画面ダッシュボード

/baser/admin

JWTトークン検証用

/baser/api/baser-core/.well-known/jwks.json

Parameters
$routes : RouteBuilder
Tags
checked
noTodo
unitTest

services()

services

public services(ContainerInterface $container) : void
Parameters
$container : ContainerInterface
Tags
checked
noTodo
unitTest

setupDefaultTemplatesPath()

デフォルトテンプレートを設定する

public setupDefaultTemplatesPath() : mixed
Tags
checked
unitTest
noTodo

setupJwtAuth()

JWT 認証のセットアップ

public setupJwtAuth(AuthenticationService $service, array<string|int, mixed> $authSetting, string $prefix) : AuthenticationService
Parameters
$service : AuthenticationService
$authSetting : array<string|int, mixed>
$prefix : string
Tags
checked
noTodo
Return values
AuthenticationService

setupSessionAuth()

セッション認証のセットアップ

public setupSessionAuth(AuthenticationService $service, array<string|int, mixed> $authSetting) : AuthenticationService
Parameters
$service : AuthenticationService
$authSetting : array<string|int, mixed>
Tags
checked
noTodo
Return values
AuthenticationService

setupThemePlugin()

テーマが保有するプラグインのパスを追加する

public setupThemePlugin(array<string|int, mixed> $themes) : void
Parameters
$themes : array<string|int, mixed>
Tags
checked
noTodo

siteRouting()

サブサイトのプラグイン用ルーティング

public siteRouting(RouteBuilder $routes, string $plugin) : RouteBuilder

プラグイン名がダッシュ区切りの場合

Parameters
$routes : RouteBuilder
$plugin : string
Tags
checked
noTodo
unitTest
Return values
RouteBuilder

uninstall()

プラグインをアンインストールする - `plugin` : プラグイン名 - `connection` : コネクション名 - `target` : ロールバック対象バージョン

public uninstall([mixed $options = [] ]) : bool
Parameters
$options : mixed = []
Tags
checked
noTodo
unitTest
Return values
bool

updateDateNow()

対象のフィールドを現在の日付に更新する

public updateDateNow(string $table, array<string|int, mixed> $fields[, array<string|int, mixed> $conditions = [] ][, array<string|int, mixed> $options = [] ]) : void
Parameters
$table : string
$fields : array<string|int, mixed>
$conditions : array<string|int, mixed> = []
$options : array<string|int, mixed> = []
Tags
checked
noTodo

updateDefaultData()

初期データ読み込み時の更新処理

public updateDefaultData([array<string|int, mixed> $options = [] ]) : void
Parameters
$options : array<string|int, mixed> = []

getSkipCsrfUrl()

Web API のPOST送信において CSRF をスキップするURLについて、 Router で変換した上で取得

protected getSkipCsrfUrl() : array<string|int, mixed>
Tags
noTodo
checked
unitTest
Return values
array<string|int, mixed>

        
On this page

Search results