Download the PHP package lgouttefange/beavor without Composer

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

Not speaking Baguette ? Find the english doc right there

Beavor

Parce qu'ils voulaient pas que que je l'appelle PerCaster

Beavor ça fait quoi

Ca permet d'éviter ça

En castant un retour d'API (ou n'importe quel array / stdClass en fait) en un DTO réalisé juste avant.

Avantages

Utilisation

Pour rappel : un exemple d'usage tout simple :

Ou on peut appeler statiquement (dans les TODO : gérer avec PHPdoc ou autre un moyen de pas afficher le warning) :

En passant une nouvelle instance de la classe DTO :

Ou bien la classe même (auquel cas assurez vous d'avoir un constructeur optionnel) :

En passant un tableau :

Ou un objet :

Ou même le JSON brut :

Ou un objet :

Un DTO peut contenir d'autres DTO :

Si le DTO enfant n'est pas défini dans la classe, alors on a un stdClass :

Pour définir le DTO enfant, utilisez l'annotation de PhpDoc sur le champ concerné :

Ca fonctionne aussi avec les collections d'objet :

Le DTO

Exemple de DTO :

  1. Le caster utilise en priorité les setters (ex: le dummySetterProperty)
  2. Cependant vous pouvez définir la propriété publique et ne pas définir de setter (ex: le dummyProperty)
  3. Si la propriété est protégée et sans setter, elle ne sera jamais touchée (ex: le unaccessibleProperty)
  4. Lors du casting aucune propriété n'est rajoutée au DTO. Il n'a que ce qui lui est défini

Generation de DTO

Si vous avez beaucoup de champs dans votre DTO, que vous avez beaucoup de classes, ou les deux, utilisez le script de génération de DTO !

On vous demandera :

  1. Le nom de classe (ex: CniUploadResponseDto)
  2. Le namespace (ex: \Beavor\Dto)
  3. Le JSON minifié de la réponse à transformer

Les fichiers seront automatiquement générés dans votre arborescence directement, avec une détection des racines PSR-4 pour que vous n'ayez plus rien à toucher.

Par défaut, tous les Dto sont générés avec des getters et des champs publics.


All versions of beavor with dependencies

PHP Build Version
Package Version
Requires php-di/phpdoc-reader Version ^2.1
symfony/console Version >=3.0
nette/php-generator Version ^2.6
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 lgouttefange/beavor contains the following files

Loading the files please wait ....