Skip to content
Snippets Groups Projects
Select Git revision
  • ed87b44262f26d37a192d36239bd3573ee9fcd8a
  • main default protected
2 results

Objet.php

Blame
  • 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)){