eZ Publish のコンソールコマンド eep

## eep
https://github.com/mugoweb/eep
WordPress には wp-cli が、Drupal には Drush や Drupal Console がありますが、 **eZ Publish** にも **eep** というコンソールコマンドツールがあります。

カナダと米国で活動する [Mugo Web](http://www.mugo.ca/) という企業によって開発されています。

## インストール
```
cd && curl -LSs https://github.com/mugoweb/eep/archive/master.tar.gz | tar zx && mv eep-master eep
chmod +x ~/eep/eep.php && ln -s -T ~/eep/eep.php /usr/bin/eep
```

## 初期設定
```
cd /var/www/ezpublish5
eep use ezroot .
```
ここでは eZ Publish がインストールされているディレクトリーを `/var/www/ezpublish5` としています。

## オブジェクト情報の取得
```
eep contentobject info <オブジェクトID>
```
```:入力例
eep co info 4
```
```:出力例
 +-----------------+----------------------------------+
 I contentobject id [4]                               |
 +-----------------+----------------------------------+
 I             key | value                            |
 +-----------------+----------------------------------+
 |            Name | Users                            |
 | CurrentLanguage | jpn-JP                           |
 | ClassIdentifier | user_group                       |
 |       SectionID | 2                                |
 |         OwnerID | 14                               |
 |       Published | 1033917596 (2002-10-07 00:19:56) |
 |        Modified | 1033917596 (2002-10-07 00:19:56) |
 |  CurrentVersion | 1                                |
 |          Status | 1                                |
 |        RemoteID | f5c88a2209584891056f987fd965b0ba |
 |      MainNodeID | 5                                |
 |                 |                                  |
 |  All locations: |                                  |
 |           /1/5/ | users                            |
 +-----------------+----------------------------------+
```

## オブジェクトのデータマップ取得
```
eep contentobject datamap <オブジェクトID>
```
```:入力例
eep co datamap 4
```
```:出力例
 +-------------+----+----------------+------------+---------+-----------+------------+---------------+------+
 I contentobject datamap id [4]                                                                             |
 +-------------+----+----------------+------------+---------+-----------+------------+---------------+------+
 I  identifier | ID | DataTypeString |   DataText | DataInt | DataFloat | SortKeyInt | SortKeyString | Ver. |
 +-------------+----+----------------+------------+---------+-----------+------------+---------------+------+
 |        name |  8 |       ezstring |      Users |         |           |          0 |               |    1 |
 | description |  7 |       ezstring | Main group |         |           |          0 |               |    1 |
 +-------------+----+----------------+------------+---------+-----------+------------+---------------+------+
```

## 属性値の更新
```
eep attribute fromstring <オブジェクトID> <属性識別子> <属性値>
```
いわゆる属性（フィールド）の値を変更したい場合に実行します。
`attribute` は `at` と省略できます。

## 移動
```
eep contentnode move <ノードID> <移動先親ノードID>
```
`contentnode` は `cn` と省略できます。

## Symfony Console

eZ Publish 5 からは Symfony を採用しているため、 Symfony Console が利用できます。

### キャッシュクリア
```
php ezpublish/console cache:clear
```
`cache:clear` は `c:c` と省略できます。
また、eZ Platform の場合は `ezpublish/console` ではなく `app/console` になります。

### 新規バンドル生成
```
php ezpublish/console generate:bundle
```

### オートロード再生成
```
php ezpublish/console ezpublish:legacy:script bin/php/ezpgenerateautoloads.php
```

### レガシーキャッシュの破棄
```
php ezpublish/console ezpublish:legacy:script bin/php/ezcache.php --legacy-help
```

### レガシースクリプトの実行
```
php ezpublish/console ezpublish:legacy:script runcronjobs.php frequent
```