IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MkFramework Discussion :

Choix, orientation, changement, votre avis interesse


Sujet :

MkFramework

  1. #1
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut Choix, orientation, changement, votre avis interesse
    Introduction
    Le mkframework n'a cessé d'évoluer depuis plusieurs années.
    Au fil de ses améliorations, des choix ont été faits respectant une voie bien précise pour chaque version du framework.
    Aujourd'hui le framework est sur developpez, ce qui permet entre autre de pouvoir demander l'avis de nombreux developpeurs lorsque nécessaire
    Pour cette version, j'essaie de faire un framework simple a prendre en main, pas une usine a gaz, j'essaie de respecter des nomenclatures, des choix d'utilisation d'arborescence pour tel ou tel fichier ...
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  2. #2
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juin 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 17
    Points : 21
    Points
    21
    Par défaut
    Bon, je vais l'installer ton Framework, et je vais même essayer de l'utiliser !!!
    Je te ferai des retours dès que je l'ai testé un peu.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Ton framework m'a l'air pas mal. Je compte le tester sur un petit projet.
    Je te ferai un retour d'ici peut

  4. #4
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    N’hésites pas à remonter tes critiques et idées qui pourrait améliorer le framework et/ou son builder (générateur web du framework)
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  5. #5
    Nouveau membre du Club Avatar de modulo2
    Profil pro
    Inscrit en
    Août 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2012
    Messages : 19
    Points : 36
    Points
    36
    Par défaut Amélioration générateur de CRUD
    Bonjour,

    Les vues des modules CRUD pourraient être simplifiées : new et edit sont quasi-identiques.

    Dans le contrôleur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    public function _new(){$oCrud->edit = false;
     
        $oView=new _view('crud::edit');
    ⋮
     
     
    public function _edit(){$oCrud->edit = true;
     
        $oView=new _view('crud::edit');
    ⋮
    Dans la vue edit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="submit" value="<?php echo ($this->oCrud->edit)?'Modifier':'Ajouter' ?>" /> <a href="<?php echo $this->getLink('crud::list')?>">Annuler</a>
    La vue new devient inutile.

  6. #6
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Sur le principe je suis d'accord on pourrait fusionner les deux mais il n'y a pas que le bouton de soumission à changer:

    Lors d'une création, les champs input sont vides, alors qu'en édition, ceux-ci ont pour valeur le champ de l'objet

    Donc pour suivre la logique de la fusion des vues, il faudrait dans le cas d'un new: créer un objet vide

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public function _new(){
     $oArticle=new row_article;
     
     $oView=new _view('article::form');
     $oView->oArticle=$oArticle;
    }
    public function _edit(){
     $oArticle=model_article::getInstance()->findById(_root::getParam('id'));
     
     $oView=new _view('article::form');
     $oView->oArticle=$oArticle;
    }
    Et ainsi dans la vue
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    titre <input type="text" name="titre" value="<?php echo $this->oArticle->titre?>" />
    (...)
    //votre modification pour le bouton de validation
    Et dans ce cas, effectivement je peux fusionner ces deux vues

    Merci de votre remarque
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  7. #7
    Nouveau membre du Club Avatar de modulo2
    Profil pro
    Inscrit en
    Août 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2012
    Messages : 19
    Points : 36
    Points
    36
    Par défaut Amélioration plugin upload
    Bonjour,

    Le plugin d'upload pourrait être amélioré (changement du paramètre donné au contructeur et ajout d'une méthode) :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    public function __construct($sColumn){
        if(isset($_FILES[$sColumn]) && $_FILES[$sColumn]['size'] > 0){
            $this->valid=true;
            $this->tFile=$_FILES[$sColumn];
            $this->sOriginFileName=basename($this->tFile['name']);
            $this->sTmpFileName=$this->tFile['tmp_name'];
            $this->loadExtension();
        }
        else{
            $this->valid=false;
        }
    }
     
    public function isValid(){
        return $this->valid;
    }

    Ce qui permettrait de simplifier l'exemple donné dans le tutoriel http://mkdevs.com/tutoriaux.html#upload :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $oPluginUpload=new plugin_upload('profilPicture');
     
    if($oPluginUpload->isValid()){
       $sNewFileName='data/upload/'.$sColumn.'_'.date('Ymdhis');
     
       $oPluginUpload->saveAs($sNewFileName);
       $oAccount->profilPicture=$oPluginUpload->getPath();
     
       $oAccount->save();
    }
    au lieu de
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $sUploadColumn='profilPicture';
    if(isset($_FILES[$sUploadColumn]) and $_FILES[$sUploadColumn]['size'] > 0){
       $sNewFileName='data/upload/'.$sColumn.'_'.date('Ymdhis');
     
       $oPluginUpload=new plugin_upload($_FILES[$sUploadColumn]);
       $oPluginUpload->saveAs($sNewFileName);
       $oAccount->profilPicture=$oPluginUpload->getPath();
     
       $oAccount->save();
    }

    Je ne sais pas d'où vient la variable $sColumn, il y a sûrement une erreur dans l'exemple.

    Pour un module, j'ai eu besoin d'ajouter une méthode pour sauvegarder comme save() mais sans l'extension ($this->sNewPath=$sNewFileName.'.'.$this->sExtension -> $this->sNewPath=$sNewFileName).

  8. #8
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Merci de ces remarques je pense les prendre en compte

    En effet pour l'extension, c'est une erreur, je vais en profiter pour corriger
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  9. #9
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    J'ai mis à jour le plugin sur le framework, idem pour le tutorial, merci encore
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  10. #10
    Membre habitué
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2011
    Messages : 146
    Points : 172
    Points
    172
    Par défaut
    gérer les clef étrangère


    genre quand on entre un author_id = 3 il faudrait checker automatiquement que l'id 3 dans la table author existe.

    certainement une fonction a rajouter dans plugin_valid.


    j'aime bien ton framework, pas mal de chose intéressante qui ne se trouve pas encore dans le miens et vice versa


    de mon coté :

    - white list (par défaut on accède même pas à l'index si y ni a pas de droit)
    - gestion des relation BDD (PK, FK, unique)
    - historisation d'une table sur demande avec possibilité de revert
    - mon modèle contient un unique tableau (contenant : champ, fonction a checker, message d'erreur), ce qui évite de se retaper tous les modèle quand j'améliore, les fonctions de save / error / check, ce qui m'est arrivé souvent lol =)
    - auth & multilingue inclu en natif
    - cache de 3 niveaux pour le multilingue avec recherche automatique sur google translate si un appel est fait et que le test n'est pas encore traduit.

    - inclusion recursif (c'est a dire), avec ajax non intrusif sur multilevel
    chemin classique => controlleur <=> modele => vue => layout
    chemin multi level => [controlleur <=> modele => vue => (
    controlleur <=> modele => vue
    controlleur <=> modele => vue => controlleur <=> modele => vue)]
    => layout

    pour donnée une idée => http://www.estrildidae.net/fr/specie...pilla/general/

    chaque cadre peut-être loadé indépendamment les uns des autres ou tous les blocs entièrement chaîné


    - utilisable aussi bien en ligne de commande (je m'en sers beaucoup) que dans un navigateur. (gestion temps de chargement / multi thread etc...)
    => ce qui permet d'inclure les bout de script qu'on utilise pour faire un chargement, traitement de fichier etc..., plus pratique de l'avoir dans le projet car bien souvent c'est mis à part et ça finit par être perdu.

  11. #11
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Pour votre projet, vous pouvez toujours demander à developpez.com d'héberger votre projet

    genre quand on entre un author_id = 3 il faudrait checker automatiquement que l'id 3 dans la table author existe.
    On peut effectivement le faire facilement dans la méthode de isValid de la couche modèle
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

Discussions similaires

  1. Réponses: 7
    Dernier message: 30/11/2011, 18h53
  2. Programmation Orientée Aspect - votre avis
    Par Alec6 dans le forum Débats sur le développement - Le Best Of
    Réponses: 70
    Dernier message: 09/07/2009, 11h19
  3. Programmation Orientée Aspect - votre avis
    Par Alec6 dans le forum Autres
    Réponses: 70
    Dernier message: 09/07/2009, 11h19
  4. [Plugin][WTP] votre avis m'interesse.
    Par phalae dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 22/02/2006, 14h17
  5. [votre avis m'interesse] Interface avec un programme Java
    Par LineLe dans le forum Interfaces Graphiques en Java
    Réponses: 29
    Dernier message: 11/12/2004, 11h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo