PHP Classes

Ala PHP API Micro-Framework: Generate base code for API using a query builder

Recommend this page to a friend!
     
  Info   Example   View files Files   Install with Composer Install with Composer   Download Download   Reputation   Support forum   Blog    
Last Updated Ratings Unique User Downloads Download Rankings
2023-12-02 (10 months ago) RSS 2.0 feedNot enough user ratingsTotal: 78 All time: 10,145 This week: 33Up
Version License PHP version Categories
ala-microframework-p 7.0.1Custom (specified...7.1Libraries, Web services, Code Generation, D..., T..., P...
Description 

Author

This package can generate a base code for API using a query builder.

It uses the Lumen package and the query builder to generate base code for an API that implements simple CRUD operations automatically.

The package also generates code to implement unit and feature testing.

Innovation Award
PHP Programming Innovation award winner
November 2023
Winner
Nowadays, many PHP applications are APIs that serve mobile applications.

These applications follow common implementation patterns that make the code of different applications look very similar.

This fact makes the code of this type of application an excellent candidate to be at least in part generated by tools that depart from simple definitions and develop all the code necessary to run the applications.

This package implements a code generation tool that can generate code to implement an API that implements CRUD operations using the Lumen package and the query builder to customize the details of the CRUD operations.

It also generates code to implement the application unit and feature testing to help verify the quality of the API application.

Manuel Lemos
Picture of Leonardo Di Sarli
  Performance   Level  
Name: Leonardo Di Sarli <contact>
Classes: 11 packages by
Country: Brazil Brazil
Age: ???
All time rank: 3841309 in Brazil Brazil
Week rank: 47 Up3 in Brazil Brazil Up
Innovation award
Innovation award
Nominee: 5x

Winner: 2x

Example

<?php

$router
->get(
   
'/',
    [
       
'uses' => 'HealthApiController@process',
    ]
);

$router->get(
   
'/health',
    [
       
'uses' => 'HealthApiController@process',
    ]
);

$router->get(
   
'/health/key',
    function () {
        return \
Illuminate\Support\Str::random(32);
    }
);


Details

Lumen ALA

Latest Version codecov CI Build Downloads PRs Welcome Packagist License (custom server)

API Rest based in lumen using query builder that auto generate base code for simple crud (with automatic generated 100% unit and feature tests).

Release 7.0.0 Requires PHP 8.3

Release 6.0.0 Requires PHP 8.2

Release 5.0.0 Requires PHP 8.1

Release 4.0.0 Requires PHP 7.4

Release 3.0.0 Requires PHP 7.3

Release 2.0.0 Requires PHP 7.2

Release 1.0.0 Requires PHP 7.1

Installation

composer create-project and enter in the created folder (you can fork or clone the repository if you want to)

composer create-project not-empty/ala-microframework-php your_project_name

(optional) Stop all other containers to avoid conflict.

docker stop $(docker ps -q)

Start project with Docker using compose tool.

docker-compose up -d

Access the container

docker exec -it ala-php bash

Run Composer to install all dependencies.

composer install --prefer-dist

Ensure the composer install create the cache folders and give then permissions in ./storage, if don't you'll have to create and give permitions yourself:

mkdir storage/framework \
&& mkdir storage/framework/cache \
&& mkdir storage/framework/cache/data \
&& mkdir storage/framework/sessions \
&& mkdir storage/framework/views \
&& chmod -R 777 ./storage

To check the build for this project look at ./ops/docker/dev folder.

Copy and modify the .env file

cp .env.example .env

Include values for APP_KEY and JWT_APP_SECRET, we strongly recommend a 26 to 32 length random string (can be a ulid)

You can use /health/key uri to generate this keys.

Now you can access the health-check http://localhost:8101 and get a json response like this:

{
    "status": "online",
    "version": "0.0.1"
}

Requests samples

You can find a sample of requests you can do in the file requests.http (for the REST Client extension on VSCode) or using curl commands listed in the file requests.curl.

Not all requests are documented yet (Work in progress)

Creating your automatic crud domain

For create your brand new domain with a complete crud use the command:

php artisan create:domain {your_domain}

This command will create a folder in app/Domains, new files in routes, database/migrations and database/seeds folder with all base code including all the units and feature tests.

If your domain name has 2 words use underline (_) to separate.

Configuring your new Domain

  • Configure your migration file in `database/migrations` with all your fields and indexes
  • Open your domain and configure your fields and the order in `app/Domains/{your_domain}/Http/Parameters`
  • Your validator rules can be configured in `app/Domains/{your_domain}/Http/Validators`
  • You can modify or add more business rule in `app/Domains/{your_domain}/Businesses`
  • Or your routes in `bootstrap/{your_domain}_routes` folder

Running your Migration

  • Once you have configured your migration file in `database/migrations`;
  • Run the migration
php artisan migration

Ulid

For primary key value, this project using Ulid value, but you can pass other pattern in insert route if you prefer.

JWT

In auth route this projet use JWT lib. This token will be generate if your secret, token and context is correct. This configuration is the token.php file in app/config/ folder.

We strongly advise you to change these values, they can be either random strings, ulids or any string that you like.

We use to generate then by encrypting an ulid v4 with SHA512/256.

We recommend creating diferents tokens from diferents sources.

return [
    'data' => [
        '32c5a206ee876f4c6e1c483457561dbed02a531a89b380c3298bb131a844ac3c' => [ // default token
            'name' => 'app-test', // default context
            'secret' => 'a1c5930d778e632c6684945ca15bcf3c752d17502d4cfbd1184024be6de14540', // default secret
        ],
    ],
];

Request Service

To make request between two or more services, this project use Request Service lib.

Response

The pattern used to return all request is json and the layout is configure in your Response lib.

Custom Validators

I you want to implement custom validators you can use the regex function and add you regex to the patterns file /app/Constants/PatternsConstants.php and then just use anywhere but dont forget to declare the class for use:

use App\Constants\PatternsConstants;

Filters

Follow this steps to configure a new field to accepted a filter in list route

  • In your domain validators list file `app/Domains/{your_domain}/Http/Validators/{your_domain}ListValidator` you can change or add more filters options.

For example, to add a filter to age field just include a new entry like that

/
 * get rules for this request
 * @return array
 */
public function getRules() : array
{
    return [
        'class' => 'string|in:"asc","desc"',
        'fields' => 'string',
        'order' => 'string',
        'page' => 'integer|min:1',
        'filter_name' => [
            'string',
            'regex:'.PatternsConstants::FILTER,
        ],
        // here your new filter
        'filter_age' => [
            'string',
            'regex:'.PatternsConstants::FILTER,
        ],
    ];
}

After that, you need to configure your filters in app/Domains/{your_domain}/Filters.

you can user various patterns like FILTER_EQUAL, FILTER_NOT_EQUAL, etc.

Check all types look at FiltersTypesConstants class in app/Constants.

/
 * set filter rules for this domain
 */
public $filter = [
    'age' => [
        'validate' => 'integer|min:18|max:99',
        'permissions' => [
            FiltersTypesConstants::FILTER_EQUAL,
            FiltersTypesConstants::FILTER_NOT_EQUAL,
        ],
    ],
    'created' => [
        'validate' => 'date',
        'permissions' => [
            FiltersTypesConstants::FILTER_LESS_THAN,
            FiltersTypesConstants::FILTER_GREATER_THAN,
            FiltersTypesConstants::FILTER_GREATER_THAN_OR_EQUAL,
            FiltersTypesConstants::FILTER_LESS_THAN_OR_EQUAL,
        ],
    ],
    'modified' => [
        'validate' => 'date',
        'permissions' => [
            FiltersTypesConstants::FILTER_LESS_THAN,
            FiltersTypesConstants::FILTER_GREATER_THAN,
            FiltersTypesConstants::FILTER_GREATER_THAN_OR_EQUAL,
            FiltersTypesConstants::FILTER_LESS_THAN_OR_EQUAL,
        ],
    ],
];

After that you can send this param in url query, for example:

/{your_domain}/list?filter_name=lik,vitor OR /{your_domain}/list?filter_name=eql,vitor.

Recomendations

Use this project with MySql with no relationship keys and NOT use JOIN.

Production

Don't forget to change APP_ENV to production value. This enable the op_cache PHP extension, so dont use in development environment.

The production docker is located in ops/docker/prod and you can change the Nginx config or PHP all the way you want.

Development

Want to contribute? Great!

Make a change and be careful with your updates! Any new code will only be accepted with all validations.

To ensure that the entire project is fine:

First install the dependences (with development ones)

composer install --dev --prefer-dist

Second run all validations

composer checkall

You can run all validations plus test coverage metrics

composer checkallcover

Code Quality

We create this project under stricts good pratices rules. Bellow you can see some composer commands to validate the framework code and your code as well.

We recommend you aways run the composer checkallcover command to validate all your code, tests and coverage.

lint - check for sintax errors on PHP (PHP Lint)

composer lint

cs - check for smells in general (Code Snifer)

composer cs

mess - check for smells in a more deep way (Mess Detector)

composer mess

test - run all tests (Unit and Feature)

composer test

test-cover - run all tests with code coverage (Unit and Feature)

composer test-cover

test-unit - run all unit tests

composer test-unit

test-unit-cover - run all unit tests with code coverage

composer test-unit-cover

test-feat - run all feature tests

composer test-feat

test-feat-cover - run all feature tests with code coverage

composer test-feat-cover

ccu - check unit coverage level (100% is required)

composer ccu

ccf - check feature coverage level (100% is required)

composer ccf

check - execute lint, cs, mess and unit tests

composer check

checkcover - execute lint, cs, mess and unit tests with coverage

composer check

checkall - execute lint, cs, mess, unit and feature tests

composer check

checkall - execute lint, cs, mess, unit and feature tests with coverage

composer check

Sonarqube

This project is also validated with Sonarqube, has a sonar-project.properties file to support sonarqube execution.

To do that, edit the sonar-project.properties with your sonar url (maybe something like http://192.168.0.2:9900 if you running sonar in your machine), and then execute sonar scan.

Sonarqube results

Automatic Validation Before Commit

If you want to force the checkallcover in your project before commit, you can just copy the file ops/contrib/pre-commit to your .git/hook. Be aware your development environment will need to have PHP with xdebug installed in order to commit.

    cp ops/contrib/pre-commit .git/hooks/pre-commit
    chmod +x .git/hooks/pre-commit

Random Seed Data

You can create an automatic seeder to generate data using you add endpoint to tests purposes (or any other purpose you like).

To do that you must create a random seeder with the command:

php artisan random:create {domain_name}

It will create a file inside app/Seeds/ with your domain name with all possibilities.

You may change to fullfill your needs (and your domain validations)

Now you may configure on .env the SEED_URLand SEED_PORT environments. (if you want to run inside docker don't change at all).

And run your seed with the domain name and the amount to records to generate.

php artisan random:seed {domain_name} {number_of_records}

Then use the list endpoint, or make a select in database to see the results.

Not Empty Foundation - Free codes, full minds


  Files folder image Files (150)  
File Role Description
Files folder image.github (1 directory)
Files folder imageapp (9 directories)
Files folder imagebootstrap (3 files)
Files folder imageconfig (6 files)
Files folder imageops (2 files, 3 directories)
Files folder imagepublic (1 file)
Files folder imageresources (1 directory)
Files folder imageroutes (2 files)
Files folder imagetests (3 directories)
Accessible without login Plain text file .dockerignore Data Auxiliary data
Accessible without login Plain text file .env.example Data Auxiliary data
Accessible without login Plain text file artisan Example Example script
Accessible without login Plain text file composer.json Data Auxiliary data
Accessible without login Plain text file composer.lock Data Auxiliary data
Accessible without login Plain text file docker-compose.yml Data Auxiliary data
Accessible without login Plain text file LICENSE Lic. License text
Accessible without login Plain text file phpcs.xml Data Auxiliary data
Accessible without login Plain text file phpmd.xml Data Auxiliary data
Accessible without login Plain text file README.md Doc. Documentation
Accessible without login Plain text file requests.curl Data Auxiliary data
Accessible without login Plain text file requests.http Data Auxiliary data
Accessible without login Plain text file sonar-project.properties Data Auxiliary data

  Files folder image Files (150)  /  .github  
File Role Description
Files folder imageworkflows (1 file)

  Files folder image Files (150)  /  .github  /  workflows  
File Role Description
  Accessible without login Plain text file php.yml Data Auxiliary data

  Files folder image Files (150)  /  app  
File Role Description
Files folder imageBusinesses (1 file)
Files folder imageConsole (1 file, 2 directories)
Files folder imageConstants (2 files)
Files folder imageDomains (2 directories)
Files folder imageExceptions (1 file, 1 directory)
Files folder imageHttp (5 directories)
Files folder imageProviders (2 files)
Files folder imageRepositories (1 file)
Files folder imageUtils (1 file)

  Files folder image Files (150)  /  app  /  Businesses  
File Role Description
  Plain text file BaseBusiness.php Class Class source

  Files folder image Files (150)  /  app  /  Console  
File Role Description
Files folder imageCommands (5 files)
Files folder imageStubs (11 directories)
  Plain text file Kernel.php Class Class source

  Files folder image Files (150)  /  app  /  Console  /  Commands  
File Role Description
  Plain text file BaseCommand.php Class Class source
  Plain text file CreateDomainCommand.php Class Class source
  Plain text file MigrateTemplateCommand.php Class Class source
  Plain text file RandomSeedCreateCommand.php Class Class source
  Plain text file RandomSeedIndexCommand.php Class Class source

  Files folder image Files (150)  /  app  /  Console  /  Stubs  
File Role Description
Files folder imageBusinesses (8 files)
Files folder imageControllers (8 files)
Files folder imageFilters (1 file)
Files folder imageMigrations (1 file)
Files folder imageParameters (1 file)
Files folder imageRepositories (8 files)
Files folder imageRoutes (1 file)
Files folder imageSeeds (1 file)
Files folder imageTestFeatureControllers (8 files)
Files folder imageTestUnitBusinesses (8 files)
Files folder imageValidators (5 files)

  Files folder image Files (150)  /  app  /  Console  /  Stubs  /  Businesses  
File Role Description
  Plain text file business.add.stub Class Class source
  Plain text file business.bulk.stub Class Class source
  Plain text file business.dead_detail.stub Class Class source
  Plain text file business.dead_list.stub Class Class source
  Plain text file business.delete.stub Class Class source
  Plain text file business.detail.stub Class Class source
  Plain text file business.edit.stub Class Class source
  Plain text file business.list.stub Class Class source

  Files folder image Files (150)  /  app  /  Console  /  Stubs  /  Controllers  
File Role Description
  Plain text file controller.add.stub Class Class source
  Plain text file controller.bulk.stub Class Class source
  Plain text file controller.dead_detail.stub Class Class source
  Plain text file controller.dead_list.stub Class Class source
  Plain text file controller.delete.stub Class Class source
  Plain text file controller.detail.stub Class Class source
  Plain text file controller.edit.stub Class Class source
  Plain text file controller.list.stub Class Class source

  Files folder image Files (150)  /  app  /  Console  /  Stubs  /  Filters  
File Role Description
  Plain text file filters.stub Class Class source

  Files folder image Files (150)  /  app  /  Console  /  Stubs  /  Migrations  
File Role Description
  Plain text file table.create.stub Class Class source

  Files folder image Files (150)  /  app  /  Console  /  Stubs  /  Parameters  
File Role Description
  Plain text file parameters.stub Class Class source

  Files folder image Files (150)  /  app  /  Console  /  Stubs  /  Repositories  
File Role Description
  Plain text file repository.add.stub Class Class source
  Plain text file repository.bulk.stub Class Class source
  Plain text file repository.dead_detail.stub Class Class source
  Plain text file repository.dead_list.stub Class Class source
  Plain text file repository.delete.stub Class Class source
  Plain text file repository.detail.stub Class Class source
  Plain text file repository.edit.stub Class Class source
  Plain text file repository.list.stub Class Class source

  Files folder image Files (150)  /  app  /  Console  /  Stubs  /  Routes  
File Role Description
  Accessible without login Plain text file route.stub Example Example script

  Files folder image Files (150)  /  app  /  Console  /  Stubs  /  Seeds  
File Role Description
  Plain text file seed.create.stub Class Class source

  Files folder image Files (150)  /  app  /  Console  /  Stubs  /  TestFeatureControllers  
File Role Description
  Plain text file test.controller.add.stub Class Class source
  Plain text file test.controller.bulk.stub Class Class source
  Plain text file test.controller.dead_detail.stub Class Class source
  Plain text file test.controller.dead_list.stub Class Class source
  Plain text file test.controller.delete.stub Class Class source
  Plain text file test.controller.detail.stub Class Class source
  Plain text file test.controller.edit.stub Class Class source
  Plain text file test.controller.list.stub Class Class source

  Files folder image Files (150)  /  app  /  Console  /  Stubs  /  TestUnitBusinesses  
File Role Description
  Plain text file test.unit.business.add.stub Class Class source
  Plain text file test.unit.business.bulk.stub Class Class source
  Plain text file test.unit.business.dead_detail.stub Class Class source
  Plain text file test.unit.business.dead_list.stub Class Class source
  Plain text file test.unit.business.delete.stub Class Class source
  Plain text file test.unit.business.detail.stub Class Class source
  Plain text file test.unit.business.edit.stub Class Class source
  Plain text file test.unit.business.list.stub Class Class source

  Files folder image Files (150)  /  app  /  Console  /  Stubs  /  Validators  
File Role Description
  Plain text file validator.add.stub Class Class source
  Plain text file validator.bulk.stub Class Class source
  Plain text file validator.dead_list.stub Class Class source
  Plain text file validator.edit.stub Class Class source
  Plain text file validator.list.stub Class Class source

  Files folder image Files (150)  /  app  /  Constants  
File Role Description
  Plain text file FiltersTypesConstants.php Class Class source
  Plain text file PatternsConstants.php Class Class source

  Files folder image Files (150)  /  app  /  Domains  
File Role Description
Files folder imageAuth (2 directories)
Files folder imageHealth (1 directory)

  Files folder image Files (150)  /  app  /  Domains  /  Auth  
File Role Description
Files folder imageBusinesses (1 file)
Files folder imageHttp (2 directories)

  Files folder image Files (150)  /  app  /  Domains  /  Auth  /  Businesses  
File Role Description
  Plain text file AuthGenerateBusiness.php Class Class source

  Files folder image Files (150)  /  app  /  Domains  /  Auth  /  Http  
File Role Description
Files folder imageControllers (1 file)
Files folder imageValidators (1 file)

  Files folder image Files (150)  /  app  /  Domains  /  Auth  /  Http  /  Controllers  
File Role Description
  Plain text file AuthGenerateController.php Class Class source

  Files folder image Files (150)  /  app  /  Domains  /  Auth  /  Http  /  Validators  
File Role Description
  Plain text file AuthGenerateValidator.php Class Class source

  Files folder image Files (150)  /  app  /  Domains  /  Health  
File Role Description
Files folder imageHttp (1 directory)

  Files folder image Files (150)  /  app  /  Domains  /  Health  /  Http  
File Role Description
Files folder imageControllers (1 file)

  Files folder image Files (150)  /  app  /  Domains  /  Health  /  Http  /  Controllers  
File Role Description
  Plain text file HealthApiController.php Class Class source

  Files folder image Files (150)  /  app  /  Exceptions  
File Role Description
Files folder imageCustom (7 files)
  Plain text file Handler.php Class Class source

  Files folder image Files (150)  /  app  /  Exceptions  /  Custom  
File Role Description
  Plain text file DataNotFoundException.php Class Class source
  Plain text file FilterException.php Class Class source
  Plain text file InvalidCredentialsException.php Class Class source
  Plain text file NotAuthorizedException.php Class Class source
  Plain text file RouteNotFoundException.php Class Class source
  Plain text file SuffixRequiredException.php Class Class source
  Plain text file ValidationException.php Class Class source

  Files folder image Files (150)  /  app  /  Http  
File Role Description
Files folder imageControllers (1 file)
Files folder imageFilters (1 file)
Files folder imageMiddlewares (9 files)
Files folder imageParameters (1 file)
Files folder imageValidators (1 file)

  Files folder image Files (150)  /  app  /  Http  /  Controllers  
File Role Description
  Plain text file BaseController.php Class Class source

  Files folder image Files (150)  /  app  /  Http  /  Filters  
File Role Description
  Plain text file BaseFilters.php Class Class source

  Files folder image Files (150)  /  app  /  Http  /  Middlewares  
File Role Description
  Plain text file AuthenticateJwt.php Class Class source
  Plain text file BaseRequest.php Class Class source
  Plain text file Cors.php Class Class source
  Plain text file NewRelicLumen.php Class Class source
  Plain text file RequestFilters.php Class Class source
  Plain text file RequestParameters.php Class Class source
  Plain text file RequestStart.php Class Class source
  Plain text file RequestValidator.php Class Class source
  Plain text file SuffixTable.php Class Class source

  Files folder image Files (150)  /  app  /  Http  /  Parameters  
File Role Description
  Plain text file BaseParameters.php Class Class source

  Files folder image Files (150)  /  app  /  Http  /  Validators  
File Role Description
  Plain text file BaseValidator.php Class Class source

  Files folder image Files (150)  /  app  /  Providers  
File Role Description
  Plain text file AppServiceProvider.php Class Class source
  Plain text file NewRelicServiceProvider.php Class Class source

  Files folder image Files (150)  /  app  /  Repositories  
File Role Description
  Plain text file BaseRepository.php Class Class source

  Files folder image Files (150)  /  app  /  Utils  
File Role Description
  Plain text file FixPathUtil.php Class Class source

  Files folder image Files (150)  /  bootstrap  
File Role Description
  Plain text file app.php Class Class source
  Accessible without login Plain text file list_config.php Aux. Auxiliary script
  Accessible without login Plain text file list_routes.php Aux. Auxiliary script

  Files folder image Files (150)  /  config  
File Role Description
  Accessible without login Plain text file app.php Aux. Auxiliary script
  Accessible without login Plain text file newRelic.php Aux. Auxiliary script
  Accessible without login Plain text file seed.php Aux. Auxiliary script
  Accessible without login Plain text file suffix.php Aux. Auxiliary script
  Accessible without login Plain text file token.php Aux. Auxiliary script
  Accessible without login Plain text file version.php Aux. Auxiliary script

  Files folder image Files (150)  /  ops  
File Role Description
Files folder imagecontrib (3 files)
Files folder imagedocker (2 directories)
Files folder imagemysql-db (1 file)
  Accessible without login Plain text file folders.sh Data Auxiliary data
  Accessible without login Image file sonar.png Data Auxiliary data

  Files folder image Files (150)  /  ops  /  contrib  
File Role Description
  Accessible without login Plain text file coverage-checker.php Example Example script
  Accessible without login Plain text file pre-commit Data Auxiliary data
  Accessible without login Plain text file setup.sh Data Auxiliary data

  Files folder image Files (150)  /  ops  /  docker  
File Role Description
Files folder imagedev (2 directories)
Files folder imageprod (2 directories)

  Files folder image Files (150)  /  ops  /  docker  /  dev  
File Role Description
Files folder imagenginx (2 files)
Files folder imagephp-fpm (1 file)

  Files folder image Files (150)  /  ops  /  docker  /  dev  /  nginx  
File Role Description
  Accessible without login Plain text file default.conf Data Auxiliary data
  Accessible without login Plain text file Dockerfile Data Auxiliary data

  Files folder image Files (150)  /  ops  /  docker  /  dev  /  php-fpm  
File Role Description
  Accessible without login Plain text file Dockerfile Data Auxiliary data

  Files folder image Files (150)  /  ops  /  docker  /  prod  
File Role Description
Files folder imagenginx (2 files)
Files folder imagephp-fpm (1 file)

  Files folder image Files (150)  /  ops  /  docker  /  prod  /  nginx  
File Role Description
  Accessible without login Plain text file default.conf Data Auxiliary data
  Accessible without login Plain text file Dockerfile Data Auxiliary data

  Files folder image Files (150)  /  ops  /  docker  /  prod  /  php-fpm  
File Role Description
  Accessible without login Plain text file Dockerfile Data Auxiliary data

  Files folder image Files (150)  /  ops  /  mysql-db  
File Role Description
  Accessible without login Plain text file 01-database.sql Data Auxiliary data

  Files folder image Files (150)  /  public  
File Role Description
  Accessible without login Plain text file index.php Example Example script

  Files folder image Files (150)  /  resources  
File Role Description
Files folder imagelang (1 directory)

  Files folder image Files (150)  /  resources  /  lang  
File Role Description
Files folder imageen (1 file)

  Files folder image Files (150)  /  resources  /  lang  /  en  
File Role Description
  Accessible without login Plain text file validation.php Aux. Auxiliary script

  Files folder image Files (150)  /  routes  
File Role Description
  Accessible without login Plain text file auth_routes.php Example Example script
  Accessible without login Plain text file health_routes.php Example Example script

  Files folder image Files (150)  /  tests  
File Role Description
Files folder imageconfig (4 files)
Files folder imageFeature (1 file, 1 directory)
Files folder imageUnit (8 directories)

  Files folder image Files (150)  /  tests  /  config  
File Role Description
  Accessible without login Plain text file phpunit-feat-cover.xml Data Auxiliary data
  Accessible without login Plain text file phpunit-feat.xml Data Auxiliary data
  Accessible without login Plain text file phpunit-unit-cover.xml Data Auxiliary data
  Accessible without login Plain text file phpunit-unit.xml Data Auxiliary data

  Files folder image Files (150)  /  tests  /  Feature  
File Role Description
Files folder imageDomains (2 directories)
  Plain text file TestCaseFeature.php Class Class source

  Files folder image Files (150)  /  tests  /  Feature  /  Domains  
File Role Description
Files folder imageAuth (1 directory)
Files folder imageHealth (1 file)

  Files folder image Files (150)  /  tests  /  Feature  /  Domains  /  Auth  
File Role Description
Files folder imageControllers (1 file)

  Files folder image Files (150)  /  tests  /  Feature  /  Domains  /  Auth  /  Controllers  
File Role Description
  Plain text file AuthGenerateControllerTest.php Class Class source

  Files folder image Files (150)  /  tests  /  Feature  /  Domains  /  Health  
File Role Description
  Plain text file HealthApiControllerTest.php Class Class source

  Files folder image Files (150)  /  tests  /  Unit  
File Role Description
Files folder imageBusinesses (1 file)
Files folder imageDomains (1 directory)
Files folder imageFilters (1 file)
Files folder imageMiddleware (9 files)
Files folder imageParameters (1 file)
Files folder imageRepositories (1 file)
Files folder imageUtils (1 file)
Files folder imageValidators (1 file)

  Files folder image Files (150)  /  tests  /  Unit  /  Businesses  
File Role Description
  Plain text file BaseBusinessTest.php Class Class source

  Files folder image Files (150)  /  tests  /  Unit  /  Domains  
File Role Description
Files folder imageAuth (1 directory)

  Files folder image Files (150)  /  tests  /  Unit  /  Domains  /  Auth  
File Role Description
Files folder imageBusinesses (1 file)

  Files folder image Files (150)  /  tests  /  Unit  /  Domains  /  Auth  /  Businesses  
File Role Description
  Plain text file AuthGenerateBusinessTest.php Class Class source

  Files folder image Files (150)  /  tests  /  Unit  /  Filters  
File Role Description
  Plain text file BaseFiltersTest.php Class Class source

  Files folder image Files (150)  /  tests  /  Unit  /  Middleware  
File Role Description
  Plain text file AuthenticateJwtTest.php Class Class source
  Plain text file BaseRequestTest.php Class Class source
  Plain text file CorsMiddlewareTest.php Class Class source
  Plain text file NewRelicLumenTest.php Class Class source
  Plain text file RequestFiltersTest.php Class Class source
  Plain text file RequestParametersTest.php Class Class source
  Plain text file RequestStartTest.php Class Class source
  Plain text file RequestValidatorTest.php Class Class source
  Plain text file SuffixTableTest.php Class Class source

  Files folder image Files (150)  /  tests  /  Unit  /  Parameters  
File Role Description
  Plain text file BaseParametersTest.php Class Class source

  Files folder image Files (150)  /  tests  /  Unit  /  Repositories  
File Role Description
  Plain text file BaseRepositoryTest.php Class Class source

  Files folder image Files (150)  /  tests  /  Unit  /  Utils  
File Role Description
  Plain text file FixPathUtilTest.php Class Class source

  Files folder image Files (150)  /  tests  /  Unit  /  Validators  
File Role Description
  Plain text file BaseValidatorTest.php Class Class source

The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page.
Install with Composer Install with Composer
 Version Control Unique User Downloads Download Rankings  
 100%
Total:78
This week:0
All time:10,145
This week:33Up