Download the PHP package edmondscommerce/php-generic without Composer

On this page you can find all versions of the php package edmondscommerce/php-generic. 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 php-generic

This is a Fork

Please see original: https://github.com/d0niek/php-generic

This is now becoming more of a pure wrapper for php-ds to allow generating of typed implementations of the php-ds data structures.

Currently there is only Vector, though more might be added as we need them

PHPStan

Currently seeing some issues with PHPStan, suggest the following ignore errors:


Original README

Prepare for future with php-generic

According to this article which shows how to create strictly typed arrays and collections in Php7, php-generic generator was born.


There is some discusion about generic in Php but who knows when it comes to us.

It is not exacly what you know from Java or C++ where generic looks like Vector<int>(), Array<bool>() or Vector<\Namespace\Entity\User>().

Here generics looks like VectorInt, ArrayBool and VectorUser so I hope when they come to nativ Php all what you need to do will be:

  1. Replace all VectorType, ArrayType to Vector<Type>, array<Type>,
  2. Delete directory where you store all generated array/vector,
  3. Enjoy a nice day.

What generics are (not)

They are not collections like Doctrine or Laravel Collections. They are like normal php array which can store values one type. array<int> can store only numeric values which will converted to int so you can not push 'some string value' to it.

Install

Generate generic array<Type>

There is a bin command that you should find in vendor/bin or somewhere else according to your composer.json settings.

To generate a generic array run:

where:

For example you have project in /path/to/project and your composer.json contains this kind of entry:

Now, when you call command like this:

new generic array ArrayInt will be save to /path/to/project/src/Collections/ directory. If this directory does not exists, exceptions will be throw.

Tip! Store all php-generics in one diretory and add it to .gitignore. When php will start support generics, replace ArrayInt to array<int> and remove php-generic directory.

Generate generic Vector<Type>

You can alse generate generic \Ds\Vector (it is new data structure since Php7, here you can and you should read about it!). To do this just run:

parameters means exacly the same whats means when you run generate:array.

Regenerate

By defaule generated array/vector are save in generated-colletions.json file in your root app path. Keep this file in repository and ignore all generated php-generics. When you clone repository, after composer install run:

and all your collections will be regenerate.

Select data from DB

Now you can create in easy way specific generic when you are selecting data from DB

Test

Before you run tests remember to regenerate collections. Run:

and now you can run


All versions of php-generic with dependencies

PHP Build Version
Package Version
Requires php Version ^7.2
symfony/console Version ^3.2|^4.2
ext-ds Version *
ext-json Version *
edmondscommerce/typesafe-functions Version ^0.2
php-ds/php-ds Version ^1.2
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 edmondscommerce/php-generic contains the following files

Loading the files please wait ....