Lite & fast micro PHP framework that is **easy to learn**.

Overview

Logo

Build Status Total Downloads Discord

Utopia Framework is a PHP MVC based framework with minimal must-have features for professional, simple, advanced and secure web development. This library is maintained by the Appwrite team.

Utopia Framework is dependency free. Any extra features such as authentication, caching will be available as standalone models in order to keep the framework core as clean, light any easy to learn.

Getting Started

Install using composer:

composer require utopia-php/framework

Init your first application:

require_once __DIR__ . '/../../vendor/autoload.php';

use Utopia\App;
use Utopia\Request;
use Utopia\Response;

App::get('/hello-world') // Define Route
    ->inject('request')
    ->inject('response')
    ->action(
        function($request, $response) {
            $response
              ->addHeader('Cache-Control', 'no-cache, no-store, must-revalidate')
              ->addHeader('Expires', '0')
              ->addHeader('Pragma', 'no-cache')
              ->json(['Hello' => 'World']);
        }
    );

App::setMode(App::MODE_TYPE_PRODUCTION); // Define Mode

$app        = new App('America/New_York');
$request    = new Request();
$response   = new Response();

$app->run($request, $response);

System Requirements

Utopia Framework requires PHP 7.3 or later. We recommend using the latest PHP version whenever possible.

More from Utopia

Our ecosystem support other thin PHP projects aiming to extend the core PHP Utopia framework.

Each project is focused on solving a single, very simple problem and you can use composer to include any of them in your next project.

Library Description
Utopia AB Simple PHP library for managing AB testing on the server side.
Utopia Abuse Simple PHP library for rate limiting usage of different features in your app or API.
Utopia Analytics Simple PHP library to send information about events or pageviews to Google Analytics.
Utopia Audit Simple PHP library for audit logging users actions and system events
Utopia Cache Simple PHP library for managing cache with different storage adapters.
Utopia CLI Simple PHP library for for building simple command line tools.
Utopia Config Simple PHP library for managing your app configuration.
Utopia Database Simple PHP library for managing application persistency. It supports multiple database adapters.
Utopia Domains Simple PHP library for parsing domain names.
Utopia Image Simple PHP library for creating common image manipulations that is easy to use.
Utopia Locale Simple PHP library for adding support to multiple locales in your app or API.
Utopia Preloader Simple PHP library for managing PHP preloading configuration.
Utopia Registry Simple PHP library for dependency injection and lazy loading of objects or resources.
Utopia System Simple PHP library for obtaining information about the host's system.
Utopia Storage Simple and lite PHP library for managing application storage. It supports multiple storage adapters.

Authors

Eldad Fux

Contributing

All code contributions - including those of people having commit access - must go through a pull request and approved by a core developer before being merged. This is to ensure proper review of all the code.

Fork the project, create a feature branch, and send us a pull request.

For security issues, please email [email protected] instead of posting a public issue in GitHub.

Testing

  • docker-compose up -d
  • docker-compose exec web vendor/bin/phpunit --configuration phpunit.xml
  • docker-compose exec web vendor/bin/psalm --show-info=true

Copyright and license

The MIT License (MIT) http://www.opensource.org/licenses/mit-license.php

