2
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

updated at

Wordpress用フレームワーク「Herbert」設定ファイル解剖

はじめに

Wordpress用フレームワーク「Herbert」の設定ファイルを読み解こう
設定ファイルの中心はherbert.config.phpである
前記事→Wordpress用フレームワーク「Herbert」プラグイン名の設定

環境

ホストOS:Windows 10
ゲストOS:CentOS 6.7
Vagrant(ローカル開発環境)
vccw(Wordpress導入用)
Wordpress 4.5.1–ja
PHP 5.4.45←5.4だと動きませんでした.
==>5.6.21

Config

バージョン管理(Constraint)

作成したプラグインを動かすのに必要なHerbertの最低バージョン(?)を指定
とは言え今のところ0.9しか出てないので...というかこれ更新されるのだろうか

変数の拡張(Extend)

herbert.config.phpの中で独自の変数を定義でき,かつ他の場所で簡単に取り出せる.

herbert.config.php
    /**
     * My plugin name
     */

    'pluginName' => 'Social Icons Pro',

    /**
     * My table prefix
     */

    'prefix' => 'sip_',

    /**
     * The Herbert version constraint.
     */
    'constraint' => '~0.9',

    /**

取り出すとき

$pluginName = Helper::get('pluginName');

名前空間による分離(Namespacing)

前記事の修正で,ひたすら名前空間を指定する作業をした.
形式は以下のうように決まっている.typeにはroutesやpanelsが,Namespaceには設定したい名前空間,file.phpは任意のphpファイルを指定する.

'type' => [
    'Namespace' => 'file.php'
],

ここを読んで理解したが(お恥ずかしい),複数の名前空間を用意すれば,機能ごとにファイルを分離する事ができる.

typeによって設定できる項目は以下4つ.細かい内容はまた後日

  • Routes(routes) →ルーティング制御
  • Panels(panels) →管理画面のサイドバー設定
  • Api(apis) →API
  • Views(views) →フロント制御

ファイル読み込み(Flat Files)

独自に作成した外部phpファイルを読み込む.いわゆるrequire_onceincludeと同じ処理をまとめてしまう.

herbert.config.php
'requires' => [
    __DIR__ . '/app/customPostTypes.php',
    __DIR__ . '/app/hooks/postIsTrashed.php'
],

おさらい

herbert.config.phpに関して各設定について解剖した.
重要なトピックとしては名前空間の扱いを指定する,ということであろう.
何かと処理が複雑になってくると,名前空間を複数用意して切り離す.そんなときに色々書き換える必要がある,といったイメージでしょうか.

とりあえずは前回の修正で問題ないと信じて次に行ってみよう.

今回はここまで
フレームワーク的に大事であろうRoute,Controller,Viewなどに触れていきたい.

次回はRoutes
ルーティングの設定をしていこう

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
2
Help us understand the problem. What are the problem?