Download the PHP
package baethon/union without Composer
On this page you can find all versions of the php package
baethon/union. It is possible to download/install
these versions without Composer. Possible dependencies are resolved
automatically.
Vendor baethon Package union Short Description Union type for PHP License
MIT
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.
I'm not good with words, yet folks from Folktale describe it nicely:
Modelling data is important for a range of reasons. From performance to correctness to safety. Tagged unions give you a way of modelling choices that forces the correct handling of them, unlike predicate-based branching, such as the one used by if statements and other common control flow structures.
Installation
Usage
To create a tag union it's required to create a class which extends Baethon\Union\AbstractUnion.
Also you need to define tags which will represent state of the union.
Signatures
Each tag has a definition (called signature), which can be defined using following syntax:
Parameters define whether a tag will hold any value(s) (called arguments). They're optional.
Working with unions
Union can be invoked using static constructor:
To work with the state of the union you should use matchWith(). It will return the value returned by the matching callback:
matchWith() will check if all possible branches are mapped:
if a tag is not covered by map UnderflowException will be thrown
if map covers more tags than defined ones it will throw 'OverflowException'.
It's possible to use wildcard map to cover all other cases:
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 baethon/union contains the following files
Loading the files please wait ....
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.