17
Апр
2017

Вывод из БД с использованием ООП, PDO и namespace

Код работает, правильно ли я всё сделал? Какие недочёты есть?

index.php

<?php
header('Content-Type: text/html; charset=utf-8');

require_once 'App/db.php';

use App\classes\Db as Db;

$con = new Db();

foreach($con->query() as $key){
    echo $key['id'] . ' ' .$key['name'] . '<br>';
} 

db.php

<?php
namespace App\classes;

class Db{
    protected $pdo;
    private $sql = 'SELECT * FROM `books`';

    public function __construct(){
        $this->pdo = new \PDO('mysql:host=localhost; dbname=dz; charset=utf8', 'root', '');
        $this->pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
    }

    public function getSql(){
        return $this->sql;
    }

    public function query(){
        try{
            $result = $this->pdo->query($this->getSql());
            $arrayResult = [];

            while($row = $result->fetch(\PDO::FETCH_ASSOC)){
                array_push($arrayResult, $row);
            }
            return $arrayResult;
        }       
        catch(PDOException $e){
            echo $e->getMessage();
        }
    } 
}

Источник: https://ru.stackoverflow.com/questions/654785/%D0%92%D1%8B%D0%B2%D0%BE%D0%B4-%D0%B8%D0%B7-%D0%91%D0%94-%D1%81-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%D0%BC-%D0%9E%D0%9E%D0%9F-pdo-%D0%B8-namespace

Share

Тебе может это понравится...