Fonctionnalités du framework :
- Un ORM innovateur et puissant pour la partie backend.
- Un MVC utilisant l'url rewriting très facile à utiliser.
- Un moteur de template : Twig composant de Symfony2 (Twig sensiolabs)
Le projet a déjà fait ces preuves mais est encore au stade de développement. Votre aide est naturellement la bienvenue et n'hésitez pas à nous contacter via l'adresse suivante : MyORM at xtuc.ninja.
La configuration du framework se fait à partir du sossier /application/config. Les paramètres sont défini par la fonction define() de PHP. Config.php est le fichier de configuration générale et le fichier orm_config.php celui spécifique à l'ORM.
Veuillez pensez à modifier la configuration pour la connexion à votre base de données disponible dans le fichier config.php.
define('DB_TYPE', 'mysql'); // Type de base de données (http://php.net/manual/fr/pdo.drivers.php)
define('DB_HOST', 'localhost');
define('DB_NAME', 'site');
define('DB_USER', 'site');
define('DB_PASS', 'secret');
- "DB_CHARSET" permet de choisir l'encodage SQL, "UTF8" par défault.
Voici la table "membre" notre base de données :
ID | Nom | Prenom |
---|---|---|
1 | DUPONT | Alain |
2 | MARTIN | Marc |
3 | BOUVIER | Alain |
4 | DUBOIS | Paul |
5 | DREYFUS | Jean |
Imaginons que vous souhaitiez le nom du membre n°2.
$membre = new ORM\membre(2);
echo $membre->Nom; // retourne "MARTIN"
Pour le modifier:
...
$membre->Nom = "DEJEAN";
$membre->save();
Maintenant vous souhaitez supprimer ce membre:
...
$membre->delete();
Si vous souhaitez ajouter un membre:
$membre = new ORM\membre();
$membre->Nom = "DEJEAN";
$membre->Prenom = "Marc";
$membre->save();
ID | Nom | Prenom |
---|---|---|
1 | DUPONT | Alain |
2 | MARTIN | Marc |
3 | BOUVIER | Alain |
4 | DUBOIS | Paul |
5 | DREYFUS | Jean |
6 | DEJEAN | Marc |
Vous pouvez personnaliser l'ORM pour l'adapter à votre site. Par exemple si vous souhaitez récupérer un membre en function de son prénom. Vous devez créer un fichier PHP destiné à la couche modèle du MVC dans le dossier /application/models. Créez une class qui hérite de la class ORM\membre.
namespace ORM;
use ORM\SQL\SQL;
class MyMembre extends membre
{
public function __construct($id = NULL)
{
if(!is_null($id)) {
parent :: __construct($id);
}
}
public function ByPrenom($prenom)
{
$sql = new sql();
$query = $sql->sql_query("SELECT * FORM membre WHERE Prenom = ". $sql->quote($prenom) . " LIMIT 1");
$membre = $sql->sql_fetch_object($query, "ORM\\membre");
return $membre;
}
}
Nous ne somme pas les auteurs du système de MVC mais il n'est actuellement plus disponible. Nous l'avons adapté au moteur de template et à l'ORM. Comme mentionné tout en haut le MVC marche avec l'URL rewiting. Vous devez absolument l'avoir activé. Ainsi le framework intègre des URL plus SEO-friendly comme par exemple : http://www.exemple.com/membre/profil/2.
La syntaxe de l'URL est simple et pratique:
- "http://www.exemple.com" est votre nom de domaine.
- "/membre" est le nom de la class dans la couche controlleur (dossier controller).
- "/profil" est la function dans la class membre.
- "/2" est un des arguments de la function profil().
Vous pouvez cumuler jusqu'a 4 arguments, par exemple http://www.exemple.com/membre/profil/2/Martin/Marc/Stagiaire est égale à :
membre->profil(2, "Martin", "Marc", "Stagiaire");
Téléchargez ou clonez le GIT.
$ git clone https://github.com/xtuc/MyORM-Micro-framework.git
Le framework require un accès en écriture sur le dossier /application/libs/DAL.
L'ORM require PHP 5 >= 5.3.0 a cause de l'utilisation des namespaces notament.
- Renaud PLATEL
- Sven SAULEAU (@xtuc)