Comments
  • Get expected types from validators

    Get expected types from validators

    This adds a new inherited method getType() which should return the primitive type of validated objects.

    todo:

    • [x] Length, Mock, Text, and URL validators don't have tests
    • [x] Numeric can accept a primitive int, float, or numeric string
    • [x] Range contains two integers, should getType() return integer?
    opened by kodumbeats 9
  • New signature for passing injections

    New signature for passing injections

    Attempt to make the route signature more verbose.

    Before:

    App::get('/hello-world') // Define Route
        ->action(
            function($request, $response) {
                $response
                  ->addHeader('Cache-Control', 'no-cache, no-store, must-revalidate')
                  ->addHeader('Expires', '0')
                  ->addHeader('Pragma', 'no-cache')
                  ->json(['Hello' => 'World']);
            }, ['request', 'response']);
    

    After:

    App::get('/hello-world') // Define Route
        ->inject('request')
        ->inject('response')
        ->action(
            function($request, $response) {
                $response
                  ->addHeader('Cache-Control', 'no-cache, no-store, must-revalidate')
                  ->addHeader('Expires', '0')
                  ->addHeader('Pragma', 'no-cache')
                  ->json(['Hello' => 'World']);
            });
    
    opened by eldadfux 4
  • Feat: Hostname validator

    Feat: Hostname validator

    Added a hostname validator that can be used instead of our current Text validator for hostnames. Key features:

    • Validates that port, protocol and route is not part of the hostname
    • Supports wildcard whitelists. matej.app.com is a valid hostname for pattern *.app.com

    This PR will be useful for Appwrite for:

    • Adding new platform
    • Preparing CORS for request

    This will let Appwrite validate if a platform was added properly, and add wildcard support.

    Tests added ✅

    opened by Meldiron 3
  • Add GitHub issue forms

    Add GitHub issue forms

    This PR adds 3 new issue forms as described in issue #27. Said issue forms are based on Appwrites issue templates as suggested in the issue, though re-worded to fit this repository and project.

    Testing of the issue forms can be found in a repository called issues-test. This is due to a GitHub limitation where issue templates located in branches cannot be used as templates. Therefore I created a new public repository to test with.

    Suggestions and improvements are welcome, have a wonderful day.


    bug.yaml

    Changed the Appwrite version to Utopia version and added the last 5 versions to the dropdown. Added a new PHP version dropdown for quick access to potential PHP versions. Choose to add 7.3 and 7.4 to the dropdown based on the composer.json PHP requirements.

    documentation.yaml

    Copied almost verbatim from Appwrites template, re-worded slightly, and removed the CoC checkbox since this repository currently doesn't have a CoC. Will add it back if requested.

    feature.yaml

    Not much difference between Appwrites and this. As with previous templates, it is only slightly re-worded.

    hacktoberfest-accepted 
    opened by thinkverse 3
  • Upgrade our issue templates to use GitHub issue forms ✍️

    Upgrade our issue templates to use GitHub issue forms ✍️

    Introduction

    GitHub has recently rolled out a public beta for their issue forms feature. This would allow you to create interactive issue templates and validate them 🤯.

    Appwrite currently uses the older issue template format. Your task is to create GitHub issue forms for this repository. Please use Appwrite's issue templates as a reference for this PR.

    Tasks summary:

    • [ ] Fork & clone this repository
    • [ ] Prepare bug report issue form in .github/ISSUE_TEMPLATE/bug.yaml
    • [ ] Prepare documentation issue form in .github/ISSUE_TEMPLATE/documentation.yaml
    • [ ] Prepare feature request issue form in .github/ISSUE_TEMPLATE/feature.yaml
    • [ ] Push changes to master and test issue forms on your fork
    • [ ] Submit pull request

    If you need any help, reach out to us on our Discord server.

    Are you ready to work on this issue? 🤔 Let us know, and we will assign it to you 😊

    Happy Appwriting!

    good first issue hacktoberfest 
    opened by Meldiron 3
  • 📚 Documentation: Where do I get the Documentation

    📚 Documentation: Where do I get the Documentation

    💭 Description

    Where do I get the 📚 Documentation ?

    I'm trying out this frameWork but can't seem to find it's documentation and features of the frameWork.

    👀 Have you spent some time to check if this issue has been raised before?

    • [X] I checked and didn't find similar issue

    🏢 Have you read the Code of Conduct?

    opened by kezenwa 2
  • Allow setting null route

    Allow setting null route

    Required for GraphQL to set the route to null after the graphql route execution is initiated, but before the corresponding rest API route is executed, to avoid early matching the graphql route.

    opened by abnegate 1
  • Implemented args resource

    Implemented args resource

    Such a feature is required to implement request filters in appwrite/appwrite. ::init method needs the ability to adjust parameters that are parsed into the controller's action.

    opened by Meldiron 1
  • Limited assoc to 64kB

    Limited assoc to 64kB

    This PR sets maximum limit for ASOC object to 64kB, so it can be stored as TEXT in database (255...65535).

    Related PR: https://github.com/appwrite/appwrite/pull/2486

    opened by Meldiron 1
  • fix: race condition for request/response resources

    fix: race condition for request/response resources

    On multithreaded environments, the request and response set in run(...) can run into a race condition when the static callback is called after a different request has overwritten its callback.

    This forces the resource to be set initially.

    opened by TorstenDittmann 0
  • Update error handler to include message from previous error

    Update error handler to include message from previous error

    Before, the logs provided very little context about what really happened:

    appwrite  | [Error] Type: Utopia\Exception
    appwrite  | [Error] Message: Error handler had an error
    appwrite  | [Error] File: /usr/src/code/vendor/utopia-php/framework/src/App.php
    appwrite  | [Error] Line: 610
    

    After this, at least, the message will include the underlying error:

    appwrite  | [Error] Type: Utopia\Exception
    appwrite  | [Error] Message: Error handler had an error: Can't find FULLTEXT index matching the column list
    appwrite  | [Error] File: /usr/src/code/vendor/utopia-php/framework/src/App.php
    appwrite  | [Error] Line: 610
    

    Related:

    • https://github.com/appwrite/appwrite/issues/4535
    opened by stnguyen90 0
  • Feat: Improve hostname validator

    Feat: Improve hostname validator

    Problems with previous solution:

    • Too complex

    • Allowed multiple wildcards like *.*.gitpod.io which is not allowed by standard

    • Wildcard only allowed one level of subdomain, not all of them

    • Wildcard was allowed in middle of domain like api.*.com and myapp.*. Again, not part of standard

    • [x] New logic implemented

    • [x] Tests updated

    opened by Meldiron 0
  • Issue-4370: Added Code Analyzer To utopia-php/framework

    Issue-4370: Added Code Analyzer To utopia-php/framework

    What

    This PR aims to resolve the issue https://github.com/appwrite/appwrite/issues/4370.

    How

    • Code Analyzer has been added to utopia-php/framework repository.
    • All existing files are fixed as per the PhpStan rules at Level 5.
    • PR Template has been followed as mentioned in https://github.com/utopia-php/ab/pull/8.

    Screenshots

    PhpStan Ananlysis

    Fixes https://github.com/appwrite/appwrite/issues/4370

    hacktoberfest-accepted 
    opened by Rutam21 2
  • W hat if I want to use external Router & Database class

    W hat if I want to use external Router & Database class

    Hello

    1. What do I have to do in order to use an external Router class like https://github.com/bramus/router.

    Reason is https://github.com/bramus/router has the features I needed + I couldn't find documentation of the router coupled with utopia PHP FrameWork.

    1. Also I don't use Composer, nor do I ever pray to. Could I just copy over the framework and include it ? Checked composer.json and found no external dependency, YET I couldn't find some of the decoupled utopia classes such as the webSocket class inside utopia FrameWork files. Are the decoupled Classes meant to be manually included when needed, or I'm missing something?

    2. How do I modify the HTTP class used by utopia PHP frameWork ? I presume it should be inside Request.php file. I want to be able to use https://github.com/stefangabos/Zebra_cURL in addition to what utopia PHP frameWork has got to offer.

    My interest in utopia frameWork is that it works using just NGINx without PHP-FPM.

    opened by kezenwa 0
