--- name: basercms4-development description: 'baserCMS 4系(CakePHP 2.10ベース)+ jQuery プロジェクトの開発ルール集。「baserCMS 4 で開発」「4系のプラグインを修正」「CakePHP 2系のコードを書く」「app/Plugin 配下の Controller/Model/View」「テーマの Elements/Layouts」「BcBaserHelper/BcFormHelper/BcHtmlHelper の利用」「CakeLog でログ出力」「lib/Baser・lib/Cake はコアハック禁止」等、baserCMS 4系プロジェクトのコーディング方針・ディレクトリ構成・命名規則・ログ/エラーハンドリング・読み取り専用ファイルの扱い・サーバ制約を確認する際に参照する。baserCMS 5系の開発は basercms5-development、4→5 へのアップグレードは basercms4-to-5-upgrade スキルを参照。' license: MIT --- # baserCMS4系(CakePHP2系)+ jQuery プロジェクトの開発ルール このプロジェクトでは、以下の技術スタックおよび設計方針に従って開発されています。 --- ## 使用技術 - **baserCMS 4系** を使用(内部的には **CakePHP 2.10** ベース) - バックエンド:PHP 7.4 〜 8.2 / CakePHP 2系 - データベース:MySQL 5.7 〜 8.0 - フロントエンド:jQuery 1.x〜3.x(プロジェクト内で複数バージョンが混在している可能性あり) - HTTPサーバ:Apache(mod_rewrite 有効) --- ## ディレクトリ構成のルール - MVC構成は CakePHP 2系に準拠しつつ、**baserCMSでは主にプラグイン単位で構築されている** - `app/Plugin/{Plugin名}/Controller/`, `Model/`, `View/` にそれぞれ配置される - 共通パーツ(ヘッダー、フッターなど)は、**テーマ内の `Elements/` ディレクトリに配置** - 主に:`theme/{テーマ名}/Elements/` - 一部環境では:`app/webroot/theme/{テーマ名}/Elements/` - レイアウトもテーマ内に配置される - 主に:`theme/{テーマ名}/Layouts/` - 一部環境では:`app/webroot/theme/{テーマ名}/Layouts/` - `$this->layout` により切り替えが可能 - 管理画面系は `/admin/` プレフィックスのURLルーティングで制御 - 使用ファイル:`app/Config/core.php` - 定義内容:`Configure::write('Routing.prefixes', array('admin'));` --- ## コーディング方針(baserCMS4固有) 共通ルールのコーディング方針も参照してください。 - クラスベースよりも関数ベース・手続き的なコードが多く採用されている - JavaScript は Viewファイル内の `