PHPackages                             gild/php-fixed - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [PSR &amp; Standards](/categories/psr-standards)
4. /
5. gild/php-fixed

ActiveLibrary[PSR &amp; Standards](/categories/psr-standards)

gild/php-fixed
==============

It is a library that provides a mechanism to keep the commit log clean by performing a PSR-compliant php coding check before committing.

v3.0.1(4y ago)224[2 issues](https://github.com/gild-inc/lib_php-fixed/issues)MITShell

Since Aug 11Pushed 2y agoCompare

[ Source](https://github.com/gild-inc/lib_php-fixed)[ Packagist](https://packagist.org/packages/gild/php-fixed)[ RSS](/packages/gild-php-fixed/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (3)Dependencies (3)Versions (8)Used By (0)

概要
--

[](#概要)

PSRに準拠したphpのコーディングチェックをコミット前に行うことでコミットログを綺麗に保つ機構を提供するライブラリです。

導入要件
----

[](#導入要件)

- ローカル環境PHP &gt; ver5.4

導入方法
----

[](#導入方法)

`composer.json`に以下追加します。

```
{
    "scripts": {
        "post-autoload-dump": [
            "bash vendor/gild/php-fixed/execution.sh commit"
        ],
        "check": [
            "bash .git_hooks/pre-commit/main.sh"
        ],
        "lint": [
            "phpcs --standard=phpcs.xml -sp ."
        ],
        "lint:fix": [
            "phpcbf --standard=phpcs.xml -sp ."
        ]
    }
}
```

```
composer require --dev gild/php-fixed ^3.0
```

check, lint, lint:fixは任意で設定するものになります。
post-autoload-dumpが重要です。

### post-autoload-dump

[](#post-autoload-dump)

`execution.sh {triggerType}`

```
'. execution.sh commit'   ->  コミット前にコーディングチェックを行います。
'. execution.sh push'     ->  プッシュ前にコーディングチェックを行います。コミット前のチェックは行いません。

```

### check

[](#check)

commitを行わずに、単にコーディングチェックから自動修正まで一気通貫して行いたい場合に使用します。これは`lint`と`lint:fix`の組み合わせです。

commit時に行われる、`コーディングチェックから自動修正`までの処理は`composer check`を呼び出しているわけではありません。 checkエイリアス自体の処理は本ライブラリを組み込む際の依存関係はないものとなります。 lintとlint:ixについても同様です。

### lint

[](#lint)

commitを行わずに、単にコーディングチェックを行いたい場合に使用します。

### lint:fix

[](#lintfix)

commitを行わずに、単に自動修正を行いたい場合に使用します。

管理対象ファイルについて
------------

[](#管理対象ファイルについて)

以下は管理対象ファイルとしてください。

### phpcs.xml

[](#phpcsxml)

このファイルはリポジトリ直下に生成されます。
Laravelをベースにルール定義していますが 、独自にルールを書き換えて自由に設定可能です。 [Customisable Sniff Properties](https://github.com/squizlabs/PHP_CodeSniffer/wiki/Customisable-Sniff-Properties)

ファイル名を変更することは可能ですが、`main.sh`でファイル名変更することを忘れないで下さい。

### main.sh

[](#mainsh)

このファイルはリポジトリ直下に生成されるgit-hooks/pre-{triggerType}配下に生成されます。
処理自体は利用者が設定管理することが可能です。 ファイル名の変更は不可です。

gitクライアントソフトを介した挙動
------------------

[](#gitクライアントソフトを介した挙動)

※ CULでgitコマンドを直接打って操作する方は必要のない手順です。

チェックスクリプトはphpコマンドを介して実行されますが、gitクライアントソフトではphpのpathを読み込まないものもある為、 チェックスクリプトの処理開始冒頭で`/usr/local/bin`を読み込むようにしています。

従って、ローカル環境に導入したphpのエイリアスを`/usr/local/bin`に作っていただくことになります。 以下エイリアス作成例です。

```
ln -s /usr/local/opt/php@7.3/bin/php /usr/local/bin/php
```

---

既にphp5.4以上をローカルに導入してる場合はphpが格納されている場所を調べ、そちらのエイリアスを作成します。

```
type php
# php is /usr/local/opt/php@7.3/bin/php
ln -s /usr/local/opt/php@7.3/bin/php /usr/local/bin/php
```

gitクライアントソフトを利用する方は上記設定をしていないとコーディングチェックの自動化は行えません。

注意点
---

[](#注意点)

### 出力形式やログについて

[](#出力形式やログについて)

以下のような出力形式が変わるオプションは`phpcs.xml`に定義してはなりません。 ログを吐き出すようにするとチェックスクリプトが警告を捉えることができません。

```

```

チェックスクリプトを介さなければ自由に設定しても構いませんので、その為にcomposer.jsonのscriptsに独自定義します。

```
{
    "scripts": {
        "lint": [
          "phpcs --standard=phpcs.xml -sp ."
        ],
        "lint:fix": [
          "phpcbf --standard=phpcs.xml -sp ."
        ]
    }
}
```

### 既にgit-hookを使われてる方について

[](#既にgit-hookを使われてる方について)

本ライブラリ導入前にgit-hookを利用しているケースで既にpre-commitやpre-pushに何かしらのスクリプトを記述している場合を想定し、削除や上書きはしておりません。

pre-commitやpre-pushは`.buckup`という接尾辞を付与して退避しています。

補足
--

[](#補足)

可能であればローカル環境への別途導入物はライブラリに依存すべきではないと考えていますが、git操作はローカル環境においてdocker-containerから行うケースは殆どない為、各自のローカル環境に導入要件（php5.4以上）を組み込んでいただく必要がありました。

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~165 days

Recently: every ~243 days

Total

7

Last Release

1478d ago

Major Versions

v1.0.3 → v2.0.02022-04-22

v2.0.0 → v3.0.02022-04-28

### Community

Maintainers

![](https://www.gravatar.com/avatar/a61fae1c0fc35124fe49ae3c904d43952fc1b6c1d6401eff93f9393f2880aeb7?d=identicon)[gild](/maintainers/gild)

---

Top Contributors

[![mg1986jp](https://avatars.githubusercontent.com/u/20254686?v=4)](https://github.com/mg1986jp "mg1986jp (46 commits)")

---

Tags

phpcheckautomationPHP\_CodeSnifferpre-commitpre-push

### Embed Badge

![Health badge](/badges/gild-php-fixed/health.svg)

```
[![Health](https://phpackages.com/badges/gild-php-fixed/health.svg)](https://phpackages.com/packages/gild-php-fixed)
```

###  Alternatives

[joomla/coding-standards

Joomla Coding Standards

129231.7k16](/packages/joomla-coding-standards)[suin/phpcs-psr4-sniff

PHP\_CodeSniffer sniff that checks class name matches PSR-4 project structure.

271.7M16](/packages/suin-phpcs-psr4-sniff)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
