TrailLamp is a lightweight, easy-to-use Php MVC framework that can be used to build web applications and REST APIs.

Related tags

Frameworks TrailLamp
Overview

TrailLamp

Introduction

TrailLamp is a lightweight, easy-to-use Php MVC framework that can be used to build web applications and REST APIs.

Installation

Clone this directory and rename and place in your project directory

.env Parameters

APP_KEY: A unique application identifier

APP_URL: Main server url of your application with no ending slash example http://TrailLamp.test or https://yoursite.com

APP_ENC_KEY: A string used for encryption and decryption purposes

APP_NAME: Your application/API name

APP_VERSION: Your application or API version

MYSQLI_HOST: Your SQL host example localhost

MYSQLI_USER: Your SQL username, default is root

MYSQLI_PASSWORD: Your SQL password

MYSQLI_DATABASE: The database name

Usage

First set environment variables in .env file. Then point to the appropriate url on your browser or on your cmd or terminal, run the following command

  php index.php

TrailLamp needs a virtual host to run. For local development, Laragon can be used to develop applications with TrailLamp

Routing

All routes are set in the routes.php file. A simple route can be written as follows.

  $router->get("/", "Controller@Main");

Here the request method is specified (TrailLamp currently supports only GET and POST requests)

The first parameter is the relative route path or url

The second parameter is the Controller name and the controller method separated by an @ sign Routes can also be called with functions. Eg

  $router->get("/", function(){
       echo "ok";
  });

All request values(like form values whose action was set to a specified route) can be gotten via your controller $request std class as follows

  $name = $this->request->name 

All uploaded files can be accessed via controller using

  $file = $this->files

Remember to use the appropriate request method in your routes file

Parameterized routes

Routes with parameters are called with the parameter names in curly brackets example

  $router->get("/about/{name}", "Controller@Main");

Thus visiting url/about/Etorojah will call the Main method in the Controller class.

Multiple parameters are supported. To get the values of the parameters in the controller method, simply use

  $this->params[string param-name]

eg

  $this->params["name"]

will return Etorojah and can be used to perform any necessary action.

Parameters cannot be passed to a function. Always use controllers

Models

Models relate with the database directly. Every model created inherits the parent class TrailModel.

Creating Models

To create a model, run the following command on the TrailLamp console

  create model Modelname

Model names should start with a capital letter and the filename must be the same as the class name

By default, four model methods are created(create, read, update and delete). These methods can be deleted if not needed and your own defined methods called.

Performing queries with a model

Call the query method from your model method eg getprod() with the query string as a parameter

  $q = $this->query("SELECT * FROM products" );

You can then manipulate your results as seen fit eg

 while($r= mysqli_fetch_array($q)){
    //your code
     return result;
 }

Remember to always validate and sanitize your inputs before making queries

In your controller class method, reference the model using the include() method

  include("path/Model.php");

create a new instance of the model

  $prod = new ProductModel();

And call the model method to get the results

  $prod->getprod();

Deleting a model

Simply run the following command on your TrailLamp console

  delete model ModelName

Controllers

Controller perform majority of the app functions.

To create a controller, run the following command on the TrailLamp console

  create controller ControllerName

Controller file name and class name must be the same. All controllers inherit the default TrailLamp controller class

Views can be called via the controller using $this->view(string file name);

  $this->view('welcome');

Do not include the file extension

Redirects can also be performed via controller using $this->redirect(relative_url)

 $this->redirect('/about');

Remember to reference this route in your routes.php file

Views

All files in the view folder are views.

To create a view simply run the following on the TrailLamp console

  create view ViewName

Models can be called within views for example when displaying data from database

First reference the model file

Create an instance of the class

And call the class method from the view

Just three lines suffice in views

get-products(); ">
     include("Model.php");
     $prod = new Model();
     $prod->get-products();

In your model method the query and result can be echoed

'.$r["name"].' '; } ">
  $q = $this->query("SELECT * FROM products" );
  while($r= mysqli_fetch_array($q)){
    echo '

'.$r["name"].'

'
; }

Console

The console helps your easily run TrailLamp commands

Console commands

Create model

  create model Modelname

Create controller

create controller ControllerName

Create view

create view ViewName

View error log

view error log

Clear error log

clear error log

Delete model

delete model ModelName

Delete view

delete view ViewName

Delete controller

delete controller ControllerName

Migrations

