Skip to content

コーディング規約

Takayuki Nagatomi edited this page Apr 29, 2019 · 1 revision

基本指針

baserCMSにおけるコーディングは、CakePHPコーディング規約 に準拠します。
その為、CakePHPの開発方法で、baserCMS上にアプリケーションを構築する事が可能です。
CakePHP側で定められている、コーディング規約、開発方法についてはここでは触れません。

定数宣言

絶対パスの情報のように環境に依存し、処理中に変更の必要のない値は、定数で宣言します。特に全体を通して参照する定数は、次のファイルに宣言します。

/lib/Baser/Config/bootstrap.php

 

設定ファイル

アプリケーションの設定値は、Configureクラスで管理します。
次のファイルに配列で設定情報を記述すると、起動時に自動で読み込まれ、Configure::read() を利用する事で、どこからでも参照する事ができます。

/lib/Baser/Config/setting.php

 

コントローラー

継承

コントローラーを作成する際は、AppController クラスを継承します。
AppController クラスは、BcAppController クラスを継承しており、認証の自動設定機能等、baserCMSのコアの機能を提供しています。

    class DummyController extends AppController {

認証設定

管理システム等にて、ログイン認証を設定したい場合は、BcAuthComponent、BcAuthConfigureComponent の2つのコンポーネントクラスを宣言します。この状態で、全てのアクションに認証がかかります。

    public $components = array('BcAuth', 'BcAuthConfigure');

認証を必要としないアクションを作成する場合には、BcAuthComponent::allow() を呼び出します。

    $this->BcAuth->allow('actionA', 'actionB');

認証されたユーザーの情報を取得したい場合は次のコードで取得できます。

    $this->BcAuth->user();

 

モデル

継承

モデルを作成する際は、AppModel クラスを継承します。
AppModel クラスは、BcAppModel クラスを継承しており、バリデーション機能の拡張等 baserCMSのコアの機能を提供しています。

    class Dummy extends AppModel {

ビュー

テンプレートの拡張子

CakePHPのテンプレートの拡張子は、「ctp」となりますが、baserCMSでは、「php」となります。
これは、ドキュメントルート配下にテーマ用のテンプレートを配置した場合に、テンプレートファイルを直接参照されてしまうのを防ぐ為です。

プレフィックス付アクション用のビューファイルの配置

管理システム用のアクション等、プレフィックス付のアクションのテンプレートを作成する場合、CakePHPのデフォルトの配置場所と変わり、プレフィックス名をサブフォルダとし、その配下に配置します。

(例)admin_login アクションの場合
/lib/Baser/View/[ControllerName]/admin/login.php

エレメントのグルーピング

同じ機能を持つエレメントが複数存在する場合はフォルダに整理し、フォルダ名は複数形とします。

(例)ヘルプファイルの場合
/lib/Baser/View/Elements/admin/helps/contents_add.php
/lib/Baser/View/Elements/admin/helps/contents_index.php

リンクと画像、CSS、Javascriptの参照

ビューファイルを記述する際、リンクを作成する場合、また、画像、CSS、Javascriptファイルを参照する場合には、BcBaserHelperを利用します。
これは、baserCMSが配布する前提のパッケージの為、サブディレクトリに設置した場合等、設置箇所の階層によりリンク切れが発生してしまうのを防ぐ為です。

    ■ リンク
    <?php $this->BcBaser->link('title', '/path/to/link') ?>
    ■ 画像
    <?php $this->BcBaser->img('/path/to/image', array('alt' => 'title')) ?>
    ■ CSS
    <?php $this->BcBaser->css('/path/to/css') ?>
    ■ Javascript
    <?php $this->BcBaser->js('/path/to/javascript') ?>

CakePHPが提供するコードを修正する場合のコメントルール

基本的に、CakePHPが提供するコードは修正しない方針ですが、baserCMSの仕様を作り上げる為、どうしても変更が必要な場合があります。その際には、次のルールに則り、コメントによるマーキングを行ってください。
また、修正理由はできるだけ細かく記載をします。
これは、CakePHPがバージョンアップした際、baserCMSをそのCakePHPのバージョンに対応する際の重要な手がかりとなる為です。

コードを追加する場合

// CUSTOMIZE ADD YYYY/MM/DD 修正者名
// 修正内容の説明
// >>>
追加コード
// <<<

コードを編集する場合

// CUSTOMIZE MODIFY YYYY/MM/DD 修正者名
// 修正内容の説明
// >>>
// 元のコード
// ---
修正後のコード
// <<<

コードを削除する場合

// CUSTOMIZE DELETE YYYY/MM/DD 修正者名
// 修正内容の説明
// >>>
// 元のコード
// <<<

↑↑↑ Wikiに登録されているページは古いドキュメントです。 新しいドキュメントは、baserCMS公式ガイド をご覧ください。

Clone this wiki locally