EC-CUBE / EC-CUBE/sample-payment-plugin

命名規約

Open
#6 5 comments 0 reactions 0 assignees View on GitHub
Document
Dominant language
PHP
Stars
32
Forks
14
PR merge metrics
No merged PRs in 30d

Description

## プラグインコード
重複を避けるため, `[ベンダー名][プラグイン]`の形式を推奨
キャメルケースで記述する

```
AcmeCategoryContent
```

## テーブル名
※プラグイン固有のテーブルを作成する場合

`plg_[プラグインコードのスネークケース]_xxx`

```php
use Doctrine\ORM\Mapping as ORM;

/**
* Config
*
* @ORM\Table(name="plg_acme_category_content_config")
* @ORM\Entity(repositoryClass="Plugin\AcmeCategoryContent\Repository\ConfigRepository")
*/
class Config
```

## テーブルのカラム名およびgetter/setter
※traitを使用してカラムを追加する場合

`[プラグインコードのスネークケース]_xxx`
getter/setterはキャメルケースで記述する

```php
use Eccube\Annotation\EntityExtension;
use Doctrine\ORM\Mapping as ORM;

/**
* @EntityExtension("Eccube\Entity\Customer")
*/
trait CustomerTrait
{
/**
* @ORM\Column(name="acme_category_content_xxx" type="integer", nullable=true)
*/
private $acme_category_content_xxx;

public function getAcmeCategoryContentXxx()
{
}

public function setAcmeCategoryContentXxx($xxx)
{
}
}
```

## ルーティング

`[プラグインコードのスネークケース]_xxx`

```php
class ConfigController extends AbstractController
{
/**
* @Route("/%eccube_admin_route%/acme_category_content/config", name="acme_category_content_admin_config")
* @Template("@AcmeCategoryContent/admin/config.twig")
*/
public function index(Request $request)
```

## URL
`/[プラグインコードのスネークケース]/xxx/xxx`

```php
class ConfigController extends AbstractController
{
/**
* @Route("/%eccube_admin_route%/acme_category_content/config", name="acme_category_content_admin_config")
* @Template("@AcmeCategoryContent/admin/config.twig")
*/
public function index(Request $request)
```

## FormExtensionで追加するフィールド
`[プラグインコードのスネークケース]_xxx`

```php
class XxxExtention extends AbstractTypeExtension
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('acme_category_content_name', TextType::class);

```

## htmlで使用するID, class
`[プラグインコードのスネークケース]_xxx`

```html


```

## コマンド名

`[プラグインコードのスネークケース]:xxx:xxx`

```php
class XxxCommand extends Command
{
protected static $defaultName = 'acme_category_content:xxx:yyy';
```

## 言語ファイル

`[プラグインコードのスネークケース].xxx.xxx`

```yaml
# nav
acme_category_content.admin.nav.category: カテゴリコンテンツ一覧

# flash messages
acme_category_content.admin.save.success: 登録しました。
acme_category_content.admin.save.failed: 登録に失敗しました。
```

プラグインコード以降の命名規則はEC-CUBE本体の命名規則に従う
https://github.com/EC-CUBE/ec-cube/pull/3593

## パラメータ

`[プラグインコードのスネークケース].xxx.xxx`

```yaml
parameters:
acme_category_content.xxx: 1

services:
acme_category_content.log.formatter.line:
class: Monolog\Formatter\LineFormatter
arguments: ...
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.