Releases(0.25.1)
  • 0.25.1(Nov 23, 2022)

    What's Changed

    • CICD 4347 Add Code Linter by @aaryan2134 in https://github.com/utopia-php/framework/pull/81
    • fix: race condition for request/response resources by @TorstenDittmann in https://github.com/utopia-php/framework/pull/84

    New Contributors

    • @aaryan2134 made their first contribution in https://github.com/utopia-php/framework/pull/81

    Full Changelog: https://github.com/utopia-php/framework/compare/0.25.0...0.25.1

    Source code(tar.gz)
    Source code(zip)
  • 0.25.0(Nov 2, 2022)

    What's Changed

    • Wildcard route support by @lohanidamodar in https://github.com/utopia-php/framework/pull/83

    Full Changelog: https://github.com/utopia-php/framework/compare/0.24.0...0.25.0

    Source code(tar.gz)
    Source code(zip)
  • 0.24.0(Nov 1, 2022)

    What's Changed

    • Feat: Request->getHeaders() by @Meldiron in https://github.com/utopia-php/framework/pull/82

    Full Changelog: https://github.com/utopia-php/framework/compare/0.23.4...0.24.0

    Source code(tar.gz)
    Source code(zip)
  • 0.23.4(Oct 31, 2022)

    What's Changed

    • Add support for multiple aliases by @stnguyen90 in https://github.com/utopia-php/framework/pull/77

    Full Changelog: https://github.com/utopia-php/framework/compare/0.23.2...0.23.4

    Source code(tar.gz)
    Source code(zip)
  • 0.23.2(Oct 26, 2022)

    What's Changed

    • Update error handler to include message from previous error by @stnguyen90 in https://github.com/utopia-php/framework/pull/78
    • fix: error message in group error handlers by @christyjacob4 in https://github.com/utopia-php/framework/pull/80

    New Contributors

    • @stnguyen90 made their first contribution in https://github.com/utopia-php/framework/pull/78

    Full Changelog: https://github.com/utopia-php/framework/compare/0.23.1...0.23.2

    Source code(tar.gz)
    Source code(zip)
  • 0.23.1(Oct 19, 2022)

    What's Changed

    • Feat setter returns by @abnegate in https://github.com/utopia-php/framework/pull/76

    Full Changelog: https://github.com/utopia-php/framework/compare/0.23.0...0.23.1

    Source code(tar.gz)
    Source code(zip)
  • 0.23.0(Oct 19, 2022)

    What's Changed

    • Refactor-4393-remove-authors by @Aadeesh11 in https://github.com/utopia-php/framework/pull/74
    • Feat allow mutations by @abnegate in https://github.com/utopia-php/framework/pull/75

    New Contributors

    • @Aadeesh11 made their first contribution in https://github.com/utopia-php/framework/pull/74

    Full Changelog: https://github.com/utopia-php/framework/compare/0.22.1...0.23.0

    Source code(tar.gz)
    Source code(zip)
  • 0.22.1(Oct 7, 2022)

    What's Changed

    • fix: return type for getEnv by @TorstenDittmann in https://github.com/utopia-php/framework/pull/73

    Full Changelog: https://github.com/utopia-php/framework/compare/0.22.0...0.22.1

    Source code(tar.gz)
    Source code(zip)
  • 0.22.0(Oct 7, 2022)

    What's Changed

    • feat: overall improvements by @TorstenDittmann in https://github.com/utopia-php/framework/pull/72

    Full Changelog: https://github.com/utopia-php/framework/compare/0.21.1...0.22.0

    Source code(tar.gz)
    Source code(zip)
  • 0.21.1(Sep 7, 2022)

    What's Changed

    • Move labels to hook by @lohanidamodar in https://github.com/utopia-php/framework/pull/69
    • Updated return types fro self to static by @eldadfux in https://github.com/utopia-php/framework/pull/68

    Full Changelog: https://github.com/utopia-php/framework/compare/0.21.0...0.22.0

    Source code(tar.gz)
    Source code(zip)
  • 0.21.0(Aug 12, 2022)

    What's Changed

    • Feat disable route if response sent by @shimonewman in https://github.com/utopia-php/framework/pull/67

    New Contributors

    • @shimonewman made their first contribution in https://github.com/utopia-php/framework/pull/67

    Full Changelog: https://github.com/utopia-php/framework/compare/0.20.0...0.21.0

    Source code(tar.gz)
    Source code(zip)
  • 0.20.0(Aug 2, 2022)

    What's Changed

    • Feat graphql helpers by @abnegate in https://github.com/utopia-php/framework/pull/58
    • BREAKING Hooks by @lohanidamodar in https://github.com/utopia-php/framework/pull/64
    • make addRoute public by @lohanidamodar in https://github.com/utopia-php/framework/pull/61
    • Hook Unit test and Readme update by @lohanidamodar in https://github.com/utopia-php/framework/pull/65
    • Fix options hooks + Fix when init hooks modify request by @lohanidamodar in https://github.com/utopia-php/framework/pull/66
    • Allow fetching fresh route match by @abnegate in https://github.com/utopia-php/framework/pull/63

    New Contributors

    • @abnegate made their first contribution in https://github.com/utopia-php/framework/pull/58

    Full Changelog: https://github.com/utopia-php/framework/compare/0.19.21...0.20.0

    Source code(tar.gz)
    Source code(zip)
  • 0.19.21(May 12, 2022)

    What's Changed

    • Feat: Hostname max length by @Meldiron in https://github.com/utopia-php/framework/pull/59

    Full Changelog: https://github.com/utopia-php/framework/compare/0.19.20...0.19.21

    Source code(tar.gz)
    Source code(zip)
  • 0.19.20(Apr 20, 2022)

    What's Changed

    • Fix: Cookies expiry by @Meldiron in https://github.com/utopia-php/framework/pull/55
    • Feat: Improved hostname validator by @Meldiron in https://github.com/utopia-php/framework/pull/52

    Full Changelog: https://github.com/utopia-php/framework/compare/0.19.9...0.19.20

    Source code(tar.gz)
    Source code(zip)
  • 0.19.9(Apr 14, 2022)

    What's Changed

    • fix: double response by @fogelito in https://github.com/utopia-php/framework/pull/56

    New Contributors

    • @fogelito made their first contribution in https://github.com/utopia-php/framework/pull/56

    Full Changelog: https://github.com/utopia-php/framework/compare/0.19.8...0.19.9

    Source code(tar.gz)
    Source code(zip)
  • 0.19.8(Apr 12, 2022)

    What's Changed

    • Fix head request by @lohanidamodar in https://github.com/utopia-php/framework/pull/53

    Full Changelog: https://github.com/utopia-php/framework/compare/0.19.7...0.19.8

    Source code(tar.gz)
    Source code(zip)
  • 0.19.7(Feb 18, 2022)

    What's Changed

    • Correct spelling mistake by @everly-gif in https://github.com/utopia-php/framework/pull/50
    • feat: add 425 status code by @christyjacob4 in https://github.com/utopia-php/framework/pull/51

    New Contributors

    • @everly-gif made their first contribution in https://github.com/utopia-php/framework/pull/50

    Full Changelog: https://github.com/utopia-php/framework/compare/0.19.6...0.19.7

    Source code(tar.gz)
    Source code(zip)
  • 0.18.1(Feb 11, 2022)

    What's Changed

    • allowList for text and tests by @Meldiron in https://github.com/utopia-php/framework/pull/49

    Full Changelog: https://github.com/utopia-php/framework/compare/0.18.0...0.18.1

    Source code(tar.gz)
    Source code(zip)
  • 0.19.6(Feb 11, 2022)

    What's Changed

    • Doc - Add Getting Started Guide by @vermakhushboo in https://github.com/utopia-php/framework/pull/44
    • Feat: Hostname validator by @Meldiron in https://github.com/utopia-php/framework/pull/47
    • Remove extra phrase from blog by @vermakhushboo in https://github.com/utopia-php/framework/pull/45
    • Feat: Char validator by @Meldiron in https://github.com/utopia-php/framework/pull/48

    Full Changelog: https://github.com/utopia-php/framework/compare/0.19.5...0.19.6

    Source code(tar.gz)
    Source code(zip)
  • 0.19.5(Jan 4, 2022)

    What's Changed

    • Limited assoc to 64kB by @Meldiron in https://github.com/utopia-php/framework/pull/40
    • Run getParams after init by @Meldiron in https://github.com/utopia-php/framework/pull/43

    New Contributors

    • @Meldiron made their first contribution in https://github.com/utopia-php/framework/pull/40

    Full Changelog: https://github.com/utopia-php/framework/compare/0.19.4...0.19.5

    Source code(tar.gz)
    Source code(zip)
  • 0.19.4(Dec 30, 2021)

    What's Changed

    • chore: replace shutdown by error in comment by @vermakhushboo in https://github.com/utopia-php/framework/pull/39
    • feat: arraylist validator length by @TorstenDittmann in https://github.com/utopia-php/framework/pull/41

    New Contributors

    • @vermakhushboo made their first contribution in https://github.com/utopia-php/framework/pull/39

    Full Changelog: https://github.com/utopia-php/framework/compare/0.19.3...0.19.4

    Source code(tar.gz)
    Source code(zip)
  • 0.19.3(Dec 17, 2021)

    What's Changed

    • Fixed sameSite cookie array key on Response Class by @TorstenDittmann

    Full Changelog: https://github.com/utopia-php/framework/compare/0.19.2...0.19.3

    Source code(tar.gz)
    Source code(zip)
  • 0.19.2(Dec 13, 2021)

    What's Changed

    • Set cookie name to lowercase by @lohanidamodar in https://github.com/utopia-php/framework/pull/37
    • feat(src): improve overall typings by @TorstenDittmann in https://github.com/utopia-php/framework/pull/36
    • Fix-cookie-name-case by @lohanidamodar in https://github.com/utopia-php/framework/pull/38

    Full Changelog: https://github.com/utopia-php/framework/compare/0.19.1...0.19.2

    Source code(tar.gz)
    Source code(zip)
  • 0.19.1(Nov 25, 2021)

    What's Changed

    • Create CODE_OF_CONDUCT.md by @AnkushSinghGandhi in https://github.com/utopia-php/framework/pull/33
    • Add GitHub issue forms by @thinkverse in https://github.com/utopia-php/framework/pull/28
    • Added CONTRIBUTING.md by @rohiraanjali in https://github.com/utopia-php/framework/pull/30
    • Fix: whitelist validator should reject arrays of values by @kodumbeats in https://github.com/utopia-php/framework/pull/35

    New Contributors

    • @AnkushSinghGandhi made their first contribution in https://github.com/utopia-php/framework/pull/33
    • @thinkverse made their first contribution in https://github.com/utopia-php/framework/pull/28
    • @rohiraanjali made their first contribution in https://github.com/utopia-php/framework/pull/30

    Full Changelog: https://github.com/utopia-php/framework/compare/0.19.0...0.19.1

    Source code(tar.gz)
    Source code(zip)
  • 0.19.0(Oct 8, 2021)

    What's Changed

    • Added utopia-php/database to README.md by @kodumbeats in https://github.com/utopia-php/framework/pull/25
    • Feat: accept integers in float validator by @kodumbeats in https://github.com/utopia-php/framework/pull/29
    • Feat: add range header by @lohanidamodar in https://github.com/utopia-php/framework/pull/26

    Full Changelog: https://github.com/utopia-php/framework/compare/0.18.0...0.19.0

    Source code(tar.gz)
    Source code(zip)
  • 0.18.0(Aug 19, 2021)

  • 0.17.3(Aug 3, 2021)

  • 0.17.2(Aug 2, 2021)

  • 0.17.1(Jul 27, 2021)

  • 0.17.0(Jul 26, 2021)

