All Projects β†’ t1st3 β†’ generator-composer

t1st3 / generator-composer

Licence: MIT license
🐘 Yeoman (http://yeoman.io) generator for a PHP Composer project

Programming Languages

javascript
184084 projects - #8 most used programming language
PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to generator-composer

Kontent Delivery Sdk Php
Kentico Kontent Delivery SDK for PHP
Stars: ✭ 41 (+156.25%)
Mutual labels:  packagist, composer
Packeton
πŸ“¦ Private, self-hosted Packagist/Composer/Satis repository with unlimited private repos.
Stars: ✭ 115 (+618.75%)
Mutual labels:  packagist, composer
Packagist Mirror
Alibaba Cloud Packagist Mirror
Stars: ✭ 63 (+293.75%)
Mutual labels:  packagist, composer
Awesome Composer
😎 A curated awesome list for Composer, Packagist, Satis, Plugins, Scripts, Composer related resources, tutorials.
Stars: ✭ 738 (+4512.5%)
Mutual labels:  packagist, composer
Hprose Php
Hprose is a cross-language RPC. This project is Hprose 3.0 for PHP
Stars: ✭ 1,952 (+12100%)
Mutual labels:  packagist, composer
Id Card
身份证号树ιͺŒεŠδΏ‘ζ―θŽ·ε–
Stars: ✭ 14 (-12.5%)
Mutual labels:  packagist, composer
Satis Server
🐳 Private, self-hosted Composer/Satis repository with unlimited private and open-source packages and support for Git, Mercurial, and Subversion. HTTP API, HTTPs support, webhook handler, scheduled builds, Slack and HipChat integration.
Stars: ✭ 96 (+500%)
Mutual labels:  packagist, composer
Repman
Repman - PHP Repository Manager: packagist proxy and host for private packages
Stars: ✭ 277 (+1631.25%)
Mutual labels:  packagist, composer
Ansible Role Composer
Ansible Role - Composer PHP Dependency Manager
Stars: ✭ 149 (+831.25%)
Mutual labels:  packagist, composer
Laravel Paket
Composer GUI. Manage Laravel dependencies from web interface without switching to command line!
Stars: ✭ 143 (+793.75%)
Mutual labels:  packagist, composer
Composer Mirror
Composer ε…¨ι‡ι•œεƒε‘εΈƒδΊŽ2017εΉ΄3ζœˆοΌŒζ›ΎδΈι—΄ζ–­θΏθ‘Œ2εΉ΄ε€šγ€‚θΏ™δΈͺεΌ€ζΊζœ‰εŠ©δΊŽη†θ§£ Composer ι•œεƒηš„ε·₯δ½œεŽŸη†
Stars: ✭ 607 (+3693.75%)
Mutual labels:  packagist, composer
Asset Packagist
Asset Packagist
Stars: ✭ 235 (+1368.75%)
Mutual labels:  packagist, composer
Local Php Security Checker
PHP security vulnerabilities checker
Stars: ✭ 482 (+2912.5%)
Mutual labels:  packagist, composer
Packagist Mirror
Creates Packagist.org mirror site.
Stars: ✭ 32 (+100%)
Mutual labels:  packagist, composer
Performance
⏱ PHP performance tool analyser your script on time, memory usage and db query. Support Laravel and Composer for web, web console and command line interfaces.
Stars: ✭ 429 (+2581.25%)
Mutual labels:  packagist, composer
Keygen Php
A fluent PHP random key generator.
Stars: ✭ 93 (+481.25%)
Mutual labels:  packagist, composer
client-php
Official NFe.io API Client for PHP
Stars: ✭ 36 (+125%)
Mutual labels:  packagist, composer
Acf Pro Installer
A composer install helper for Advanced Custom Fields PRO
Stars: ✭ 265 (+1556.25%)
Mutual labels:  packagist, composer
Security Advisories
A database of PHP security advisories
Stars: ✭ 1,740 (+10775%)
Mutual labels:  packagist, composer
Private Composer Installer
Composer install helper outsourcing sensitive keys from the package URL into environment variables
Stars: ✭ 168 (+950%)
Mutual labels:  packagist, composer

generator-composer

NPM version Dependency Status devDependency Status Build Status Percentage of issues still open

About

A generator for Yeoman.

It provides a basic boilerplate for a Composer project, which features:

The proposed Grunt build for the generated Composer project has the following tasks:

  • PHPLint to review quality of code
  • PHPUnit to run tests
  • automatic creation of a PhpDocumentor documentation
  • Usage of Php Copy/Paste Detector
  • Automatic versioning of all the project when version is modified in package.json

The generated PHP project does not rely on any other PHP dependency than Composer and Packagist-installed packages (e.g. no PEAR dependency).

Installation

You must have Nodejs and NPM installed.

Then, to install Yeoman globally from npm, run:

npm install -g yo

Finally, to install generator-composer globally from npm, run:

npm install -g generator-composer

You may also just install it locally:

npm install generator-composer

Usage of the generator

Once you have installed Node, NPM, Yeoman and the generator itself, you can initiate the generator:

yo composer

Yeoman will ask you 3 questions:

  1. your github account (e.g. gitAccount)
  2. the name of the repository on Github (e.g. php-my-super-package)
  3. the name of the main PHP class of your project (e.g. mySuperPackage)

Build dependencies of your generated PHP project

In order to build your generated Composer project from its source, you will need Grunt and PHP on the command line.

So, you must install PHP5 on your system on your command line. Test it:

php --help

To install Grunt globally on the command line (and run the above build task), run:

npm install -g grunt-cli

Then, with Grunt, you can install Composer locally. Just run once:

grunt init

Then, you can install PhpDocumentor, PhpUnit and PhpCPD locally. Just run once:

php composer.phar install -v

Finally, you should also install the PHP extension named Xdebug, which will be used by PhpUnit for code coverage.

Build the sources of your generated PHP project

Once all your dependencies are installed, you can build your project with Grunt:

grunt build

The build process will run the following tasks:

  • PhpLint: runs php -l over the "src" folder
  • Runs the tests located in the "tests" folder with PHPUnit
  • Generates a PhpDocumentor documentation in the "doc" folder from the files of the "src" folder
  • Detects copy/paste of code in the files of the "src" folder with PhpCPD

Publish your generated project on Packagist

The generated PHP is ready-to-publish on Packagist. Just login on Packagist with Github, add the Packagist hooks to your Github account, and activate your package on Packagist.

Build the generator from its sources

The generator itself can be built from its sources. At the moment, the build process only includes syntax checks with JSHint and JSCS.

In order to build the generator from its source, you will need Grunt. To install Grunt globally on the command line (and run the above build task), run:

npm install -g grunt-cli

Just run the grunt task in the folder where your generator is installed:

grunt

Dev dependencies Status Built with Grunt

Todos

  • Try to get a livereload process for the generated project (maybe with grunt-php)
  • More comments in the code
  • Include a changelog generator in the build process of the generated code

Credits

License

This generator is released under the MIT License.

Analytics

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].