Download the PHP package processid/manager without Composer

On this page you can find all versions of the php package processid/manager. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package manager

Manager

Système de gestion et de connexion de base de données.

Installation :

Ajoutez à votre fichier composer.json dans la section require, "processid/manager": "3.0.0". Puis lancez la commande composer update. Voici un exemple de fichier composer.json avec uniquement l'usage du Manager.

Utilisation

ConnectionManager :

Le Manager permet d’interagir avec la base de données via un objet DbConnect.
Il ne contient aucune logique de récupération de configuration.

La gestion des connexions est entièrement déléguée à une classe centrale :
ConnectionManager.

Cette architecture permet :

Avant d’utiliser un Manager, l’application doit déclarer les configurations au démarrage (bootstrap, index.php, kernel, CLI, etc.).

Exemple

Héritage de la classe Manager

Manager.php est une classe abstraite qui doit être héritée par autant de classes filles que de tables que vous souhaitez interroger avec le Manager. On utilise des attributs de classe PHP 8.0 pour configurer un manager.

Attributs de classe

DbFactory :

Attribut qui s'applique au class et qui permet de définir la factory de connexion à la base de données pour la class manager fille. Cette attribute est optionnel, s'il n'est pas défini, la première factory dans le fichier de configuration sera utilisée.

ClassName :

Attribut qui s'applique au class et qui permet de définir le nom de la classe (modèle) qui gère l'objet fourni au manager.

Table :

Attribut qui s'applique au class et qui permet de définir le nom de la table représentée par la class manager fille.

Voici un exemple de classe fille de Manager.php avec les différents attributs de classe : Il est à noter que les attributes utilisé doit être importé (avec le use) dans la class ou on les utilise.

Model

On utilise des attributs de classe PHP 8.0 pour configurer un modèle.

Attributs

Field :

Attribut qui s'applique aux propriétés de la class et qui permet de définir le nom du champ de la table représentée par la propriété. Si le nom du champ n'est pas spécifié, le nom de la propriété sera utilisé.

ID :

Attribut qui s'applique aux propriétés de la class et qui permet de définir la propriété comme étant la clé primaire de la table.

Encrypted :

Attribut qui s'applique aux propriétés de la class et qui permet de définir la propriété comme étant chiffrée.

Note : Pour les attributs ID et Encrypted, l'attribute Field est obligatoire avant.

Encodage d'une colonne

Il est possible de chiffrer toute une colonne. Attention cette opération peut prendre beaucoup de temps suivant le nombre d'enregistrements. La colonne doit être suffisamment grande pour accueillir le chiffrement.

Décodage d'une colonne

L'opération inverse est également possible.

Create et update, ajout et modification d'un enregistrement

persist() ajoute un nouvel enregistrement dans la table si l'id de l'objet n'est pas spécifié sinon modifie l'enregistrement correspondant. $object est une instance de la classe modèle avec les données à insérer ou à modifier. $fields Seulement pour l'action modifiée. C'est un tableau correspondant aux noms des champs à modifier. Si non spécifié, tous les champs sont pris en compte. $ignore Seulement pour l'action ajoutée. La requête devient INSERT IGNORE et lève une exception si la requête n'a pas inséré d'enregistrement. En cas d'erreur, la fonction lève une exception. En cas de succès, la fonction retourne l'ojet passé en paramètre avec son ID d'enregistrement.

Read, lecture d'un enregistrement

findById() retourne une instance de \src\model\Clients avec les données de l'enregistrement dont l'ID est passé en paramètre. $ID est la valeur recherchée de IDclients dans la table clients. Par défaut, la fonction récupère tous les champs de la table. Il est possible de préciser lesquels récupérer grâce au paramètre optionnel $champs. Ce dernier peut être une chaine de caractères correspondant au nom du champ ou un tableau de chaines de caractères correspondant aux noms des champs.

Read, lecture de plusieurs enregistrements

findByIds() retourne un tableau d'instances de \src\model\Clients avec les données des enregistrements dont les ID sont passés en paramètre. $IDs est un tableau de valeurs recherchées de IDclients dans la table clients. Par défaut, la fonction récupère tous les champs de la table. Il est possible de préciser lesquels récupérer grâce au paramètre optionnel $champs. Ce dernier peut être une chaine de caractères correspondant au nom du champ ou un tableau de chaines de caractères correspondant aux noms des champs.

Delete, suppression d'un enregistrement

delete() supprime un enregistrement dans la table. $ID est la valeur recherchée de IDclients dans la table clients.

findBy, recherche d'enregistrements

findBy() retourne un tableau d'objet et par rapport aux champs demandés dans fields[]. Par défaut l'objet du modèle est retourné suivant les fields demander (si non spécifié, on retourne l'intégralité de l'objet). Sinon, on peut passer en 2ème paramètre le nom de la class à retourner Pour hydrater l'objet, il se base sur les setters de la class qui seront en rapport avec les fields demandés (l'alias en utilisé en priorité). Si fields[] est vide, on retourne un tableau d'objet avec toutes les données de la table. $arg est un tableau associatif facultatif. Il peut contenir les clés suivantes :

Exemple de recherche des 10 premiers clients de France triés par nom de famille

countBy, nombre d'enregistrements

countBy() retourne le nombre d'enregistrements de la table. Elle repose sur le même principe qu'un findBy() mais ne retourne que le nombre d'enregistrements.

findAll, tous les enregistrements

findAll() retourne un tableau d'objet et par rapport aux champs demandés dans fields[]. Un tri peut être effectué sur les données.

countAll, nombre d'enregistrements

countAll() retourne le nombre d'enregistrements de la table.

Débogage

$this->debugTxt() contient la dernière requête et les éventuelles valeurs des binds.

QueryBuilder

La classe QueryBuilder permet de construire des arguments de requêtes complexes pour les fonctions findBy, countBy, updateBy et deleteBy d'un objet Manager. Elle fournit une interface fluide pour gérer la sélection de champs, les conditions de recherche, les tris, les jointures, les regroupements, et bien plus, tout en respectant les contraintes des tables associées au Manager.

Utilisation

Pour utiliser QueryBuilder, vous devez d'abord disposer d'une instance de Manager.

Dans cette exemple on va chercher le tableau d'agrument pour avoir les 10 premiers enregistrements de la table nom_table avec les champs id et name triés par created_at en ordre décroissant, et où le champ name contient la chaîne test ou champ id est entre 1 à 20 :

Action final du queryBuilder

Avec le queryBuilder, vous pouvez effectuer les actions finales suivantes :

exemple :


All versions of manager with dependencies

PHP Build Version
Package Version
Requires php Version >=8.3
processid/encrypt Version 1.*
processid/traits Version 1.*
ext-pdo Version *
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package processid/manager contains the following files

Loading the files please wait ...