この回ではプラグインのスケルトン作成と、各フォルダの機能紹介を行います。
OpenPNE3では、symfonyがもつプラグイン機構とは違った仕組みを持っています。
symfony自体のプラグインはPractical symfonyの20日目-プラグインを御覧下さい。
大きな違いとしては、プラグインディレクトリ直下にapps/ディレクトリが存在し、その中に各モジュールを配置できることと、module/を有効化するのに特にsetting.ymlの設定等が不要な所です。
つまり、このことはプラグインを配置するだけで新たなページの追加などが行えるということになります。
プラグインのスケルトンの作成は、OpenPNEが拡張したタスクによって簡単に行うことができます。
以下のようなタスクを実行することにより、プラグインのスケルトンが作成できます。
$ ./symfony opGenerate:plugin opVotePlugin
とすると、plugins/の中にopVotePlugin/というフォルダが作成されているかと思います。
その中には、apps/,lib/,test/という3つが作成されているはずです。
今回は、さらにappsの中にアプリケーション・モジュールを作成していきます。
アプリケーション・モジュールのディレクトリ構造についてはsymfonyのものと変わりません。
ここで、OpenPNE3で利用するアプリケーションを説明します。
- pc_frontend
- PC版フロントエンドのためのアプリケーションです。
- mobile_frontend
- モバイル版フロントエンドのためアプリケーションです。
- pc_backend
- 管理画面のためのアプリケーションです。
- api
- APIの為のアプリケーションです。
- mobile_mail_frontend
- 携帯電話からのメール投稿に利用するアプリケーションです
今回のプロジェクトではまず、PC版の画面から作っていくつもりなのでpc_frontendのスケルトンを作成します。
$ ./symfony opGenerate:app opVotePlugin pc_frontend
plugins/opVotePlugin/apps に新たにpc_frontend/が作成されます。
さらに、モジュールを追加します。voteモジュールということにしたいので、
$ ./symfony opGenerate:module opVotePlugin pc_frontend vote
となります。
voteモジュールが完成します。
この段階で、モジュールが作成され、プラグインが動いているか確認したい場合は
一度キャッシュを削除します。
$ ./symfony cc
その後、http://#セットアップしたSNSのURL#/vote にアクセスしてみましょう。
以下の画面が出ているのが確認できたらうまくいっていると言えます。
次回は、簡単なページの作り方と、そのページをSNSユーザ以外が見られないようにする方法などを紹介します。