承接 spiral/ide-helper 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

spiral/ide-helper

最新稳定版本:v0.9.6

Composer 安装命令:

composer require spiral/ide-helper

包简介

Spiral Framework IDE helper

README 文档

README

Latest Stable Version Total Downloads License Scrutinizer Code Quality Coverage Status

This module generate IDE help files for spiral framework components like Controllers, RequestsFilters, Records, Documents and etc.

Install

composer require spiral/ide-helper
./spiral register spiral/ide-helper && ./spiral console:reload

Usage

./spiral ide-helper

Configuration and Terminology

The module is configured via config/modules/ide-helper.php file.

The config has 3 sections: writers, locators, scopes.

VIEW CONFIG FILE

locators section includes any Locators used by the module. Locator is a class that responsible for searching classes and it's [magic] members.

writers section includes any Writers used by the modules. Writers are responsible to write the stuff collected by locators to some destination.

Both locators and writers must be represented by associated array, where the key is any human reasonable name for locator or writer and the value is class string or \Spiral\Core\Container\Autowire instance (can be obtained by bind method).

scopes section is also associated array, where the keys is any human reasonable name for the scope and the value is scope definition. Scope definition consists of number of locators and writers to execute, just check config above to understand the syntax. Each scope is executed independently.

The package includes following locators and writers:

  • BindingsLocator — find short bindings (SharedTrait)
  • ContainersLocator — find container and it's bindings
  • DocumentsLocator — find documents and it's fields
  • RecordsLocator — find records and it's fields
  • FilePerClassWriter — write every class to it's own file
  • SingleFileWriter — write everything to one file

Extending

Custom Locators

To create your own locator you must implement \Spiral\IdeHelper\Locators\LocatorInerface:

interface LocatorInterface
{
    /**
     * @return ClassDefinition[]
     */
    public function locate(): array;
}

and then register it in configuration file.

Custom Writers

Same as custom locator but \Spiral\IdeHelper\Writers\WriterInterface interface:

interface WriterInterface
{
    /**
     * @param ClassDefinition[] $classes
     */
    public function write(array $classes);
}

FilePerClassWriter and SingleFileWriter are using \Spiral\IdeHelper\Rendere\RendererInterface for rendering content, so if you want only to change the way files are looks like you can create your own implementation.

interface RendererInterface
{
    /**
     * @param ClassDefinition[] $classes
     * @return string
     */
    public function render(array $classes): string;
}

统计信息

  • 总下载量: 76.5k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 6
  • 点击次数: 0
  • 依赖项目数: 3
  • 推荐数: 0

GitHub 信息

  • Stars: 6
  • Watchers: 6
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2017-02-07

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固