Einzelnen Beitrag anzeigen

Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#10

AW: [PHP, MySQL] Codedesign

  Alt 6. Jul 2011, 22:20
Das alles ist ohne Gewähr, dass es funktioniert Ist einfach mal schnell runtergeschrieben! Hier mal wie ich mir die "Getter"-Methoden vorstellen könnte -- das Getter war extra in Anführungszeichen geschrieben, da ich damit eher das "Daten-Holen" meinte.
Code:
<?php
// 
define('TABLE_USER', 'my_users');

//
$pdoConnection = null;

//
function getPdoConnection()
{
    global $pdoConnection;
    $dsn = 'mysql:dbname=testdb;host=127.0.0.1';
    $user = 'dbuser';
    $password = 'dbpass';
    try {
        $pdoConnection = new PDO($dsn, $user, $password);
    } catch (PDOException $e) {
        die('Connection failed: ' . $e->getMessage());
    }
}

//
function getAllUsers()
{
    $sql = 'SELECT * FROM :table';
    $connection = getPdoConnection();
    $query = $connection->prepare($sql);
    $query->bindParam(':table', TABLE_USER, PDO::PARAM_STR);
    $query->execute();
    if ($query === false) {
        return false;
    } else {
        return $query;
    }
}

function gerUser($username = '')
{
    $sql = 'SELECT * FROM :table WHERE username = :username';
    $connection = getPdoConnection();
    $query = $connection->prepare($sql);
    $query->bindParam(':table', TABLE_USER, PDO::PARAM_STR);
    $query->bindParam(':username', $username, PDO::PARAM_STR);
    $query->execute();
    if ($query === false) {
        return false;
    } else {
        return $query;
    }
}
So, nun schaut alles aufgeräumter aus:
Code:
$users = getAllUsers();
if ($users === false) {
    echo 'There are no users registered.';
} else {
    while ($user = $users->fetch(PDO::FETCH_OBJ)) {
        echo $user->username;
    }
}
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat