项目作者: masfranzhuo

项目描述 :
Slim framework CRUD application with MySQL database and Eloquent ORM.
高级语言: PHP
项目地址: git://github.com/masfranzhuo/slimphp-CRUD.git
创建时间: 2018-02-03T14:06:52Z
项目社区:https://github.com/masfranzhuo/slimphp-CRUD

开源协议:

下载


Slim PHP CRUD

This CRUD Slim framework use project structure from Slim Framework 3 skeleton.

Use this skeleton application to quickly setup and start working on a new Slim Framework 3 application. This application uses the latest Slim 3 with the PHP-View template renderer. It also uses the Monolog logger.

This skeleton application was built for Composer. This makes setting up a new Slim Framework application quick and easy.

Install the Application

Run this command from the directory in which you want to install your new Slim Framework application.

  1. composer create-project slim/slim-skeleton slimphp-CRUD

Install Eloquent ORM

This application also use eloquent ORM from Laravel. The documentation is here.

  1. composer require illuminate/database "~5.1"

Database

The application connect to MySQL database. The configuration of database added in setting and dependencies file.

Database connection settings on ‘src/settings.php’

  1. 'db' => [
  2. 'driver' => 'mysql',
  3. 'host' => 'localhost',
  4. 'database' => 'example',
  5. 'username' => 'root',
  6. 'password' => '',
  7. 'charset' => 'utf8',
  8. 'collation' => 'utf8_unicode_ci',
  9. 'prefix' => '',
  10. ]

Service factory for the ORM on ‘src/dependencies.php’

  1. $container['db'] = function ($container) {
  2. $capsule = new \Illuminate\Database\Capsule\Manager;
  3. $capsule->addConnection($container['settings']['db']);
  4. $capsule->setAsGlobal();
  5. $capsule->bootEloquent();
  6. return $capsule;
  7. };

Also don’t forget to initialize Eloquent on ‘public/index.php’

  1. $app->getContainer()->get("db");

The database schema could be imported from example.sql. This app use database named ‘example’ and ‘books’ table which has 4 columns.

  1. CREATE TABLE IF NOT EXISTS `books` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `title` varchar(50) NOT NULL,
  4. `author` varchar(50) NOT NULL,
  5. `category` varchar(50) NOT NULL,
  6. PRIMARY KEY (`id`)
  7. ) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;

Model

Create ‘models’ folder on the root path and put schema file there. After that initialiaze model file path on index.php file.

Register model on ‘public/index.php’

  1. require '/../Models/Book.php';

Route

Create ‘routes’ folder on the root path and put route file there. After that initialiaze route file path on index.php file.

Register routes by model on ‘public/index.php’

  1. require __DIR__ . '/../routes/books.php';