louislam/louislam-crud

An easy-to-use CRUD library for you to create a back-end system or RESTful API in a few minutes.


README

Features

  • "Write Less, Do More".
  • Create/Update/Delete/ListView web interface.
  • RESTful API.
  • Auto create tables and fields for you.
  • Extensible Field Types.
  • Theme
  • Work without any framework. (But work better with Slim Framework by default)
  • Export to Excel format (Customizable)
  • Support MySQL/MariaDB, SQLite, PostgreSQL and CUBRID.

Documentation

https://github.com/louislam/louislam-crud/wiki

Installation

Note: The library is under development and not tested very well currently.

Method 1: add louislam-crud to your composer.json

  1. Require the library.

    "require": {
        "louislam/louislam-crud": "3.x-dev"
    }
  2. Compose the project with PHP Composer.

Method 2: Start a new project with bootstrap project.

  1. Download bootstrap project from: https://github.com/louislam/louislam-crud-bootstrap
  2. Compose the project with PHP Composer.

Method 3: Direct Download without Composer (Coming Soon)

Getting started with a simple example

  1. Require and Import Libraries.

    <?php
    
    require "vendor/autoload.php";
    use LouisLam\CRUD\SlimLouisCRUD;
    use RedBeanPHP\R;
  2. Setup a Database Connection (Support MySQL, SQLite etc.)

    For SQLite:

    R::setup('sqlite:dbfile.db');

    For MySQL:

    R::setup( 'mysql:host=localhost;dbname=mydatabase', 'user', 'password' );

    More info: http://www.redbeanphp.com/index.php?p=/connection

  3. Create a SlimLouisCRUD instance.

    $crud = new SlimLouisCRUD();
  4. Add a route for your table (product).

    // Add a Route for "product" table
    $crud->add("product", function () use ($crud) {
    
        // Show and Ordering the fields
        $crud->showFields([
            "id", 
            "name", 
            "price", 
            "description"
        ]);
        
    });
  5. Run the application.

    $crud->run();
  6. Open it in your browser.

    http://<your hostname>/index.php/crud/product
    

    Alt screenshot