Mon plugin : Les Fonctions

Les fonctions

Qu'est-ce que qu'une fonction ?


Une fonction est un bloc de code PHP destiné généralement à être réutilisé plusieurs fois. Plutôt que d'écrire plusieurs fois le même morceau de code, on met celui-ci dans une fonction, et c'est cette fonction que l'on appellera dès que l'on en aura besoin.

En PHP, il y a déjà des fonctions prédéfinies que l'on peut utiliser immédiatement. Pour autant, rien ne nous empêche d'en créer d'autres selon nos besoins. Et plus encore, on peut se servir des fonctions PHP pour créer nos propres fonctions.

- Source Oseos -

Qu'est-ce que qu'un hook ?


Un hook (littéralement « crochet » ou « hameçon ») permet à l'utilisateur d'un logiciel de personnaliser le fonctionnement de ce dernier, en lui faisant réaliser des actions supplémentaires à des moments déterminés. Le concepteur du logiciel prévoit des hooks au long du fonctionnement de son programme, qui sont des points d'entrée vers des listes d'actions. Par défaut, le hook est généralement vide et seules les fonctionnalités de base de l'application sont exécutées. Cependant, l'utilisateur peut « accrocher » des morceaux de programme à ces hooks pour personnaliser le logiciel.

Techniquement, un hook peut se présenter sous la forme d'un fichier, généralement dans un langage de script, localisé à un endroit particulier. Le programme principal impose généralement les caractéristiques du hook : son type, sa localisation, voire son nom, et le moment auquel il sera exécuté.

- Source Wikipedia -

Système


 
Voici la liste des fonctions MySQL implémentées. 
 Connect($host, $user, $password, $database = '', $prefix = '');

    CreateTable($table, $fields, $if_not_exists = false, $drop_if_exists = false);

    DropTable($table, $if_exists = true);

    AddIndex($table, $type, $fields);

    AddColumn($table_name, $col_name, $col_type, $primary = false, $auto_increment = false, $default = null);

    GetColumns($table, $names_only = false);

    TableExists($table);

    GetTables($full_schema = false);

    Truncate($table);

    Import($input, $format = 'sql');

    Export($output = null, $format = 'sql');

    Update($table, array $fields, $where = ['id' => 0])

    Insert($table, array $rows, $replace = false);

    Exec($query, ...$args);

    Get($query, ...$args);

    GetAll($query, ...$args);

    QuerySingle($query, ...$args /*, $entire_row = true */);

    Query($query, ...$args);

    escape($string);

    escapeField($value);

    escapeValue($value, $quote = true);

    DropColumnIfExists($table_name, $col_name);

    AddColumnIfNotExists($table_name, $col_name, $col_type, $primary = false, $auto_increment = false, $default = null);

    GetTableName($table);

    ServerVersion();

    DriverName();

    AvailableDrivers();

 

 
Afin de pouvoir effectuer une requête SQL, il est impératif d'utiliser une syntaxe approprié exemple :
 
\DB::Insert('{table_name}', ['colname1' => $value, 'colname2' => $value]);

\DB::GetAll('SELECT * FROM {table_name} WHERE id = $value');

\DB::QuerySingle('SELECT {users}.username WHERE id = $value');

\DB::Update('{table_name}', ['colname1' => $value], ['colname2' => $value], ['id' => 0]);
Vous remarquerez que dans l'exemple ci-dessus, le nom de la table sont entre deux accolades. Cette méthode permet de prévenir a certains problème pouvant survenir lorsqu'une personne décide d'installer le CMS et d'ajouter un préfix. Cependant, il ne faut pas mettre les nom des colonne entre les accolades lorsque vous faites une sélection contenu du fait que la colonne ne change pas de nom avec le préfix.