Breadcrumb
Last updated on Tuesday, May 13, 2014
  • 30 minutes
  • Easy

Free online content available in this course.

Got it!
Log in or subscribe to enjoy all this course has to offer!

Introduction du cours

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
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:

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"

CREATE TABLE `article` (
    `id` int(11) NOT NULL auto_increment,
    `titre` varchar(50) NOT NULL,
    `resume` text NOT NULL,
    `auteur_id` int(11) NOT NULL,
    PRIMARY KEY  (`id`)
);
CREATE TABLE `auteur` (
    `id` int(11) NOT NULL auto_increment,
    `nom` varchar(30) NOT NULL,
    `prenom` varchar(30) NOT NULL,
    PRIMARY KEY  (`id`)
);

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:

monApplication.dsn="mysql:dbname=siteDb;host=localhost"
monApplication.sgbd=pdo_mysql
monApplication.username=root
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:

$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

[navigation]
scriptname=index.php
var=:nav
module.default=article
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

Example of certificate of achievement
Example of certificate of achievement