Design a PHP web application that serves as a RESTful API server with endpoints for creating, reading, updating, and deleting items in a MySQL database.
PLAINFORMAT
```php
<?php
// config.php
define('DB_HOST', 'localhost');
define('DB_USER', 'your_username');
define('DB_PASS', 'your_password');
define('DB_NAME', 'your_database_name');

// Database.php
class Database {
    private $connection;

    public function __construct() {
        $this->connect();
    }

    private function connect() {
        $this->connection = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USER, DB_PASS);
        $this->connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    }

    public function getConnection() {
        return $this->connection;
    }
}

// Item.php
class Item {
    private $conn;

    public $id;
    public $name;
    public $description;

    public function __construct($db) {
        $this->conn = $db;
    }

    // CRUD operations go here
}

// index.php
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: GET, POST, PUT, DELETE");

require_once 'Database.php';
require_once 'Item.php';

$database = new Database();
$db = $database->getConnection();

$item = new Item($db);

$requestMethod = $_SERVER["REQUEST_METHOD"];

switch ($requestMethod) {
    case 'GET':
        // Handle read operation
        break;
    case 'POST':
        // Handle create operation
        break;
    case 'PUT':
        // Handle update operation
        break;
    case 'DELETE':
        // Handle delete operation
        break;
    default:
        http_response_code(405); // Method Not Allowed
        echo json_encode(array("message" => "Request method not allowed."));
        break;
}
```