Nextpack (light)
, (*1)
NextPack is a PHP & Laravel Packages Starter, (Designed to help building high quality PHP Packages faster)., (*2)
Clone NextPack and build your next open source package on top of it., (*3)
NextPack strives to facilitates and boosts the development process of PHP Packages. And it highly recommend producing framework agnostic packages., (*4)
Produce more open source composer packages with the least amount of time., (*5)
, (*6)
, (*7)
Highlights
Nextpack includes:, (*8)
-
Rich package skeleton, (containing common files required by almost every PHP package)
- Ready Unit Test
- Ready config files reader
- Ready Servie Provider (for Laravel)
- Ready Facade Class (for Laravel)
- Version Control: Git (
.gitattributes, .gitignore)
- Continuous Integration: Travis and Scrutinizer (
.scrutinizer.yml, .travis.yml)
- Testing: PHPUnit (
phpunit.xml)
- Package Manager: Composer (
composer.json)
, (*9)
Installation
Software Requirement
Installation Steps
git clone https://github.com/nextpack/nextpack.git
composer update
- make sure everything is OK by running the tests
phpunit
, (*10)
Customization
After you install a fresh copy of Nextpack, the only thing you need to do is customizing it to meet your needs, before start codig your package., (*11)
The steps include renaming the code samples shipped with the Nextpack:, (*12)
- Change the namespace of the application from
Nextpack\Nextpack to your Vendor-name\Package-name. (you can do this using the [Replace All] feature of your IDE).
- Update the following values in
composer.json: name, description, keywords, authors, autoload and don't forget to update the namespaces. (you might need to run composer dump-autoload after the changes).
- Run
composer install
- Rename
SampleFacadeAccessor.php and update the returned string inside the getFacadeAccessor() function.
- Rename
NextpackServiceProvider and update the content of the following functions: facadeBindings(), configPublisher() and implementationBindings().
- Update the config file
nextpack.php, (or remove it if not necessary).
- Delete this
README.md file. And rename the README.md.READY to README.md.
- Update
LICENSE by replacing ::Vendor-Name and ::Package-Name with your vendor and package names.
- Edit the new
README.md
- Delete the sample
tests function. Keep the TestCase.php.
- Update the "testsuite" name in the
phpunit.xml.
Test
To run the tests, run the following command from the project folder., (*13)
bash
$ ./vendor/bin/phpunit, (*14)
Credits
License
The MIT License (MIT). See the License File for more information., (*15)