maslosoft/hedron

PHP源代码类头应用器

2.0.2 2023-06-16 06:33 UTC

README

Hedron Logo Maslosoft Hedron

PHP源代码类头应用器

Latest Stable Version License

快速安装

composer require maslosoft/hedron

文档

完整的Hedron文档

保持类头的一致性

在开发项目时,我们经常需要文件中包含PHP类有一些预定义的注释头。这可能包括包信息、许可、主页地址等。

一次性应用所有

此工具提供了一种安全的方式修改整个项目中的类头 - 使用PHP标记解析器,以确保只有在100%安全的情况下才会修改文件。

Hedron帮助您使类头保持最新和一致。它将对包含命名空间类定义的所有文件应用预定义的头。

安装

composer require maslosoft/hedron --dev

使用

预览应用头部的文件列表

vendor/bin/hedron preview

显示渲染的模板

vendor/bin/hedron show

将头部应用到所有类文件。

在继续之前,请备份/提交您的项目。 这将把头部写入文件。

vendor/bin/hedron commit

配置

配置可以提供在项目根目录下的yaml文件.hedron.yml中。Hedron还使用composer.json来简化您的配置,甚至可能是不必要的。

以下是一个示例配置,包含示例值(请参阅.hedron.example.yml

# All paths are realtive to your project root
# Root path or paths with sources. If blank will use composer.autoload paths.
sources: ""
# Path to template file, if blank will use vendor/maslosoft/hedron/templates/default.html (no it's not html)
template: ""
# Filter configuration, by default empty. Below is some example filter.
filter:
	whitelist:
		include:
			- app/*
		exclude:
			- app/cache/*
	blacklist:
		include:
			- app/controllers/*
		exclude:
			- app/cache/CacheProvider.php
# Reserved 
# This contains composer.json as array
composer: ""
tmp: ""

所有这些配置都在模板中可用。

模板

模板使用handlebars作为模板引擎。它包含来自.hedron.ymlcomposer.json的所有数据。

以下是一个示例,默认模板

This software package is licensed under {{composer.license}} license.

@package {{composer.name}}
@licence {{composer.license}}
{{#each composer.authors}}
@copyright Copyright (c) {{name}} <{{email}}>
{{/each}}
{{#if composer.homepage}}@link {{composer.homepage}}{{/if}}

渲染后看起来像这样

/**
 * This software package is licensed under New BSD license.
 *
 * @package maslosoft/hedron
 * @licence New BSD
 *
 * @copyright Copyright (c) Peter Maselkowski <pmaselkowski@gmail.com>
 *
 * @link http://maslosoft.com/hedron/
 */

替换

此脚本批量修改源文件。为了安全和稳健,它使用原生PHP标记解析器,替换所有在namespace标记之前的内容。仅此而已。如果没有命名空间声明,文件将不会被修改。

资源