Owner
utopia
Lite & fast micro PHP framework and libraries that are **easy to learn and use**.
utopia
A powerful yet easy-to-use PHP micro-framework designed to help you build dynamic and robust Web applications - fast!

A powerful yet easy-to-use PHP micro-framework designed to help you build dynamic and robust Web applications - fast! Condensed in a single ~65KB file

Bong Cosca 2.6k Dec 30, 2022
Framework X is a simple and fast micro framework based on PHP

Framework X is a simple and fast micro framework based on PHP. I've created a simple CRUD application to understand how it works. I used twig and I created a custom middleware to handle PUT, DELETE methods.

Mahmut Bayri 6 Oct 14, 2022
Framework X – the simple and fast micro framework for building reactive web applications that run anywhere.

Framework X Framework X – the simple and fast micro framework for building reactive web applications that run anywhere. Quickstart Documentation Tests

Christian Lück 620 Jan 7, 2023
Fast and easy PHP framework

Español | English Fácil, rápido y en español (Or should I say fast and easy?) Bienvenidos a KumbiaPHP Framework Versión 1 Manual en construcción de la

KumbiaPHP Framework 281 Jan 2, 2023
Simple, fast and secure PHP Framework with easy integration.

simple-php-framework Simple, fast and secure PHP Framework with easy integration.

