# Search

Search

Loading search index…

No recent searches

No results for "Query here"

# Introduction

## About#

Welcome to the official documentation of pionia - `/ˌpʌɪəˈnɪə/` framework. Pionia is a PHP Rest Framework that is truly RESTful. It is designed to be simple, lightweight, and easy to use. Pionia is built on top of the Moonlight architecture, which is a powerful architecture for powering highly scaling REST projects. Pionia provides a set of tools and conventions that make it easy to build RESTful APIs in PHP.

This framework was born at Service Cops - East Africa by JET and is maintained by the same team. The framework is open-source and is released under the MIT license.

Documentation organisation.

- MoonLight Architecture
- Tutorial
- App Structure
- Requests And Responss
- Middleware
- Security - Authentication and Authorization
- Services and Actions
- Database and Querying

### Get Started#

Start with a TO-DO api tutorial

You can quickly get started with our To-Do API tutorial. This guide introduces you to the both the framework and the Moonlight architecture. It is the recommended way to start your pionia jungle journey.

## Why Pionia?#

There are various reasons why pionia stands out from other PHP frameworks. From program performance, developer performance, to maintainability, pionia has got you covered.

You can read more about Why Pionia here.

## Installation#

###### Pre-requisites#

- PHP 8.0 or higher preferably 8.1. You can download PHP from php.net
- Any web server (Apache, Nginx, etc.) for production
- Composer
- Any RDBMS of Postgres, MySQL/MariaDB, Oracle, Sybase, MSSQL or SQLite

Note: This guide assumes you have Composer installed and running globally. If you don’t, you can download it from getcomposer.org or use the Composer Docker image.

Nginx configurationss

This is just a sample configuration. You can modify it to suit your needs. But make sure your configuration points to the `index.php` file of your project.

    # ...rest of your configurations
    #  projet_name [replace this with your project name]
        location /projet_name {
            alias /var/www/html/project_name;
            try_files $uri $uri/ @project_name;
        }

        location @project_name {
            rewrite /project_name/(.*)$ /project_name/index.php?/$1 last;
       }

    # ... rest of your configurations

## Contributing#

However, the framework is maintained by a dedicated team and welcomes you as our next contributor on any of our related projects.

You can contribute to the framework, documentation or by helping us grow the community through writing articles, tutorials, and sharing your experience with the framework on any media platform.

> The framework itself strips off all the unnecessary features that are found in other frameworks and leaves you with only what you need to build a RESTful API. This means you can also contribute by building plugins and extensions that can be used with the framework.

If you want to contribute to this documentation, you can find the source code on GitHub.

Please read the contributing guidelines before contributing.

Please note that this project is released with a Contributor Code of Conduct