Vous êtes sur la page 1sur 16

Bienvenue sur OpenClassrooms ! En poursuivant votre navigation, vous acceptez l'utilisation de cookies.

En savoir plus OK


Accueil Cours Initiation au mkframework

Initiation au mkframework
   30 minutes
  Facile Licence  

Introduction


Vous développez en php et souhaitez utiliser un framework mais ceux disponibles actuellement vous semblent trop difficile à comprendre ou à prendre en main ?

Le mkframework peut vous intéresser:

il est simple à prendre en main

il est modulable

il est sécurisé

son générateur web permet de gagner du temps

Installation


Rendez-vous à l'adresse http://mkframework.com, allez sur la page de téléchargement et cliquez sur la dernière version disponible.
Vous téléchargez ainsi une archive zip. Déplacez celle-ci dans le répertoire web de votre serveur apache (/var/www pour GNU/linux, répertoire www de votre serveur
Wamp sous windows...)

Désarchivez-la, et ouvrez votre navigateur  à l'adresse de votre répertoire web:

Le Builder

Ce que vous avez téléchargé c'est à la fois le framework mais également son générateur web.

Là où d'autres frameworks vous demandent d'utiliser la ligne de commande pour générer la couche modèle, le CRUD... ici tout se fait en web

note: Si vous utilisez un système gérant les droits comme GNU/Linux ou Mac Os X, vous pourriez avoir un message en rouge vous indiquant que le répertoire
"data/genere" n'est pas inscriptible.
Dans ce cas là, ouvrez une fenêtre de terminal à l'adresse du framework désarchivé et entrez la ligne suivante:
console

chmod 777 data/genere 

Entrez le nom de votre application puis validez


Le builder vous génère une application vierge dans le répertoire "data/genere" du framework.

Vous pouvez voir 3 liens différents permettant de modifier, d'explorer ou de voir le site créé.

Le menu "Editer le projet"


Présentation

Lorsque vous cliquez sur le premier bouton, vous pouvez voir toutes les actions que vous permet de faire le générateur web:
Le mkframework étant conçu sur une
architecture MVC* il vous faut une classe modèle pour intéragir avec vos bases de données.
Pour vous faciliter la vie, le builder peut vous les générer en se basant sur vos profils de connexion.

*Modèle Vue Controlleur

Créer la couche modèle

Par exemple créons une base de données mysql "siteDb"


sql
1 CREATE TABLE `article` (
2     `id` int(11) NOT NULL auto_increment,
3     `titre` varchar(50) NOT NULL,
4     `resume` text NOT NULL,
5     `auteur_id` int(11) NOT NULL,
6     PRIMARY KEY  (`id`)
7 );
8 CREATE TABLE `auteur` (
9     `id` int(11) NOT NULL auto_increment,
10     `nom` varchar(30) NOT NULL,
11     `prenom` varchar(30) NOT NULL,
12     PRIMARY KEY  (`id`)
13 );

Modifiez le fichier de connexion de votre application:

Dans votre application, vous avez un répertoire conf/ qui contient vos fichiers de configuration notamment le fichier de connexion

Editez votre fichier conf/connexion.ini.php et entrez la configuration suivante:


ini
1 monApplication.dsn="mysql:dbname=siteDb;host=localhost"
2 monApplication.sgbd=pdo_mysql
3 monApplication.username=root
4 monApplication.password=root

Cliquez sur le lien "créer la couche modèle"

Vous voyez se lister vos différents profils de


connexion

Cliquez sur le profil "monApplication"

Vous voyez les tables disponibles listées via ce profil de connexion, en l'occurence ici les 2 tables précédement créées.

Sélectionnez pour l'auteur la case "Ajouter une méthode getSelect()", et selectionnez comme valeur "nom", cela va permettre de créer une méthode* qui retournera un
tableau indexé.

Validez avec le bouton "Générer".


*Méthode qui sera utile par la suite, lors de la création du CRUD.

Créer le CRUD

Le CRUD signifie Create Read Update Delete, ces 4 lettres indiquent les actions nécéssaires pour administrer une table.

Le builder permet, à partir d'une classe modèle de générer un module CRUD qui se présentera en:

un tableau listant les données

un formulaire d'ajout

un formulaire de modification

un formulaire de suppression

une page d'affichage de la donnée

Cliquez sur le builder sur le lien "Créer un module CRUD"

Le générateur va lister les classes modèles


présentes dans votre projet, selectionnez par exemple "model_article".
Le builder vous affiche de nom du module, les différents champs trouvés dans la table et vous propose plusieurs options (possibilité de désactiver certaines pages...)

Indiquez pour l'auteur d'utiliser la méthode getSelect() précédement générée.

Cela permettra non seulement d'avoir un menu déroulant d'auteur dans les formulaires, mais également d'afficher le nom des auteurs à la place de leur id.

Validez avec le bouton "créer" et faites de même avec la classe "model_auteur"

Créons un module menu

Pour vous faire gagner encore plus de temps, le générateur web vous permet de créer un module menu par rapport aux modules présents dans votre application.
Cliquez sur "Créer un module menu"

Vous voyez listé ici vos 2 modules CRUD


précédement créés, vous pouvez cocher les méthodes disponibles et indiquer en face les libellés à afficher dans le menu.

Validez avec le bouton "Générer le menu"


Une fois généré, le builder vour indique comment l'ajouter dans votre projet

Pour cela, le shéma suivant devrait vous expliquer le fonctionnement général du framework:
Editez le fichier main.php de votre module article (module/article/main.php)

et ajoutez en fin de méthode before() la ligne indiquée:


php
1 $this‐>oLayout‐>addModule('menu','menu::index');

Faites de même pour le module "auteur"

Le menu "explorer le site"


Cliquez sur "explorer le site"
Vous pouvez ainsi explorez votre site dans l'interface web, déroulez le répertoire "conf" en cliquant dessus, selectionnez site.ini.php

Nous allons ici modifier le module appelé par défaut

Pour cela dans la section [navigation] modifiez la valeur du module par défaut
ini
1 [navigation]
2 scriptname=index.php
3 var=:nav
4 module.default=article
5 action.default=index

Le menu "voir le site"


Cliquez sur "voir le site" pour voir apparaitre le site que vous venez de créé en quelques clics

On voit bien à gauche le menu, on arrive bien par défaut dans le module article, on peut ainsi commencer par ajouter quelques auteurs puis des articles.

Ce qui peut donner une fois un peu rempli:


Conclusion


Voila pour une première initation au mkframework.

Avec ce premier tutoriel, j'espère vous avoir donné envi de tester ce framework.

Je rappelle l'adresse du site: http://mkframework.com/

Ce framework est opensource, proposé sous licence LGPLv3, il est également disponible sur github à l'adresse: https://github.com/imikado/mkframework

Thématiques du cours :  PHP  Web

L'auteur
Michael

OpenClassrooms Professionnels Participez Suivez-nous


Qui sommes-nous ? Affiliation Créer un cours Le blog OpenClassrooms
Fonctionnement de nos coursEntreprises CourseLab
Recrutement Universités et écolesAider à traduire
     
Nous contacter Conditions Générales d'Utilisation