2016-01-16 2 views
1

Я новичок в SLIM3, и любое тело поможет мне подключиться к базе данных mysql и получить выходные результаты из таблицы.Как подключить mysql DB Slim 3

Есть много примеров для SLiIM v2, и я хочу сделать в в v3

ответ

4

Вы можете использовать контейнер, чтобы пройти вокруг объектов для ваших маршрутов. Предполагая, что вы используете замыкания обрабатывать ваши маршруты в Слима, чем вы могли бы сделать что-то вроде этого

$app = new \Slim\App(); 
$container = $app->getContainer(); 

$container["db"] = new PDO(...); // Replace with your preferred DB Access Method 

$app->get("/", function(\Slim\Http\Request $req, \Slim\Http\Response $res, array $args) { 
    $connection = $this->get("db"); // Continue your request 
}); 

Краткое объяснение приведенного выше кода: Generic декларацию обычных объектов ($app, $container и т.д.). Объект $ container (по умолчанию) Pimple, контейнер для инъекций зависимостей, который также реализует \ArrayAccess. Это позволяет обрабатывать объект как массив. Используя эту способность, мы можем установить значение в Контейнер, который будет сохранен и позволит нам получить к нему доступ позже. Оттуда мы создаем базовый маршрут, который будет запускаться при запросе / и использовать закрытие для ответа на запрос. Закрытие было привязано к объекту Container тонким, что позволило нам получить доступ к методам Containers из переменной $this. Оттуда вы можете обрабатывать объект так, как если бы вы его создали в функции.