Select Git revision
Objet.php 3.46 KiB
<?php
require_once "Objet.php";
/**
* Implémente les magic methods.
*/
class Objet
{
public function __construct($data = null)
{
if(!is_null($data)){
foreach ($data as $key => $value){
$this->$key = $value;
}
}
}
/**
* @param $name
* @return mixed
*/
public function __get($name)
{
return $this->$name ?? null;
}
/**
* @param $name
* @param $value
* @return void
*/
public function __set($name, $value)
{
$this->$name = $value;
}
/**
* Permet d'insérer un objet dans la base de données
* @param String $tableName
* @param array $columns
* @return array|string[]
*/
public static function addObject(String $tableName, array $columns) : array
{
$result["status"] = "success";
$result["message"] = "Insertion réussie";
// On va vérifier que $tableName est bien en format alphanumérique
if(!isAlphaNumeric($tableName)){
return [
"status" => "fail",
"message" => "Le format du nom de la table est incorrect."
];
}
// Maintenant on va vérifier que la table existe
try{
Database::pdo()->query("SELECT 1 FROM $tableName LIMIT 1");
} catch (PDOException $e) {
return [
"status" => "fail",
"message" => "La table $tableName ne semble pas exister.",
"pdoError" => $e
];
}
// Nous pouvons commencer l'insertion
// On va vérifier que l'index de chaque est bien en format alphanumérique
foreach($columns as $index => $value){
if(!isAlphaNumeric($index)){