To perform migrations simply rename your migration file to migrations.sql and then place in the migrations directory

Then point to https://url-path/migrations/migrations.php on your browser example

https://traillamp.test/migrations/migrations.php

Requests

All Ajax and fetch requests are to be routed to requests.php file in the TrailLamp request folder In your request, simply call the controller name and method separated by an @ using

$req->attachController($callback, $method) 

where callback is the controller name and method separated by an @ and the method is the request type

Encryptions

To encrypt a text or url, first include the utility/Encryption.php file

Create a new instance of the class Encryption()

And call the appropriate method encrypt() or decrypt() with the string/hash as parameter

encrypt("Hi"); or $enc->decrypt("hdhwkugehh48u38y38r88div3"); ">
include("utility/Encryption.php");
$enc = new Encryption();
$enc->encrypt("Hi"); or 
$enc->decrypt("hdhwkugehh48u38y38r88div3");

Errors

Any error while developing is shown on the screen. The error is also logged into the error_log file for reference purposes The error log file can be cleared with the clear error log command

Contributions

Any issues found, please create an issue.

To contribute to this project, send an email to [email protected] or call +234 803 264 5840

You might also like...
Quite possibly the smallest MVC framework you'll ever use.

Swiftlet Swiftlet is quite possibly the smallest MVC framework you'll ever use. And it's swift. Licensed under the MIT license. Buzzword compliance โœ”

Leaf is a PHP framework that helps you create clean, simple but powerful web apps and APIs quickly and easily.
Leaf is a PHP framework that helps you create clean, simple but powerful web apps and APIs quickly and easily.

Leaf is a PHP framework that helps you create clean, simple but powerful web apps and APIs quickly and easily. Leaf introduces a cleaner and much simpler structure to the PHP language while maintaining it's flexibility. With a simple structure and a shallow learning curve, it's an excellent way to rapidly build powerful and high performant web apps and APIs.

Silex Skeleton - a fully-functional Silex application that you can use as the skeleton for your new applications

Silex Skeleton - a fully-functional Silex application that you can use as the skeleton for your new applications

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

Kit is a lightweight, high-performance and event-driven web services framework that provides core components such as config, container, http, log and route.

Kit What is it Kit is a lightweight, high-performance and event-driven web services framework that provides core components such as config, container,

๐ŸƒTermwind allows you to build unique and beautiful PHP command-line applications, using the Tailwind CSS API
๐ŸƒTermwind allows you to build unique and beautiful PHP command-line applications, using the Tailwind CSS API

Termwind allows you to build unique and beautiful PHP command-line applications, using the Tailwind CSS API. In short, it's like Tailwind CSS, but for the PHP command-line applications.

LODSPeaKr is a framework for creating Linked Data applications in a simple and easy way

LODSPeaKr is a framework for creating Linked Data applications in a simple and easy way. You can see several applications created using LODSPeaKr.

Symprowire is a PHP MVC Framework based and built on Symfony, using the ProcessWire CMS as DBAL and Service Provider.

Symprowire - PHP MVC Framework for ProcessWire 3.x Symprowire is a PHP MVC Framework based and built on Symfony using ProcessWire 3.x as DBAL and Serv

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(120); // capacity size $table-column

