Download the PHP package liyuze/method-chaining-proxy without Composer

On this page you can find all versions of the php package liyuze/method-chaining-proxy. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package method-chaining-proxy

PHP 方法链式调用代理

Latest Version on Packagist Total Downloads PHP Composer

流式接口(fluent interface)是软件工程中面向对象API的一种实现方式,以提供更为可读的源代码。方法链式调用(method chaining)是流式接口的一种实现。 在 PHP 中的实现方式是在类的方法返回值中返回 $thisnew static() 来实现方法链式调用。

本扩展包尝试解决:

  1. 传统返回值(无 return 或有 return 的值非本类对象)下实现链式调用。
  2. 通过"强制"忽略(tap 模式)或关注(pipe 模式)返回值实现更加灵活的链式调用。
  3. 优化控制语句(if/switch/foreach/while)对链式调用在代码层级中断。

关于代码提示:PHPStorm 暂不支持在@template 时同时使用 @mixin 语句 ,所以无法实现代码自动提示功能。如果你有更好实现代码提示的方法,欢迎与我联系~😃 !!!过度使用本包可能影响代码的可读性和增加程序调试难度,建议在简单的逻辑中使用。

灵感

灵感来源于 laravel 的 tappipe 方法。

安装

你可以通过 composer 进行安装:

用例

快速创建代理器

mixed 代理器

创建代理器

默认创建的是 mixedMode 的代理器,特点是如果调用的方法没有返回值或返回值是null时不会更新代理器的代理值。

tap 模式代理器

也可以通过 tapMode() 方法创建一个忽略任何返回值,代理器值一直不变的值代理器。

pipe 模式代理器

也可以通过 pipeMode() 方法创建一个接受任何返回值代理器。

切换代理器模式

可以通过 'switchMixedMode()'、'switchTapMode()'、'switchPipeMode()' 方法来切换代理器的代理模式。

可以使用 mixedtappipe 属性访问方式来调用对应的切换代理方法。

如果临时切换代理模式的情况,可以通过'tapOnce()'、'pipeOnce()'制定,所制定的调用方法仅会生效一次。

可以使用 tapOncepipeOnce 属性访问方式来调用对应的单次切换代理方法。

摘取

可以通过 pick() 方法在方法链式调用过程中通过引用传值的方法获取某个属性值。

对于方法的值,可以通过 methodPick() 来摘取。

后置操作

通过调用 after() 方法传入一个闭包来执行自定义的代码功能,它也支持链式调用。

闭包的第一个参数是当前代理器 代理值,如果闭包有返回值且不为null时将会更新代理器的代理值。

If 逻辑代理器

当给定的判定值为真时才会运行后续方法链的代理器。

也可以通过 ControlChainingFactory::unless() 创建一个判定值为假时才会运行后续方法链的代理器。

Switch 逻辑代理器

当给定的判定值与 caseChaining() 传入的值相等时才会运行后续方法链的代理器。

通过 breakChaining() 中断以后代码的执行。

breakChaining(2) 方法支持传入要中断的循环层级数量,中断效果只针对 MethodChainingProxy 类嵌套有效,不兼容原生的控制语句。

通过 `defaultChaining() 指定默认要执行的代码。

示例类

测试

修改记录

点击 CHANGELOG 查看最近修改了哪些内容。

贡献

点击 CONTRIBUTING 查看详情

安全

如果您发现任何与安全相关的问题,请发送电子邮件[email protected]而不是使用问题追踪器。

贡献值

开源协议

The MIT License (MIT)。点击 License File 查看更多信息。

PHP Package 模板

本扩展包使用 PHP Package Boilerplate 工具生成,该工具由 Beyond Code 提供。


All versions of method-chaining-proxy with dependencies

PHP Build Version
Package Version
Requires php Version ^8.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package liyuze/method-chaining-proxy contains the following files

Loading the files please wait ....