定制 hhpack/package 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

hhpack/package

最新稳定版本:1.5.0

Composer 安装命令:

composer require hhpack/package

包简介

Package utility library for vendor

README 文档

README

Package utility library for vendor.
Easily and quickly, and you can find a class or interface.

Latest Stable Version CircleCI Dependency Status License

Basic usage

Find the source file from the package.

use HHPack\Package\VendorPackage;

$sources = VendorPackage::fromItems([
    Pair { 'package\\examples\\classes\\', realpath(__DIR__ . '/src') }
])->sources();

foreach ($sources as $source) {
	var_dump($source->name()); // /path/to/example.hh
	var_dump($source->directory()); // /path/to
}

Selection of elements

You can select the elements in the following function.

  • HHPack\Package\implementsInterface
  • HHPack\Package\subclassOf
  • HHPack\Package\classes
  • HHPack\Package\abstractClasses
  • HHPack\Package\traits
  • HHPack\Package\interfaces
  • HHPack\Package\instantiable
  • HHPack\Package\startsWith
  • HHPack\Package\endsWith

In the following we are looking for a interface and traits.

use HHPack\Package as package;
use HHPack\Package\VendorPackage;

$interfaces = VendorPackage::fromItems([
    Pair { 'Package\\Examples\\Classes\\', realpath(__DIR__ . '/src') }
])->classes(package\interfaces());

foreach ($interfaces as $interface) {
    var_dump($interface->name()); // interface
}

$traits = VendorPackage::fromItems([
    Pair { 'Package\\Examples\\Classes\\', realpath(__DIR__ . '/src') }
])->classes(package\traits());

foreach ($traits as $trait) {
    var_dump($trait->getName()); // trait
}

Instantiation of class

Get an instance from the source files

use HHPack\Package\VendorPackage;

$instances = VendorPackage::fromItems([
    Pair { 'Package\\Examples\\Classes\\', realpath(__DIR__ . '/src') }
])->classes()->map(($class) ==> $class->instantiate());

foreach ($instances as $instance) {
    var_dump($instance);
}

Pipeline of stream

You can build a pipeline.
You can achieve when implement the interface Middleware and Stream.

Please look at the example/pipeline.hh for details.

use HHPack\Package\VendorPackage;
use HHPack\Package\Examples\Classes\FileStatTransformer;
use HHPack\Package\Examples\Classes\FileStatOutput;

$package = VendorPackage::fromItems([
    Pair { 'Package\\Examples\\Classes\\', realpath(__DIR__ . '/src') }
]);

$package->sources()
    ->pipeTo(new FileStatTransformer())
    ->pipeTo(new FileStatOutput());

Run the test

composer install
composer test

统计信息

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

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: Shell

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-10-25

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固