Releases(v1.1.0)
  • v1.1.0(Jun 10, 2022)

    Traillamp

    A lightweight, easy to use, MVC Framework for Php

    What's New in V1.1.0

    • Better Url routing
    • Support for additional request types
    • Better error handling
    • Robust Templating Engine
    • Middlewares
    • Additional Console Commands
    • Support for all web servers
    • Additional utilities
    • Migration Schemas
    • Flexible Models

    Documentation

    Installation

    • Repository

    Clone this directory using either git commands or download zip file

    • Composer

    Run the following command to install Traillamp via composer

        composer require etorojah/traillamp
    

    Find the traillamp folder in the composer vendor folder Move to final destination and rename.

    Usage

    For local development, Any server environment application like Xampp, Lamp or Laragon can run Traillamp. First configure environment variables in app/env/.env file and then launch the application

    .env file Parameters

    • APP_KEY: A unique application identifier.
    • APP_NAME: Your application/API name.
    • APP_VERSION: Your application or API version.
    • DATABASE_HOST: Your database connection host, defaults to localhost.
    • DATABASE_USER: Your database connection username, default is root.
    • DATABASE_PASSWORD: Your database connection password.
    • DATABASE_NAME: The database name .
    • ENCRYPTION_KEY: A random string used as key for encryption/decryption.
    • MAIL_HOST: Mail host.
    • MAIL_PORT: Port to be used to send mails from the application.
    • MAIL_USERNAME: Mail username.
    • MAIL_PASSWORD: Mail username password.
    • MAIL_SENTFROM: Describes Mail sources e.g The Traillamp Support Desk.
    • SUBDOMAIN: When true, development server is set up for subdomains or folder paths (https://example.com/traillamp/, https://traillamp.example.com, http://localhost/traillamp)

    If you are deploying the contents directly to the server root(htdocs,www,public_html), set this value to false.

    Folder structure

    • console.exe: Run Traillamp console commands with the console executable.
    • app: Contains all resources to be worked with.
    • app/controllers/: Application controllers are found here.
    • app/env/: .env file is located here. Holds environment variables.
    • app/errors/: Holds the error log file for error logging and reference purposes.
    • app/middlewares/: Application middlewares are found here.
    • app/migrations/: Holds Database migration schema files.
    • app/models/: Application Models are found here.
    • app/public/: Contains files referenced in views such as style sheetes, scripts and other files.
    • app/routes/: Holds all route and routing files.
    • app/server/: Default application codebase is stored here. Editing any file here may break your application.
    • app/utilities/: Holds Mailing utility files.
    • app/views/: View subfolders and files are found here

    Routing

    • Basic Routing

    All route files are found in app/routes/ directory. A simple route without a middleware can be written as follows.

       $router::get("/", "WelcomeController@main");
    

    The first parameter is the relative route path or url

    The second parameter is the Controller name and the controller method separated by an @ sign.

    Routes can also be called with function callbacks. Eg

         $router::get("/", function(){
            echo "ok";
        });
    

    Routes can be called with Middleware specified for the route as the third parameter. A simple route with a middleware can be written as follows.

       $router::get("/", "WelcomeController@main", "WelcomeMiddlewarre@main");
    

    Or with a function using,

        $router::get("/", "WelcomeController@main", function(){
            echo "ok";
            return true;
        });
    

    Remember to use the appropriate request method in your routes file.

    • Parameterized routes

    Routes with parameters are specified with the parameter names in curly brackets.

      $router::get("/about/{name}", "Controller@Main");
    

    Thus visiting https://url/about/Etorojah will call the Main method in the Controller class with the name parameter assigned the value Etorojah.

    Multiple parameters are supported. To get the values of the parameters simply use

        $this->parameter 
    

    example

        echo $this->name;
    

    in the Middleware or Controller method.

    A maximum of 4 parameters can be passed to a callback function.

    You should use Controller/Middleware class methods for routes with more than 4 parameters.

    You can pass parameters to Controller/Middleware callback functions as shown below:

        $router::get("/about/{name}", "WelcomeController@main", function($name){
            echo $name;
            return true;
        });
    
    • Supported Requests

    • GET

    • POST

    • PUT

    • PATCH

    • HEAD

    • DELETE

    • Multiple route files

    To create a route file, simply run the command below in the Traillamp console

        create router-file <filename>
    

    example

        create router-file admin_routes
    

    Controllers

    Controllers form the backbone of your application. Controllers are found in the app/controllers/ directory.

    All Controllers inherit the default class Controller's properties and methods in Controller.php file.

    • Creating a Controller

    To create a Controller, run the following command on the Traillamp console

        create controller <name>
    

    example

        create controller Test
    

    The above creates a Test.php Controller file in the app/controllers/ directory.

    Controller file name and classnames must be the same.

    You can now add the created controller to any route of your choice.

    • Default Properties and Methods

    The request property holds request parameters(array) for the given route and request type. This can be used to get form values and other request parameters.

    Example, using a route with a POST request which handles a form:

        $name = $this->request["name"];
    
    

    The method property holds the request type which may be useful in a code block. Example

        $name = $this->method;
        //returns POST for a POST request method etc
    
    

    The files property holds the files sent as a request parameter to that route. Example

        $file = $this->files["photo"];
        
    

    As shown earlier, route parameters can also be gotten using $this->parameter in controllers and middlewares.

    • Inherited Methods

    Inherited methods can be accessed from any Controller which extends the Parent Controller class.

    They are listed below:

    Rendering a View: view(view, parameters)

    To render a view, use the inherited class method view which carries two parameters,

    • view: string, name of the view(without file extension) .

    • parameters: array, values to pass to view templating engine.

    The 'parameters' parameter is optional. Example:

    • Without parameters:
        $this->view("welcome");
    
        //subfolder view
        $this->view("includes.header");
    

    The above renders a view welcome.lamp found in the app/views directory and header.lamp found in app/views/includes/ subdirectory.

    • With parameters
        $this->view("profile", ["name" => "John", "email" => "[email protected]"]);
        
    

    The parameters are passed to the templating engine and can be used in the view file.

    Redirects: redirect(route)

    To redirect to another route, use the inherited class method redirect which carries one parameter,

    • route: string, relative valid url route. Example
        $this->redirect("/about/me");
        
    
    Encryption: encrypt(text)

    To encrypt plain text, use the inherited class method encrypt which carries one parameter,

    • text: string, lain text to encrypt. Example
        $hash = $this->encrypt("I am Batman");
        echo $hash;
       
    
    Decryption: decrypt(hash)

    To encrypt plain text, use the inherited class method decrypt which carries one parameter,

    • text: string, lain text to encrypt Example
        $hash = $this->encrypt("I am Batman");
        $text = $this->decrypt($hash);
        echo $text;
        //returns I am Batman
        
    

    Remember to set environment variable, ENCRYPTION_KEY

    Sending Mails: sendMail(email, subject, message)

    To send mails, use the inherited class method sendMail which carries three parameters,

    • email: string, valid email address.
    • subject: string, subject of the message.
    • message: string, message body. Example
        sendMail("[email protected]", "Greetings", "Hello to you");
    

    Remember to set all mail environment variables.

    Load Models: loadModel(model)

    To load and get database model results, use the inherited class method loadModel which carries one parameter,

    • model, string, in the format Class@method Example
        $result = loadModel('Users@get_users');
    

    Remember to always return model results in model methods.

    Middlewares

    Middlewares are found in the app/middlewares/ directory.

    All middlewares inherit the default Middleware class methods. Middlewares can be used for authentication and much more

    • Creating Middlewares

    To create a Middleware, run the following command on the Traillamp console

        create middleware <name>
    

    example

        create middleware Test
    

    The above creates a Test.php Middleware file in the app/middlewares/ directory.

    Middlewares file name and classnames must be the same.

    You can now add the created middleware to any route of your choice.

    • Default Properties and Methods

    Middlewares have same default properties as those in Controllers(See Controllers above).

    • Inherited Methods

    Inherited methods can be accessed from any Middleware which extends the Parent Middleware class.

    Middlewares have same inherited methods as those in Controllers(See Controllers above).

    All Middlewares should have a return true statement. This enables the application to transfer the logic to the controllers.

    An exception will be thrown if this is not done.

    Example: Using a middleware to check for account type

        $router::get("/accounts/{type}", "WelcomeController@main", function($type){
            if($type !== "user") {
                echo "You are not allowed to access this page";
                exit;
            }
    
            return true;
        });
    

    Same applies in Middleware methods.

    Models

    Models interact with the database. They are used to query databases. All Models inherit the default class Model's properties and methods in Model.php file.

    • Creating a Model

    To create a Model, run the following command on the Traillamp console

        create model <name>
    

    example

        create model Test
    

    The above creates a Test.php Model file in the app/models/ directory.

    Model file name and classnames must be the same.

    • Default Properties and Methods

    Models inherit the database connection variable from the Parent Model.

    Traillamp uses PDO for database connections and migrations. For flexibility purpose, however, you can use any other format to do this.

    Simply connect to your database in the Model file or create a Database Connection class, include in in model file and use.

    Note: Model methods must have a return statement. This makes it easy to pass the value to the Controller in the loadModel method.

    Example Model method query using PDO

        public function main(){
            try {
                $sql = "SELECT * FROM table_name";
                $stmt = $this->db->prepare($sql);
                $stmt->execute();
                $result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
                return $stmt->fetchAll();
                
            } 
            catch (PDOException $error) {
                die("Error in query:\n".$error->getMessage());
            }
    	
        }
    
    

    Views

    Views are found in the app/views/ directory. View files have the extension .lamp.

    • Creating a View

    To create a View, run the following command on the Traillamp console

        create view <name>
    

    example

        create view profile
    

    The above creates a profile.lamp View file in the app/views/ directory.

    • Passing Parameters to View

    Traillamp uses Twig as its templating Engine. Twig is easy to use. Check out Twig's documentation here. You can manipulate parameters passed to views from the controller in the view file using Twig's templating syntax. Example In Controller:

        $this->view('about', ['name' => 'David']);
    

    In View:

        <h5>{{ name }}</h5>
    

    Database query results can even be displayed In Controller:

        $result = $this->loadModel('Users@get_users');
        $this->view('about', ['users' => $result]);
    

    In View:

        {% for user in users %}
            <h5>Name: {{ user.name }} </h5> 
        {% else %}
            <h5>No Users found </h5> 
       {% endfor %}
    
    • Referencing external files

    Stylesheets and scripts in app/public/ directory can be referenced in views Example

        <!--Stylesheets-->
        <link rel="stylesheet" href="./app/public/css/styles.css">
        <!--Scripts-->
        <script src="./app/public/js/script.js"></script>
    

    Note the relative path ./app/public

    Utilities

    The mail.html found in app/utilities/ file's content can be replaced with your preferred Mail design.

    However leave ********** where you want the message body to go into.

    Console Commands

    Below is a list of Traillamp's Console Commands.

    You can type --help in the Traillamp's console to see a full list Traillamp's of console commands.

    • clear error log | Clears error log file
    • view error log | Displays error log
    • create controller | Creates a controller with filename and class
    • create middleware | Creates a middleware with filename and class
    • create model | Creates a model with filename and class
    • create view | Creates a view with filename
    • create router-file | Creates a router file with filename
    • create schema-file | Creates a migration file
    • remove controller | Deletes a controller with filename
    • remove middleware | Deletes a middleware with filename
    • remove model | Deletes a model with filename
    • remove router-file | Deletes a route file with filename
    • remove view | Deletes a view with filename

    Migrations

    Warning: This feature is still in development stage. Migration schemas can be used to create and modify database and database tables. Migration schema files are found in app/migrations

    • Creating Migration Schema Files

    To create a schema file, run the following command on the Traillamp console

        create schema-file <name>
    

    example

        create schema-file users
    

    The above creates a file users.php in app/migrations.

    There are three types of schema Traillamp supports

    • DatabaseSchema
    • TableSchema
    • ActionSchema

    To create a schema, create an instance of the type of schema you want with appropriate parameters and call the migrate method of that class. Example

        //Database schema
        $schema = new DatabaseSchema($parameters);
        $schema->migrate();
    
    
    • DatabaseSchema

    This class is used to create databases. It carries one parameter, the name of the database to be created. Example

        //new Database schema
        $dbname = "db_test";
        $schema = new DatabaseSchema($dbname);
        $schema->migrate();
    
    
    • TableSchema

    This class is used to create tables. It carries two parameters, the name of the table to be created and the table structure.

    • name: string, table name
    • structure: array, format ["col_name" => ["type" => "", "length" => "", "null" => boolean], ...] Example:
        //new Table schema
        $tablename = "users";
        $schema = new TableSchema($tablename, [
            "email" => ["type" => "varchar", "length" => "255"], 
            "fullname" => ["type" => "varchar", "length" => "255", "null" => true]
        ]);
        $schema->migrate();
    
    

    Note: The id column should not be included in the structure.

    • ActionSchema

    This class is used to modify databases, tables and table columns. It carries one parameter, structure.

    • structure: array, format ["action" => "", "target" => "", "target_type" => "", "action_type" => "", "data" => ["data_type" => "", "column" => ""]]

    action: can be either 'truncate' or 'alter'. target_type: can be either 'database' or 'table'. target: can be either a database or table name. action_type: can be either add, drop or modify. data-data_type: any of the database table column data types (varchar, int, date, date-time) etc. data-column: table column name.

    Example:

        //dropping a database
        $schema = new ActionSchema([
            "action" => "alter", 
            "target" => "db_name",
            "target_type" => "database",
            "action_type" => "drop"
        ]);
        $schema->migrate();
    
    
        //dropping a table
        $tablename = "users";
        $schema = new ActionSchema([
            "action" => "alter", 
            "target" => $tablename,
            "target_type" => "table",
            "action_type" => "drop"
        ]);
        $schema->migrate();
    
    
        //truncate a table
        $tablename = "users";
        $schema = new ActionSchema([
            "action" => "truncate", 
            "target" => $tablename,
            "target_type" => "table"
        ]);
        $schema->migrate();
    
    

    Other actions can be achieved by passing the correct parameters. To migrate a schema file, simply visit "https://domain.ext/path/migrations/"

    You can change this path in routes.php to any path of your choice by changing the path in the line below:

        $router::get("/migrations/", "MigrationController@main");
    

    The MigrationController class handles migrations hence, the file MigrationController in app/controllers/ should not be deleted unless it would not be used.

    Note For security purposes, comment or remove the migration path from routes.php file when the application has been deployed.

    Error handling

    Any error while developing is shown on the screen. The error is also logged into the error_log file for reference purposes.

    The error log file can be cleared with the clear error log command

    Issues

    If you face parameterized routing conflicts, you can solve this by making one of the conflicting routes unique. Example

        $router::get("/about/{user}", "AboutController@main");
        $router::get("/profile/{id}", "ProfileController@main");
        //this may create a routing conflict
    

    The above can be solved as shown below

        $router::get("/about/{user}", "AboutController@main");
        $router::get("/{id}/profile", "ProfileController@main");
        //routing conflict solved
    

    or

        $router::get("/about/{user}/details", "AboutController@main");
        $router::get("/profile/{id}", "ProfileController@main");
        //routing conflict solved
    

    Any other issues found, please create an issue.

    Contributing

    To contribute to this project, send an email to [email protected] or call +234 803 264 5840

    Source code(tar.gz)
    Source code(zip)
    traillamp.zip(911.69 KB)
Owner
Etorojah Okon
A Fullstack Web Developer
Etorojah Okon
FlyCubePHP is an MVC Web Framework developed in PHP and repeating the ideology and principles of building WEB applications, embedded in Ruby on Rails.

FlyCubePHP FlyCubePHP is an MVC Web Framework developed in PHP and repeating the ideology and principles of building WEB applications, embedded in Rub

Anton 1 Dec 21, 2021
a framework for WebDevelop based on the mvc structure. The name of this project for Fun because everyone can use it. Completely simple and powerful structure for all your projects

A_A (-.-) โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„ |-| โ–ˆโ–„โ”€โ–„โ–„โ”€โ–ˆโ–„โ”€โ–ˆโ–ˆโ”€โ–„โ–ˆโ”€โ–„โ–„โ–„โ–„โ–ˆโ”€โ–„โ–„โ–„โ–„โ–ˆโ–„โ”€โ–ˆโ”€โ–„โ–ˆโ”€โ–„โ–„โ–„โ”€โ–ˆโ–ˆโ–€โ–„โ”€โ–ˆโ–ˆโ”€โ–„

MasihGhaznavi 7 Jun 29, 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 super fast, customizable and lightweight PHP MVC Starter Framework to extend for your own...

PHPMVC A super fast, customizable and lightweight PHP MVC Starter Framework to extend for your own... How to Start Clone this repo - git clone https:/

Maniruzzaman Akash 9 Dec 11, 2022
Woski is a fast and simple lightweight PHP Framework for building applications in the realm of the web.

Woski is a simple fast PHP framework for the Realm The Project Installation Clone the repository $ composer create-project clintonnzedimma/woski myApp

Clinton Nzedimma 19 Aug 15, 2022
A Small modular PHP framework Build for web applications

MagmaCore__ This project is in active development. So is evolving constantly. As soon project gets to stable point. Due notice will be given Composer

Ricardo Miller 10 Sep 2, 2022
REST APIs using Slim framework. Implemented all CRUD operations on the MySql database

PHP REST API using slim framework and CRUD operations ?? Hi there, this is a simple REST API built using the Slim framework. And this is for the folks

Hanoak 2 Jun 1, 2022
PHP Kafka client is used in PHP-FPM and Swoole. PHP Kafka client supports 50 APIs, which might be one that supports the most message types ever.

longlang/phpkafka Introduction English | ็ฎ€ไฝ“ไธญๆ–‡ PHP Kafka client is used in PHP-FPM and Swoole. The communication protocol is based on the JSON file in

Swoole Project 235 Dec 31, 2022
PhpBoot is an easy and powerful PHP framework for building RESTful/Microservices APIs.

?? tiny & fast PHP framework for building Microservices/RESTful APIs, with useful features: IOC, Hook, ORM, RPC, Swagger, Annotation, Parameters binding, Validation, etc.

tknet 656 Jan 4, 2023