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

PHP & Base de données Discussion :

Discussion : quelle architecture standard quand on n'utilise pas de framework PHP ?


Sujet :

PHP & Base de données

  1. #1
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut Discussion : quelle architecture standard quand on n'utilise pas de framework PHP ?
    Bonjour,

    Mettons que pour standardiser l'ossature des mes projets personnels sur des petits développements que je fais seule, j'aie envie d'adopter la philosophie MVC sans la lettre.

    Que dites vous de cette architecture standard ?
    Pour simplifier : les répertoires, les fichiers et quelques méthodes principales

    - classes (partie parfaitement commune à tous les sites => reusable tel quel)

    --- Sql_connection.php (connexion à toutes les bases)

    --- Php_to_sql.php (tout le crud)
    ------ public function sql_read($pdo,$sql,$where=array()) (return l'array PHP)
    ------ public function sql_write($pdo,$sql,$where=array()) (return l'array PHP)

    --- Php_to_html.php (production de toutes les entités HTML)
    ------ public function array_to_table($data, $id='', $class='', $caption='') (return l'entité HTML promise)
    ------ public function array_to_list($data, $list_type='ul', $id='', $class='') (return l'entité HTML promise)
    ------ public function menu_onglets_dynamiques($url, array $menu) (return l'entité HTML promise)

    --- Php_only.php (ce qui peut etre utilisé partout ailleurs)
    ------ public function is_array_of_associative_arrays(array $array) (return true or false)
    ------ public function is_real_date ($date_type_sql) (return datetime or false)


    - www (partie différente pour chaque site = le nom des pages donnera la logique métier, ici je vous mets un exemple de site pour un syndicat de co-propriétaires)
    --- prestaire.php
    --- coproprietaire.php
    --- lot.php
    --- conseil_syndical.php
    --- batiment.php
    --- activite.php

    --- img

    --- style.css

    --- inc
    ------- menu_inc.php

    --- js_lib
    ------ jquery
    ------ d3.js

    --- php_lib
    ------ tcpdf
    ------ phpmailer
    ------ phpword
    ------ phpexcel

    --- config.php

    Contiendra ce genre de choses

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    /*1) TRES IMPORTANT : EN PRODUCTION, PASSER CETTE CONSTANTE EN COMMENTAIRE*/
    //si true PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
    define('DEV',true);
    /*1) FIN************************************************************************************/
    /*2) pour le template HTML*/
    define('SITE_URL','http://localhost/site_test/www');//le DNS pointe direct sur le répertoire www
    define('SITE_PATH','C:/wamp64/www/mon_site');//la racine du site en amont de www
    define('CUR_TITLE','nom_de_mon_appli');
    define('CUR_DESCRIPTION','nom_de_mon_appli : explication de l\'acronyme');
    define('CUR_AUTHOR','authored by Sylvie VAUTHIER, software engineer');
    define('CUR_ICO_PATH','./img/nom_de_mon_appli.png');
    define('CUR_COPYRIGHT','Copyright © '.date('Y').' Sylvie VAUTHIER');
    Voilà, je pense n'avoir rien oublié d'essentiel ?

    Exemple de page du site (batiment.php)
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    <?php
    require('./config.php');
    spl_autoload_register(function ($class) {
      include '../classes/'.$class.'.php';
    });
    if( ! (defined('CUR_TITLE') && defined('CUR_DESCRIPTION') && defined('CUR_AUTHOR') && defined('CUR_ICO_PATH') && defined('CUR_COPYRIGHT'))){
      echo 'ERREUR ! Configuration du site incomplète !';
      exit;
    }
    $table='';
    $pts=new Php_to_sql(defined('DEV')?'DEV':'PROD');
    $scoop=$pts->local_connection();
    $data=$pts->sql_read($scoop,'select * from batiment');
    if(count($data)>0){
      $pth=new Php_to_html();
      $table=$pth->array_to_table($data,'batiment','tableau_par_defaut','Bâtiments');
    }
    ?>
    <!DOCTYPE html>
    <html lang="fr">
    	<head>
    		<meta charset="utf-8">
    		<title><?php echo strtolower(CUR_TITLE);?></title>
    		<meta name="description" content="<?php echo CUR_DESCRIPTION;?>">
    		<meta name="author" content="<?php echo CUR_AUTHOR;?>">
    		<link rel="shortcut icon" href="<?php echo CUR_ICO_PATH;?>">
    		<link rel="stylesheet" href="style.css" media="screen">
    	</head>
    	<body>
    		<header>
          <p>
    			<?php 
          echo CUR_TITLE.'<br/>';
          echo CUR_DESCRIPTION;
          ?>
          </p>
          <?php require('./inc/menu.inc.php'); ?>
    		</header>
    		<div>
          <?php echo $table; ?>
    		</div>
    		<footer>
    			<div id="footer">
            <p><?php echo CUR_COPYRIGHT; ?></p>
          </div>
    		</footer>
    	</body>
    </html>
    <?php
    $scoop=NULL;
    ?>
    Je compte sur votre sagacité sans filtre pour me dire ce qui pourrait être vraiment amélioré !
    C'est déjà le fruit de quelques années d'expérience et de réflexion intense alors ne soyez pas trop sévère please...
    Je peux encaisser toutes les critiques, mais constructives et bienveillantes...
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  2. #2
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Pour le travail, je passe à Symfony avec les autres développeurs de la boîte.
    Cela m'attriste de ne pas passer à Laravel, car number one à l'international, mais l'exception française tire vers Symfony, à mon grand dam...
    Mais il paraît que quand on pratique un framework PHP, il est vraiment plus facile de passer à un autre ensuite...
    Ca me console.

    Dans tous les cas, j'ai cru comprendre que

    1) Informix n'est pas géré par Doctrine. Et une partie de l'existant dans notre entreprise est en Informix pour encore quelques années...
    Donc, il faudra que je développe un POPO (plain old PHP object) pour gérer toutes les requêtes sur ces bases !

    Pour une débutante en framework PHP, ça va être chaud.

    2) Dans mon entreprise, je ne gère pas l'authentification. C'est un portail RSA et je n'ai pas la main dessus. Me contente de récupérer ce que les headers apache portent. J'imagine que sur Symfony, ça va être spécial à traiter.
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Tu dis ne pas utiliser de framework, sauf que quand je vois :
    - classes (partie parfaitement commune à tous les sites => reusable tel quel)
    pour moi c'est au moins une librairie , voir un framework en fonction de ce que ça contient.

    Maintenant avoir une base de code commune à tous les projets je suis pas fan. Tu changes une chose dans dans ta base commune et il faut controler tous les effets de bords dans tous les projets.

    Fait plutôt de ton dossier "classes" un module composer que tu peux ensuite installer facilement pour chaque projets éventuellement dans des versions différentes.
    De fait, tu hériterais de l'architecture "standard" d'une application php aujourd'hui :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    |_ /src
       |_ tonapp
    |_ /vendor
       |_ lib1
       |_ lib2
       |_ etc
    |_ composer.json
    Après ce qui se passe dans /src c'est un peu au gout de chacun.
    Moi j'aime bien avoir :
    - un dossier /pub qui va contenir tout ce qui est envoyer au client donc par exemple les images , les fichiers js et très souvent l'index.php et qui est donc la racine web du projet (http://monsite arrive dans ce dossier)
    - un dossier /application qui contient tout le code métier et qui lui est en dehors de la racine web , rendant les fichiers php inaccessible par qui que ce soit. C'est le fichier index.php qui gère les inclusions.

    Mais ca reste très personnel et y'a pas vraiment de règle établie.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Merci de ta réponse, Grunk !
    Ca reste personnel, mais c'est bien la logique personnelle d'un développeur qui m'intéresse, car un développeur est composé de chair, d'os, et de logique !

    Je suppose que tu développes au quotidien avec un framework, vu ta réponse ? Tu peux me dire lequel ? Tu conserves ce framework même pour un petit projet perso à la maison ?
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  5. #5
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    J'utilise Pry. C'est un framework que j'ai développé.
    Je l'utilise majoritairement au boulot , mais comme il a l'avantage d'être très léger et modulable je peux l'utiliser pour tout et n'importe quoi.
    C'est presque plus une grosse lib qu'un framework car quasiment rien n'est obligatoire et je peux très bien utiliser qu'un petit module et pas du tout le reste.

    Tu peux y jeter un oeil si tu veux mais c'est très peu et mal documenté et je fait pas spécialement de support dessus pour les quelques utilisateurs qui s'en servent
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    J'ai essayé Zend Framework 1.x il y a quelques années. J'ai un peu galéré mais j'avais réussi à développer une petite application avec.

    J'ai essayé Zend Framework 2.x plus récemment. Jamais réussi à adapter le tutoriel à mon cas simple d'accès à un serveur MySQL ; j'avais l'impression de remplir une série de fichiers de configuration... J'ai abandonné.

    J'avais essayé Symphony il y a quelques temps et de nouveau récemment : idem Zend Framework. J'ai abandonné.

    J'ai voulu récemment essayer Jelix mais devant un problème de configuration de LDAP et le peu d'aide reçue pour me dépanner, j'ai abandonné.

    J'ai eu récemment à faire des modifications sur une application développée avec Laravel. J'ai passé infiniment plus de temps à comprendre comment ce machin était foutu qu'à faire les modifications.


    Le point commun que j'ai constaté avec tous ces frameworks, c'est que je ne savais pas ce que je faisais. Au moindre message d'erreur du framework, grosse galère pour trouver ce qui déclenchait l'erreur et comment la résoudre. Autre chose que je n'aime pas dans les frameworks : l'utilisation d'un Outil Réellement Merdique pour accéder aux données. J'ai eu une très mauvaise expérience avec Hibernate il y a plusieurs années en utilisant le framework JBoss Seam et le pseudo SQL de Zend Framework ne m'avait pas convaincu non plus. Je préfère écrire mes requêtes en vrai SQL et les soumettre via PDO.


    J'ai donc décidé de développer from scratch en MVC. Il est probable que ça deviendra mon framework puisque je développe en parallèle une appli pro et une appli personnelle.

    Mon architecture :
    /monProjet (contient les fichiers .htaccess (pour l'url rewriting) et index.php (qui contient l'auto-loader, le renvoi spécial vers les fichiers ajax commençant par aj_, l'appel de la configuration de base puis l'appel du routeur).
    - Application
    -- Ajax (contient les fichiers php Ajax dont le nom commence par aj_)
    -- Config
    -- Controller (contient les contrôleurs et classes générales. C'est surtout cette partie qui pourrait devenir le coeur du framework)
    -- i18n (contient un répertoire par langue et chaque répertoire contient les fichiers de traduction. Pas encore mis en oeuvre complètement car pas de besoin immédiat au boulot)
    -- Model (contient toutes les classes d'accès aux données)
    -- Modules
    --- Accueil
    ---- Controller (contient les contrôleurs du module Accueil)
    ---- View (contient les vues du module Accueil)
    --- DeuxiemeModule (même structure que Accueil)
    --- TroisiemeModule (...)
    -- View (contient les vues générales de l'application page.phtml, erreur.phtml, utilisateur.phtml, menuUtilisateur.phtml...)
    -- logs (destiné à recevoir les fichiers de log mais pas encore implémenté)
    -- Public
    --- css (contient LES fichiers css, à raison d'un général et d'environ un par vue. Inutile de charger un gros css pour n'utiliser qu'une toute partie du style qui y figure)
    --- img (contient les fichiers d'images)
    --- jquery (contient la bibliothèque jquery)
    --- js (contient les fichiers javascript de l'application)


    C'est améliorable et il y aura sans doute aussi encore un répertoire pour les fichiers uploadés par l'utilisateur ; il pourrait y avoir un répertorie pour les vidéos...

    L'avantage est que je maîtrise totalement ce que je fais et je comprends comment fonctionne mon application.

    J'envisage de faire une série de billets de blog, voire un tutoriel, pour expliquer "mon framework" construit pas à pas. Ce n'est peut-être pas top aux yeux des puristes de la POO mais l'essentiel est que ça fonctionne, ce soit compréhensible et débogable assez facilement.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  7. #7
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par grunk
    J'utilise Pry. C'est un framework que j'ai développé.
    Ah ! Faudra que je regarde ça en détail.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  8. #8
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Y'a pas de secret , tous les framework on une courbe d'apprentissage plus ou moins importante.
    Quand on vient du PHP "from scratch" et qu'on bascule sur quelques chose comme symfony c'est très compliqué car ce qu'on faisait avant simplement devient une galère. On rempli des km de fichiers de config et il faut souvent accepter de pas forcément comprendre tout ce qui se passe.
    Mais au nom de la productivité et de la simplicité on abandonne un peu de controle. Et puis après quelques projet on commence à maîtriser un peu plus l'outil.

    Laravel est le fw qui se rapproche le plus de ce que j'aime faire et avec lequel je rechignerais pas à travailler.
    Symfony j'ai jamais réussi à accrocher.

    Le gros reproche que je pourrais faire aux FW c'est que dès qu'on à un besoin qui sort de la norme , ça devient généralement vite chiant et compliqué. Par contre si on reste dans les "lignes" c'est un gain de temps important.

    Ah ! Faudra que je regarde ça en détail.
    Hésite pas à poser des question si jamais
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    allez, je rentre dans le bal.
    J'ai épuisé plusieurs framework : Yii, CodeIgniter, Symfony 2 et à vrai dire je n'ai pas été emballé plus que ça. Quand tu vois ce qu'il faut lancer pour faire une simple action, tu te dis qu'il y a un problème quelque part.
    Adepte de la légèreté, j'ai très vite opté pour le développement d'un petit framework ultraléger qui fournit le câblage nécessaire à un site web.
    Mon approche est pure objet sur toute la ligne, MVC et mon code est organisé par concepts.
    /www contient uniquement index.php + .css + .js
    /www/img contient uniquement les images
    /app contient tout le reste :
    /app/vendor les lib tiers, /app/src le code source de l'app.
    Tout est objet dans mon code, espaces de noms et autoloader utilisés à bloc.

    Mon framework s'occupe aussi du rendu, comme tout est objet, même mes vues le sont. Je fais ainsi (en simplifiant légèrement):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
     
    use App\Views\Article\Pages\Accueil;
     
    echo new Accueil();
    L'organisation en concepts me permet d'avoir des URL facilement routables : https://www.monsite.com/concept/...
    Comme l'autoloader enregistre les concepts, le routage récupère les bons fichiers très simplement sans avoir un routeur monolithique comme j'ai vu 2 fois : > 30000 lignes.

    Pour la base de données, je fuis les ORM comme la peste. J'ai opté pour une approche originale : j'ai un dépôt de ressources SQL pour chaque concept. Chaque ressource contient le SQL et on indique pour chaque clause ce qui est paramétrable et/ou obligatoire. Le système s'occupe de tous les contrôles automatiquement et gère les ordonnancements de manière dynamique (les tris et autres filtres).
    Ainsi, comme certaines requêtes sont très complexes, on pose le code SQL optimisé dans ce mécanisme et on le paramètre à la volée en fonction des besoins. PDO sur toute la ligne bien évidemment.

    Pour l'internationalisation j'utilise des fichiers Xml au standard tmx avec des messages en anglais dans le code qui restent lisibles !!!

    Après, il faut savoir rester souple dans sa démarche, ne pas bloquer dès que ça sort des sentiers battus.
    J'ai la chance de travailler sur des frameworks perso dans certains boites de grande qualité. Les gars avaient des approches vachement originales de certaines problématiques et étaient imaginatifs.
    Dès que la courbe d'apprentissage dépasse quelques heures c'est qu'il y a un os à mon avis. Si vous maîtrisez le PHP à un bon niveau, c'est normalement du gâteau.

  10. #10
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    @rawsrc : Ton framework est librement disponible quelque part ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  11. #11
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Personnellement je trouve Laravel, vraiment facile à prendre en main, une fois qu'on a compris le principe.
    Mon parcours framework : ZF1 -> FuelPHP -> Cake3 -> Laravel
    Cake 3 reste mon préféré au niveau doc, c'est juste une tuerie.
    D'après mon entourage Yii est très facile à prendre en main.

    Après si j'ai un tout petit projet, alors j'utilise un mini framework notamment Slim : https://www.slimframework.com/
    Silex étais une autre solution, mais il est remplacé par SF4 et sa nouvelle simplicité à mettre en place (faudra que j'essaye pour voir).

Discussions similaires

  1. Réponses: 6
    Dernier message: 29/11/2013, 10h57
  2. Question générale quant à l'utilisation d'un Framework PHP
    Par J.Walsh dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 20/01/2012, 11h05
  3. [JDialog] Ajouter un scroll quand on n'utilise pas de Layout
    Par mavina dans le forum Agents de placement/Fenêtres
    Réponses: 6
    Dernier message: 14/10/2008, 13h03
  4. Utilisation d'un framework PHP depuis des classes JAVA
    Par sharivaree dans le forum Langage
    Réponses: 3
    Dernier message: 12/10/2006, 16h10
  5. Réponses: 13
    Dernier message: 08/03/2004, 21h32

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