winact 2 Nov 23, 2021
Fast and easy PHP framework

Español | English Fácil, rápido y en español (Or should I say fast and easy?) Bienvenidos a KumbiaPHP Framework Versión 1 Manual en construcción de la

KumbiaPHP Framework 280 Dec 26, 2022
Easy to use, fast extendable small PHP Framework, like the one you ever missed. The skeleton-APP

About Tufu-Framework Easy to use, fast extendable PHP Framework, like the one you ever missed. Features included such as: Twig and extensions. Fast ro

Giacomo Barbalinardo 0 Jul 2, 2022
Slim is a PHP micro framework that helps you quickly write simple yet powerful web applications and APIs.

Slim Framework Slim is a PHP micro-framework that helps you quickly write simple yet powerful web applications and APIs. Installation It's recommended

Slim Framework 11.5k Jan 4, 2023
A tiny, yet powerful, PHP micro-framework.

Equip Framework A tiny and powerful PHP micro-framework created and maintained by the engineering team at When I Work. Attempts to be PSR-1, PSR-2, PS

Equip 118 Jun 24, 2022
An extensible micro-framework for PHP

What is Flight? Flight is a fast, simple, extensible framework for PHP. Flight enables you to quickly and easily build RESTful web applications. requi

Mike Cao 2.5k Dec 30, 2022
A resource-oriented micro PHP framework

