Contenu
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.
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é.
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();
\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]);