{"id":15857246,"url":"https://github.com/xtuc/myorm-micro-framework","last_synced_at":"2025-04-01T19:35:50.713Z","repository":{"id":23709366,"uuid":"27081806","full_name":"xtuc/MyORM-Micro-framework","owner":"xtuc","description":"Micro-Framework PHP5 (ORM \u0026 MVC)","archived":false,"fork":false,"pushed_at":"2015-03-15T14:44:41.000Z","size":1012,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-17T11:52:46.788Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xtuc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-11-24T15:34:01.000Z","updated_at":"2015-03-15T14:44:41.000Z","dependencies_parsed_at":"2022-08-18T21:42:49.943Z","dependency_job_id":null,"html_url":"https://github.com/xtuc/MyORM-Micro-framework","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xtuc%2FMyORM-Micro-framework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xtuc%2FMyORM-Micro-framework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xtuc%2FMyORM-Micro-framework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xtuc%2FMyORM-Micro-framework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xtuc","download_url":"https://codeload.github.com/xtuc/MyORM-Micro-framework/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246701229,"owners_count":20820019,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-05T20:21:37.080Z","updated_at":"2025-04-01T19:35:50.695Z","avatar_url":"https://github.com/xtuc.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MyORM-Micro-framework\n\nFonctionnalités du framework :\n- Un ORM innovateur et puissant pour la partie backend.\n- Un MVC utilisant l'url rewriting très facile à utiliser.\n- Un moteur de template : Twig composant de Symfony2 ([Twig sensiolabs](http://twig.sensiolabs.org/))\n\n\u003eLe 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](mailto:MyORM@xtuc.ninja).\n\n## Configuration\n\nLa 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.\n\nVeuillez pensez à modifier la configuration pour la connexion à votre base de données disponible dans le fichier config.php.\n```php\ndefine('DB_TYPE', 'mysql'); // Type de base de données (http://php.net/manual/fr/pdo.drivers.php)\ndefine('DB_HOST', 'localhost');\ndefine('DB_NAME', 'site');\ndefine('DB_USER', 'site');\ndefine('DB_PASS', 'secret'); \n```\n\n##### Configurations additionnels :\n- \"DB_CHARSET\" permet de choisir l'encodage SQL, \"UTF8\" par défault.\n\n## Usage ORM\n\nVoici la table \"membre\" notre base de données :\n\nID|Nom|Prenom \n-------|--------|---------- \n1|DUPONT|Alain \n2|MARTIN|Marc\n3|BOUVIER|Alain\n4|DUBOIS|Paul\n5|DREYFUS|Jean \n\nImaginons que vous souhaitiez le nom du membre n°2.\n\n```php\n$membre = new ORM\\membre(2);\necho $membre-\u003eNom; // retourne \"MARTIN\"\n```\n\nPour le modifier:\n```php\n...\n$membre-\u003eNom = \"DEJEAN\";\n$membre-\u003esave();\n```\nMaintenant vous souhaitez supprimer ce membre:\n```php\n...\n$membre-\u003edelete();\n```\n\nSi vous souhaitez ajouter un membre:\n```php\n$membre = new ORM\\membre();\n\n$membre-\u003eNom = \"DEJEAN\";\n$membre-\u003ePrenom = \"Marc\";\n$membre-\u003esave();\n```\n\nID|Nom|Prenom \n-------|--------|---------- \n1|DUPONT|Alain \n2|MARTIN|Marc\n3|BOUVIER|Alain\n4|DUBOIS|Paul\n5|DREYFUS|Jean \n6|DEJEAN|Marc\n\nVous 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.\n```php\nnamespace ORM;\n\nuse ORM\\SQL\\SQL;\n\nclass MyMembre extends membre\n{\n  public function __construct($id = NULL)\n  {\n      if(!is_null($id)) {\n        parent :: __construct($id);\n      }\n  }\n  \n  public function ByPrenom($prenom)\n  {\n    $sql = new sql();\n    $query = $sql-\u003esql_query(\"SELECT * FORM membre WHERE Prenom = \". $sql-\u003equote($prenom) . \" LIMIT 1\");\n    \n    $membre = $sql-\u003esql_fetch_object($query, \"ORM\\\\membre\");\n    return $membre;\n  }\n}\n```\n\n## Usage MVC\n\nNous 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.\nComme 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. \n\nLa syntaxe de l'URL est simple et pratique:\n- \"http://www.exemple.com\" est votre nom de domaine.\n- \"/membre\" est le nom de la class dans la couche controlleur (dossier controller).\n- \"/profil\" est la function dans la class membre.\n- \"/2\" est un des arguments de la function profil().\n\nVous pouvez cumuler jusqu'a 4 arguments, par exemple http://www.exemple.com/membre/profil/2/Martin/Marc/Stagiaire est égale à : \n```php\nmembre-\u003eprofil(2, \"Martin\", \"Marc\", \"Stagiaire\");\n```\n\n## Installation\n\nTéléchargez ou clonez le GIT.\n\n```sh\n$ git clone https://github.com/xtuc/MyORM-Micro-framework.git\n```\n\nLe framework require un accès en écriture sur le dossier /application/libs/DAL.\n\n## Configuration minimum requise\n\nL'ORM require PHP 5 \u003e= 5.3.0 a cause de l'utilisation des namespaces notament. \n\n## Auteurs\n- Renaud PLATEL\n- Sven SAULEAU (@xtuc)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxtuc%2Fmyorm-micro-framework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxtuc%2Fmyorm-micro-framework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxtuc%2Fmyorm-micro-framework/lists"}