/phpenalva

PHPenalva is a lightweight PHP framework designed for developing web applications and straightforward APIs. It provides a streamlined structure and essential tools to facilitate rapid development and efficient code management.

Primary LanguagePHPMIT LicenseMIT

PHPenalva 𓅓

logomarca

Overview

PHPenalva is a lightweight PHP micro-framework designed on the Model-View-Controller (MVC) architecture.
Built with simplicity in mind, PHPenalva empowers you to swiftly create APIs and web applications.

Note: This project is currently under construction. Please bear with us as we work to make it even better.

Requirements

PHP Version: PHP 7.4 or higher is required.
Web Server: You'll need a web server with URL rewriting enabled.
Supported Servers: PHPenalva plays nicely with Apache, Nginx, and IIS.
Database Compatibility: PHPenalva is compatible with MySQL, MariaDB, PostgreSQL, and SQLite.

Platform: PHPenalva can be used on Linux, Windows, and macOS.

Installation

Getting started with PHPenalva is a breeze.
You can install it via Composer with the following command in your project directory:
composer create-project hiyan/phpenalva your_project_name

Routes Example

Here are some example routes that you can define in your PHPenalva application:

Route with views:

  • GET /posts: List all posts. Access it in your browser to view the posts.
  • GET /post/{id}: View details of a specific post. Replace {id} with the desired post ID in the URL.

  • Route without views:

  • POST /post: Create a new post. Send a POST request to this route with the required parameters to create a new post.
  • PUT /post/{id}: Update an existing post. Send a PUT request to this route with the required parameters to update an existing post. Replace {id} with the desired post ID in the URL.
  • DELETE /post/{id}: Delete an existing post. Send a DELETE request to this

    Authenticated Routes:
    To use route authentication in PHPenalva, add 'auth' to your route definition. For example: $route[] = ['GET', '/posts', 'PostController@index', 'auth'];. To access an authenticated route, you must log in via the /api/login route. If you don't have an account, create one using /user/create. You can then log in to your account via /api/login. After logging in, you'll receive an access token. You can use this token to access authenticated routes. To do so, add the token to the Authorization header of your request. For example: Authorization: Bearer {token}. Replace {token} with the access token you received after logging in. You can also use the token as a query parameter. For example: /posts?token={token}. Replace {token} with the access token you received after logging in.

    Documentation

    Our comprehensive documentation is readily available at {{TODO}}.
    We're continually working on enhancing it to help you make the most of PHPenalva's features.

    Contributing

    PHPenalva is an open-source project, and we warmly welcome contributions from the community.
    Whether it's bug fixes, new features, or improvements, your input is valuable to us.
    Please see our CONTRIBUTING.md for guidelines on how to contribute.

    License

    PHPenalva is released under the MIT License. For more details, please refer to the LICENSE file.
    If you need any assistance or have questions, don't hesitate to reach out to us.

    Thank you for choosing PHPenalva for your development needs! Enjoy coding with PHPenalva! 🚀🌐