Dotkernel API is a PHP skeleton app for building REST APIs based on Mezzio microframework and Laminas components which implements standards like PSR-3, PSR-4, PSR-7, PSR-11 and PSR-15.
Dotkernel API is an alternative for legacy Laminas API Tools (formerly Apigility) applications and is based on Enrico Zimuel's Zend Expressive API - Skeleton example.
Live demo.
Documentation is available at: https://docs.dotkernel.org/api-documentation/
Using your terminal, navigate inside the directory you want to download the project files into. Make sure that the directory is empty before proceeding to the download process. Once there, run the following command:
git clone https://github.com/dotkernel/api.git .composer installDo not enable development mode in production!
If you're installing the project for development, you should enable development mode by running:
composer development-enableYou can disable development mode by running:
composer development-disableYou can check the development status by running:
composer development-status- duplicate
config/autoload/cors.local.php.distasconfig/autoload/cors.local.php<- if your API is consumed by another application, make sure configure theallowed_origins - duplicate
config/autoload/local.php.distasconfig/autoload/local.php - optional: to run/create tests, duplicate
config/autoload/local.test.php.distasconfig/autoload/local.test.php<- this creates a new in-memory database that your tests will run on
Use an existing empty one or create a new MariaDB/MySQL database.
Recommended collation:
utf8mb4_general_ci.
With a database created, fill out the database connection params in config/autoload/local.php under $databases['default'].
Create a new migration by running:
php ./vendor/bin/doctrine-migrations diffThe new migration file will be placed in src/Core/src/App/src/Migration/.
Execute a new migration by running:
php ./vendor/bin/doctrine-migrations migrateThis command will prompt you to confirm that you want to run it:
WARNING! You are about to execute a migration in database "
<database>" that could result in schema changes and data loss. Are you sure you wish to continue? (yes/no) [yes]:
Hit Enter to confirm the operation.
Fixtures are used to seed the database with initial values and must be executed after migrating the database.
To list all the fixtures, run:
php ./bin/doctrine fixtures:listThis will output all the fixtures in the order of execution.
To execute all fixtures, run:
php ./bin/doctrine fixtures:executeTo execute a specific fixture, run:
php ./bin/doctrine fixtures:execute --class=FixtureClassNameMore details on how fixtures work can be found in dotkernel/dot-data-fixtures documentation.
If your application sends emails, you must configure an outgoing mail server under config/autoload/mail.global.php.
Run the following command in your project's directory to start PHPs built-in server:
php -S 0.0.0.0:8080 -t publicRunning command
composer servewill do the same thing, but the server will time out after a couple of minutes.
Sending a GET request to the application's home page should output the following message:
{
"message": "Dotkernel API version 6"
}