Skip to content

Commit 373f3e5

Browse files
authored
Merge pull request #36 from dotkernel/issue-27
Issue 27 - fixed
2 parents 3793bb5 + fcea8aa commit 373f3e5

253 files changed

Lines changed: 1890 additions & 1471 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

config/autoload/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
local.php
22
*.local.php
3+
local.test.php

public/css/app.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

public/llms-content/dotkernel-api/dotkernel-api-1-0-0-released.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
---
2-
title: "DotKernel API 1.0.0 Released"
3-
description: "Announcement of the DotKernel API 1.0.0 release, a Zend Expressive 3 application for quickly building APIs, including the libraries it uses and the features it offers out of the box."
2+
title: "Dotkernel API 1.0.0 Released"
3+
description: "Announcement of the Dotkernel API 1.0.0 release, a Zend Expressive 3 application for quickly building APIs, including the libraries it uses and the features it offers out of the box."
44
author: "Alex Karajos"
55
date_published: "2019-12-15"
66
canonical_url: "https://www.dotkernel.com/dotkernel-api/dotkernel-api-1-0-0-released/"
77
category: "Dotkernel API"
88
language: "en"
99
---
1010

11-
# DotKernel API 1.0.0 Released
11+
# Dotkernel API 1.0.0 Released
1212

1313
> Note: Dotkernel API has come a long way since this post was created; a newer version is documented separately.
1414
15-
DotKernel API 1.0.0 was just released.
15+
Dotkernel API 1.0.0 was just released.
1616

17-
## What is DotKernel API?
17+
## What is Dotkernel API?
1818

1919
It is a Zend Expressive 3 application aiming to help developers quickly and efficiently develop an API.
2020

@@ -36,7 +36,7 @@ Under the hood, it uses the following libraries:
3636

3737
## What Does It Offer?
3838

39-
Out-of-the-box, DotKernel API provides the following features:
39+
Out-of-the-box, Dotkernel API provides the following features:
4040

4141
- Secure authentication via OAuth2
4242
- Two user roles: admin and member
@@ -46,18 +46,18 @@ Out-of-the-box, DotKernel API provides the following features:
4646

4747
## FAQ
4848

49-
**Q: What is DotKernel API?**
49+
**Q: What is Dotkernel API?**
5050
A: It is a Zend Expressive 3 application aiming to help developers quickly and efficiently develop an API.
5151

52-
**Q: What key libraries does DotKernel API 1.0.0 use?**
52+
**Q: What key libraries does Dotkernel API 1.0.0 use?**
5353
A: Among others, it's built on the `ezimuel/zend-expressive-api` skeleton, and uses `dotkernel/dot-annotated-services` for dependency injection, `dotkernel/dot-console` for console applications, `dotkernel/dot-errorhandler` for error logging, `dotkernel/dot-mail` for SMTP email, `zend-expressive-authentication-oauth2` for OAuth2 authentication, `zend-expressive-authorization-rbac` for role-based permissions, and `swagger-api/swagger-ui` for OpenAPI 3 documentation.
5454

55-
**Q: What features does DotKernel API 1.0.0 offer out of the box?**
55+
**Q: What features does Dotkernel API 1.0.0 offer out of the box?**
5656
A: Secure authentication via OAuth2, two user roles (admin and member), where admins can manage any user account and members can manage only their own, plus OpenAPI 3 documentation with an interactive interface developers can use to integrate the API.
5757

5858
## Resources
5959