Bullet Bullet is a resource-oriented micro PHP framework built around HTTP URIs. Bullet takes a unique functional-style approach to URL routing by par

Vance Lucas 415 Dec 27, 2022
a micro mvc framework for php

micro-mvc-php a micro mvc framework for php Config your Web url in .env . lifecycle All request proccess by index.php Autoload files include in bootst

Amiranbari 6 Jul 9, 2022
The Slim PHP micro framework paired with Laravel's Illuminate Database toolkit.

Slim & Eloquent The Slim PHP micro framework paired with Laravel's Illuminate Database toolkit. Getting started # Download composer curl -s https://ge

Kyle Ladd 111 Jul 23, 2022
⚡ Micro API using Phalcon Framework

Micro App (Rest API) ⚡ Micro API using Phalcon PHP Framework. PHPDocs I. Requirements A Laptop ?? Docker (docker-compose*) Makefile (cli) II. Installa

Neutrapp 7 Aug 6, 2021
Mutexes for Micro-Framework HLEB

Use of mutexes in a project (including projects based on the HLEB micro framework) The use of mutexes is worthwhile in cases, when access to any code

Foma Tuturov 1 Oct 11, 2022
A curated list of awesome tutorials and other resources for the Slim micro framework

Awesome Slim A curated list of awesome tutorials and other resources for the Slim micro framework Table of Contents Essentials Tutorials Packages and

Sawyer Charles 466 Dec 8, 2022
Plates Template Integration for Slim micro framework 3

Plates Template Integration for Slim micro framework 3 Render your Slim 3 application views using Plates template engine. Install Via Composer $ compo

Projek XYZ 26 Feb 5, 2022
Multi-process coroutine edition Swoole spider !! Learn about Swoole's network programming and the use of its related APIs

swoole_spider php bin/spider // Just do it !! Cache use Swoole\Table; use App\Table\Cache; $table = new Table(1<<20); // capacity size $table->column

null 3 Apr 22, 2021
CleverStyle Framework is simple, scalable, fast and secure full-stack PHP framework

CleverStyle Framework is simple, scalable, fast and secure full-stack PHP framework. It is free, Open Source and is distributed under Free Public Lice

Nazar Mokrynskyi 150 Apr 12, 2022