nbasnet/php-codewriter
Composer 安装命令:
composer require nbasnet/php-codewriter
包简介
Helper classes to generate code for writing to a file
README 文档
README
######Generate code for writing to file using different components
Need to pass instance of CodeWriterSettings to the top most component using setSettings() [inherited from BaseComponent Class] before calling writeComponent() method. Exception SettingsNotSet is thrown if writeComponent() is called before settings is set.
CodeWriterSettings::create(ISyntaxGrammar::PHP, $indent = 0)
1 . Variable Component
$variable = VariableComponent::create("var")->setValue("Is Name", "string")->writeComponent(); OUTPUT: $var = 'Is Name';
Constants:
$constant = VariableComponent::create("TEST")->setValue("VALUE 1")->makeConstant()->writeComponent(); OUTPUT: const TEST = 'VALUE 1';
2 . Array Component
$array = ArrayComponent::create("what_is_this", TRUE) ->setValue([ "string" => "is game", "number" => 2, "bool" => FALSE, ]) ->writeComponent(); OUTPUT: $what_is_this = [ 'string' => 'is game', 'number' => 2, 'bool' => false, ];
3 . Function Component
$function = FunctionComponent::create("myFunction") ->setAccessIdentifier(BaseComponent::ACCESS_PUBLIC) ->setParameters([ArrayComponent::create("my_array"), $variable]) ->appendComponent($array) ->appendComponent($variable) ->writeComponent(); OUTPUT: /** * @param array $my_array * @param string $val */ public function myFunction(array $my_array, $val = 'Is Name') { $what_is_this = [ 'string' => 'is game', 'number' => 2, 'bool' => false, ]; $nischal = 'Is Name'; }
4 . Class Component
$class = ClassComponent::create('TestController') ->setExtends("Controller") ->appendComponent($variable) ->appendComponent($constant) ->appendBlankLine() ->appendComponent($array) ->appendBlankLine() ->appendComponent($function) ->writeComponent(); OUTPUT: /** * Class TestController */ class TestController extends Controller { $var = 'Is Name'; const TEST = 'VALUE 1'; $what_is_this = [ 'string' => 'is game', 'number' => 2, 'bool' => false, ]; /** * @param array $my_array * @param string $val */ public function myFunction(array $my_array, $val = 'Is Name') { $what_is_this = [ 'string' => 'is game', 'number' => 2, 'bool' => false, ]; $nischal = 'Is Name'; } }
nbasnet/php-codewriter 适用场景与选型建议
nbasnet/php-codewriter 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 450 次下载、GitHub Stars 达 0, 最近一次更新时间为 2017 年 02 月 06 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 nbasnet/php-codewriter 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 nbasnet/php-codewriter 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 450
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 8
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2017-02-06