60-
- [DotKernel API 1.0.0 release on GitHub](https://github.com/dotkernel/api/releases/tag/v1.0.0)
60+
- [Dotkernel API 1.0.0 release on GitHub](https://github.com/dotkernel/api/releases/tag/v1.0.0)
6161
- [ezimuel/zend-expressive-api](https://github.com/ezimuel/zend-expressive-api)
6262
- [dotkernel/dot-annotated-services](https://github.com/dotkernel/dot-annotated-services)
6363
- [dotkernel/dot-console](https://github.com/dotkernel/dot-console)

public/llms-content/dotkernel-api/dotkernel-api-client-side-authorization.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
---
2-
title: "DotKernel API Client Side Authorization"
3-
description: "How a client application authorizes against a backend built with DotKernel API, from the authorization request to using the access token."
2+
title: "Dotkernel API Client Side Authorization"
3+
description: "How a client application authorizes against a backend built with Dotkernel API, from the authorization request to using the access token."
44
author: "admin"
55
date_published: "2019-08-05"
66
canonical_url: "https://www.dotkernel.com/dotkernel-api/dotkernel-api-client-side-authorization/"
77
category: "Dotkernel API"
88
language: "en"
99
---
1010

11-
# DotKernel API Client Side Authorization
11+
# Dotkernel API Client Side Authorization
1212

13-
This article covers the basic authorization of a Client application which uses a backend built using DotKernel API.
13+
This article covers the basic authorization of a Client application which uses a backend built using Dotkernel API.
1414

1515
## Authorization Request
1616

@@ -55,4 +55,4 @@ A: When sending API requests to an endpoint that requires authorization, include
5555

5656
## Resources
5757

58-
- [DotKernel API on GitHub](https://github.com/dotkernel/api)
58+
- [Dotkernel API on GitHub](https://github.com/dotkernel/api)

public/llms-content/dotkernel-api/dotkernel-api-server-side-authorization.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
---
2-
title: "DotKernel API Server Side Authorization"
3-
description: "How to configure server-side authorization in DotKernel API, covering no-auth, authentication and authorization access levels, role inheritance, and route permissions."
2+
title: "Dotkernel API Server Side Authorization"
3+
description: "How to configure server-side authorization in Dotkernel API, covering no-auth, authentication and authorization access levels, role inheritance, and route permissions."
44
author: "Alex Karajos"
55
date_published: "2019-09-05"
66
canonical_url: "https://www.dotkernel.com/dotkernel-api/dotkernel-api-server-side-authorization/"
77
category: "Dotkernel API"
88
language: "en"
99
---
1010

11-
# DotKernel API Server Side Authorization
11+
# Dotkernel API Server Side Authorization
1212

1313
## TL;DR
1414

15-
DotKernel API endpoints can be protected at three levels: no-auth, authentication, and authorization.
15+
Dotkernel API endpoints can be protected at three levels: no-auth, authentication, and authorization.
1616
Access is configured in `config/autoload/authorization.local.php` under the `zend-expressive-authorization-rbac` key, using a `roles` section for role inheritance and a `permissions` section for route access.
1717
Authentication endpoints require a valid Bearer token and return `401 Unauthorized` if it's missing, while authorization endpoints additionally check role permissions and return `403 Forbidden`.
1818

19-
This article covers the basic authorization of a Server Side application built using [DotKernel API](https://github.com/dotkernel/api).
19+
This article covers the basic authorization of a Server Side application built using [Dotkernel API](https://github.com/dotkernel/api).
2020

2121
## Protecting an Endpoint
2222

public/llms-content/dotkernel-api/dotkernel-api-versus-laminas-api-tools.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: "DotKernel API versus Laminas API Tools"
2+
title: "Dotkernel API versus Laminas API Tools"
33
description: "A feature-by-feature comparison of Laminas API Tools and Dotkernel API, showing why Dotkernel API is a solid alternative now that Laminas API Tools is archived."
44
author: "Florin Bidirean"
55
date_published: "2024-06-03"
@@ -8,15 +8,15 @@ category: "Dotkernel API"
88
language: "en"
99
---
1010

11-
# DotKernel API versus Laminas API Tools
11+
# Dotkernel API versus Laminas API Tools
1212

1313
## TL;DR
1414

1515
This article compares the basic features of Laminas API Tools and Dotkernel API side by side, covering architecture, versioning, documentation, authentication, and more.
1616
It highlights that Dotkernel API is a solid alternative now that Laminas API Tools has been archived, since Dotkernel API uses a modern middleware architecture, MIT license, and evolution-based deprecations instead of traditional versioning.
1717

18-
Below is an analysis of the basic features available in Laminas API Tools and DotKernel API.
19-
It's intended to highlight the differences between the two and also to showcase why DotKernel API is a good alternative for Laminas API Tools, especially considering the latter's archived status.
18+
Below is an analysis of the basic features available in Laminas API Tools and Dotkernel API.
19+
It's intended to highlight the differences between the two and also to showcase why Dotkernel API is a good alternative for Laminas API Tools, especially considering the latter's archived status.
2020

2121
> The table below refers to [Dotkernel API V7](https://github.com/dotkernel/api/tree/7.0).
2222

public/llms-content/dotkernel-api/how-to-implement-mailchimp-in-dotkernel-api.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
---
2-
title: "How to implement MailChimp in DotKernel API"
3-
description: "A step-by-step guide to integrating MailChimp into a DotKernel API instance using the drewm/mailchimp-api library, from installation to wiring up a factory in the ConfigProvider."
2+
title: "How to implement MailChimp in Dotkernel API"
3+
description: "A step-by-step guide to integrating MailChimp into a Dotkernel API instance using the drewm/mailchimp-api library, from installation to wiring up a factory in the ConfigProvider."
44
author: "Alex Karajos"
55
date_published: "2020-01-04"
66
canonical_url: "https://www.dotkernel.com/dotkernel-api/how-to-implement-mailchimp-in-dotkernel-api/"
77
category: "Dotkernel API"
88
language: "en"
99
---
1010

11-
# How to implement MailChimp in DotKernel API
11+
# How to implement MailChimp in Dotkernel API
1212

1313
## TL;DR
1414

15-
This is a step-by-step guide to adding MailChimp support to a DotKernel API instance using the `drewm/mailchimp-api` library.
15+
This is a step-by-step guide to adding MailChimp support to a Dotkernel API instance using the `drewm/mailchimp-api` library.
1616
It covers installing the library, creating a MailChimp config file, building a factory that returns a `DrewM\MailChimp\MailChimp` instance, and registering that factory in `ConfigProvider.php` so it can be injected wherever needed.
1717

18-
This article will walk you through the process of implementing MailChimp into your instance of [DotKernel API](https://github.com/dotkernel/api) using [drewm/mailchimp-api](https://github.com/drewm/mailchimp-api).
18+
This article will walk you through the process of implementing MailChimp into your instance of [Dotkernel API](https://github.com/dotkernel/api) using [drewm/mailchimp-api](https://github.com/drewm/mailchimp-api).
1919

2020
Step 1: Add the library to your application using the following command:
2121

public/llms-content/dotkernel-api/openapi-implementation-in-dotkernel-api.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,11 @@ It's even more beneficial if the documentation is integrated with a developer po
5656
This helps maintain existing functionality when changes are implemented.
5757
- Helps troubleshooting: it defines the correct functionality that helps developers and maintainers find and fix bugs more effectively.
5858

59-
## OpenAPI in DotKernel API
59+
## OpenAPI in Dotkernel API
6060

61-
DotKernel API has full support for OpenAPI, from describing the endpoints and generating the documentation, to rendering and testing the endpoints.
61+
Dotkernel API has full support for OpenAPI, from describing the endpoints and generating the documentation, to rendering and testing the endpoints.
6262

63-
Each module (Admin, App, User) in DotKernel API contains a file named `OpenAPI.php`.
63+
Each module (Admin, App, User) in Dotkernel API contains a file named `OpenAPI.php`.
6464
In this file you must document all of the endpoints from `RoutesDelegator.php`.
6565
The entries in `OpenAPI.php` have several descriptive items, the most important being method, request and response.
6666
These are used to generate a documentation file from the command line.
@@ -81,7 +81,7 @@ These are below:
8181
Read more details about the above [here](https://docs.dotkernel.org/api-documentation/v5/openapi/initialized-components/).
8282

8383
Once you have your basic components defined, you can begin work on the endpoints.
84-
The endpoints already made available in DotKernel API are documented, so you must do the same for the new endpoints you create in your project.
84+
The endpoints already made available in Dotkernel API are documented, so you must do the same for the new endpoints you create in your project.
8585
This is done by defining these items:
8686

8787
- the request object (Get, Post, Patch, Put, Delete)

public/llms-content/dotkernel/adding-a-cors-implementation-to-zend-expressive.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: "Adding a CORS implementation to Zend Expressive"
3-
description: "A guide on how to add a CORS implementation to an existing DotKernel3 project using Tuupola's Cors Middleware package."
3+
description: "A guide on how to add a CORS implementation to an existing Dotkernel3 project using Tuupola's Cors Middleware package."
44
author: "Gabi DJ"
55
date_published: "2019-04-08"
66
canonical_url: "https://www.dotkernel.com/dotkernel/adding-a-cors-implementation-to-zend-expressive/"
@@ -12,7 +12,7 @@ language: "en"
1212

1313
## TL;DR
1414
When a client-side request is blocked with a "No 'Access-Control-Allow-Origin' header" error, it's because the server isn't sending the header that allows a browser to access its data (most common when fetching JSON to process with JavaScript).
15-
This guide adds CORS support to a Zend Expressive / DotKernel3 project using Tuupola's Cors Middleware package.
15+
This guide adds CORS support to a Zend Expressive / Dotkernel3 project using Tuupola's Cors Middleware package.
1616

1717
## The issue
1818

public/llms-content/dotkernel/adding-composer-support-in-your-dotkernel-project.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
---
2-
title: "Adding Composer support in your DotKernel project"
3-
description: "The steps needed to add Composer support to a DotKernel 1.x project, or 'composify' it."
2+
title: "Adding Composer support in your Dotkernel project"
3+
description: "The steps needed to add Composer support to a Dotkernel 1.x project, or 'composify' it."
44
author: "Gabi DJ"
55
date_published: "2016-04-04"
66
canonical_url: "https://www.dotkernel.com/dotkernel/adding-composer-support-in-your-dotkernel-project/"
77
category: "Dotkernel"
88
language: "en"
99
---
1010

11-
# Adding Composer support in your DotKernel project
11+
# Adding Composer support in your Dotkernel project
1212

1313
## TL;DR
1414
Composer is an application-level package manager that auto-loads dependencies (and custom classes) on demand.
15-
This article covers the steps needed to add a composer.json file to a DotKernel project, run `composer update`, and safely require the generated autoloader so the project works whether or not Composer is present.
15+
This article covers the steps needed to add a composer.json file to a Dotkernel project, run `composer update`, and safely require the generated autoloader so the project works whether or not Composer is present.
1616

1717
## First things first
1818

19-
The DotKernel project must have a **composer.json** file so that Composer can work.
19+
The Dotkernel project must have a **composer.json** file so that Composer can work.
2020
It should look like this:
2121

2222
```json
@@ -41,15 +41,15 @@ This file makes sure:
4141

4242
The dependencies provided in the `require` section are also loaded for development purposes if not provided in `require-dev`.
4343

44-
In order to have these components installed, run the following command in your DotKernel root path:
44+
In order to have these components installed, run the following command in your Dotkernel root path:
4545

4646
```shell
4747
composer update
4848
```
4949

5050
If the `vendor` folder is present, Composer will check for updates and update the packages as needed. If the `vendor` folder does not exist, Composer will create it, containing all the requested packages, along with an autoload file used to load the dependencies/packages.
5151

52-
## Adding Composer Support to DotKernel
52+
## Adding Composer Support to Dotkernel
5353

5454
The autoload file created by Composer is used to load the packages:
5555

@@ -85,15 +85,15 @@ $myDependency = new MyDependency($neededArguments);
8585
$myDependency->doSomething();
8686
```
8787

88-
This article works for any **DotKernel 1.x** version if your server is running **PHP >5.4.0**.
88+
This article works for any **Dotkernel 1.x** version if your server is running **PHP >5.4.0**.
8989

9090
## FAQ
9191

9292
**Q: What does Composer do?**
9393
A: Composer is an application-level package manager.
9494
It auto-loads dependencies on demand and can also auto-load custom classes.
9595

96-
**Q: What must a DotKernel project have before Composer can be used?**
96+
**Q: What must a Dotkernel project have before Composer can be used?**
9797
A: A composer.json file, for example requiring zendframework/zendframework1 at 1.12.* and mobiledetect/mobiledetectlib at 2.8.*, plus PHP >=5.4.0 listed under require-dev.
9898

9999
**Q: What happens when you run composer update?**
@@ -103,10 +103,10 @@ If it doesn't exist, Composer creates the vendor folder containing all requested
103103
**Q: How do you safely load the Composer autoloader in case Composer isn't present?**
104104
A: Check whether vendor/autoload.php exists using file_exists() before calling require_once() on it, and handle the case gracefully (for example by loading fallbacks) if the path is missing.
105105

106-
**Q: Which DotKernel versions does this apply to?**
107-
A: The article states it works for any DotKernel 1.x version, as long as the server is running PHP greater than 5.4.0.
106+
**Q: Which Dotkernel versions does this apply to?**
107+
A: The article states it works for any Dotkernel 1.x version, as long as the server is running PHP greater than 5.4.0.
108108

109109
## Resources
110110

111111
- [Composer install / PHP dependency manager tutorial](https://www.codementor.io/php/tutorial/composer-install-php-dependency-manager)
112-
- [Using DotKernel with Composer dependencies](http://www.dotkernel.com/dotkernel/using-dotkernel-…ser-dependencies/)
112+
- [Using Dotkernel with Composer dependencies](http://www.dotkernel.com/dotkernel/using-dotkernel-…ser-dependencies/)

0 commit comments

Comments
 (0)