Download the PHP package janit/typescript-generator-bundle without Composer

On this page you can find all versions of the php package janit/typescript-generator-bundle. 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 typescript-generator-bundle

PHP Classes to TypeScript Interfaces Generator Bundle

A Symfony bundle that adds a command to extract TypeScript interface from PHP classes. Based on the example from Martin Vseticka this bundle uses the PHP-Parser library and annotations. This is currently very basic feature wise, but it does work.

TypeScript is a superscript of JavaScript that adds strong typing and other features on top of JS. Automatically generated classes can be useful, for example when using a simple JSON API to communicate to a JavaScript client. This way you can get typing for your API responses in an easy way.

This is currently tightly coupled to the Symfony Framework, but could be extracted. Feel free to build on this or use as inspiration to build something completely different.

Installation

As a Symfony bundle you'll need to start by add the package to your project with composer:

After this you'll need to activate the bundle in your app/AppKernel.php file:

Once this is done you should have the added command in place in your console and you can run:

This will yield an error because the command expects fromDir as a parameter on where to scan for PHP classes.

NOTE: These instructions are for Symfony Standard Edition (3.3), but the bundle should work with Symfony Flex as well.

Usage

The command scans directories recursively for all .php files. It will only generate Type Definitions (interfaces) for files with appropriate annotations.

To generate interfaces, create a new class in src/AppBundle/Entity/Person.php and enter the following:

Once this is in place you can run the command with the argument src/:

This will generate the following file typescript/Person.d.ts with the following content:

If you provide another argument (toDir) you can change the target directory to something else.


All versions of typescript-generator-bundle with dependencies

PHP Build Version
Package Version
Requires nikic/php-parser Version ^3.1.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 janit/typescript-generator-bundle contains the following files

Loading the files please wait ....