Est ce vraiment nécéssaire...

Est ce vraiment nécéssaire... - PHP - Programmation

Marsh Posté le 11-01-2005 à 10:45:40    

Bonjour !
 
Voilà, je suis en train de survoler quelques tutoriels, et je tombe sur cet article concernant l'utilisation des tableaux:
 
http://www.phpdebutant.org/article11.php
 
Ma question porte sur le premier exemple d'utilisation des tableaux avec les balises html.
 
Je vois beaucoup de scripts utilisant cette méthode, mais je n'arrive pas à me convaincre de son utilité (pas de gain de code, de place...)
 
Peut être que quelque chose m'échappe ?
 
Merci !

Reply

Marsh Posté le 11-01-2005 à 10:45:40   

Reply

Marsh Posté le 11-01-2005 à 10:57:39    

Qu est ce qui te choque ?
 
Tu gagne surtout en gain de "productivite de code" si je puis dire, car tu verras rapidement que de retaper tjs le code HTML c tres souvent fastidieux, de plus pour une construction dynamique y a rien de mieux...

Reply

Marsh Posté le 11-01-2005 à 11:01:14    

en effet, à la lecture je ne suis pas non plus convaincu de l'interet...
surtout que si le style est fait par CSS (ce qui n'est pas le cas de leur exemple), ben c'est meme plus rapide de coder directement en html qu'avec leur méthode...


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 11-01-2005 à 11:13:19    

Xav_ a écrit :

en effet, à la lecture je ne suis pas non plus convaincu de l'interet...
surtout que si le style est fait par CSS (ce qui n'est pas le cas de leur exemple), ben c'est meme plus rapide de coder directement en html qu'avec leur méthode...


 
Je rejoins en effet ton avis :)

Reply

Marsh Posté le 11-01-2005 à 13:36:35    

Oula utiliser des tableaux pour stocker les balises html que l'on va utiliser ??
Ca me semble pas tres bon comme technique...
 
Perso je prefere utiliser soit des "themes" soit des "templates" pour mes pages. Comme ca le code html ne se trouve qu'a un seul endroit. Ensuite mes fichiers php restent "propres" (sans code html) et ne contiennent que les mecanismes dynanique du site, sans la mise en page... Ca facilite de beacoup le changement d'un "theme" ou la reutilisabilite du code php.

Reply

Marsh Posté le 11-01-2005 à 13:42:10    

"Perso je prefere utiliser soit des "themes" soit des "templates" pour mes pages"
 
>>> peux tu expliquer cette methode stp ?

Reply

Marsh Posté le 11-01-2005 à 13:56:28    

J'utilise aussi des templates, si tu veux des infos, je me sers de Smarty : http://smarty.php.net
Après chacun son truc, il y en a qui trouvent ça utile, d'autres non...

Reply

Marsh Posté le 11-01-2005 à 14:39:59    

Xav_ a écrit :

en effet, à la lecture je ne suis pas non plus convaincu de l'interet...
surtout que si le style est fait par CSS (ce qui n'est pas le cas de leur exemple), ben c'est meme plus rapide de coder directement en html qu'avec leur méthode...

+1

Reply

Marsh Posté le 11-01-2005 à 16:26:39    

on parle bien de code chez un debutant la ? car pour un debutant c franchement plutot sympatique comme explication bien que trivial, et je ne vous raconte pas le nombre de faute de frappe evitee par ces petits tableaux, ensuite comme tjs, ca depend des outils qu on utilise, de ce qu on programme exactement, de la methodologie qu on emploie etc...
 
C tjs tres subjectif comme vision
 
NB: ca peut tjs donner des idees "d'utilisation dérivée" style tableaux pour page multi-langue et j en passe.
 
PS: je tiens a rappeller que le sujet de l article est "les array" et non l interet du script en lui meme, sinon tlm viendrait gueuler sur les "hello world" :D


Message édité par mkracing66 le 11-01-2005 à 16:28:48
Reply

Marsh Posté le 11-01-2005 à 17:30:48    

huggy a écrit :

"Perso je prefere utiliser soit des "themes" soit des "templates" pour mes pages"
 
>>> peux tu expliquer cette methode stp ?


 
 
Les templates sont des fichiers textes ou tu rentre par exemple ta mise en page. L'avantage des template c'est que tu peux definir des "variables" a l'interieur que tu pourras remplacer par la suite via php.
En gros c'est comme quand tu prevois ta mise en page. Du genre tu dessine 2 colonnes et tu dis que celle de gauche va contenir le menu et celle de droite va contenir la partie principale du site.
Dans une template tu va simplement ecrire la mise en page, mais au lieu d'ecrire tout de suite le menu ou les donnees, tu y ecris une variable.
 
Dans ton code php tu va charger la template, remplacer les variables a l'interieur de celle-ci et enfin renvoyer le resultat au browser.
L'enorme avantage c'est que le code html est separe du code php. Si apres tu veux modifier ta mise en page, tu ne modifie que la template, pas besoin de toucher au code php.
 
Personellement le systeme de templates que je recommande (meme pour les debutants) est TemplatePower http://templatepower.codocad.com/. Il a l'avantage d'etre assez facile d'access et assez rapide. Bien entendu il a moins de features qu'un Smarty, mais la plupart du temps TemplatePower suffit largement pour les utilisations de la pluspart des gens.
 
 
Les themes quand à eux sont deja un systeme plus avance. En gros c'est un (ou plusieurs) fichier(s) php qui vont definir la facon dont tu affiche le code html dont tu as besoin.
Les themes et les templates peuvent tres bien s'integrer l'une l'autre sans probleme.
 
Prenons un exemple.
J'ai un theme qui se nomme "Noel". Ce theme est represente par un repertoire qui porte comme nom "noel", dans ce repertoire il y a un fichier php "theme.php" qui defini plusieurs proprietes du themes (nom. date, autheur, etc...) ainsi que des fonctions specifiques au theme. Il y a ensuite un repertoire "templates" ainsi qu'un repertoire "images".
Donc on pourrait imaginer quelque chose comme ca :

Citation :

themes\noel
themes\noel\theme.php
themes\noel\theme.css
themes\noel\templates\
themes\noel\templates\index.tpl
themes\noel\templates\gallerie.tpl
themes\noel\images\
themes\noel\images\sapin.png
theems\noel\images\papanoel.png


Voila un exemple d'un theme "Noel" pour un site.  
Dans le repertoire noel on trouve donc tout ce qui est en relation avec ce dernier.
Dans theme.php on trouve des fonctions specifiques. Par exemple imaginons que le site soit un site qui publie des nouvelles. On pourrait imaginer que chaque nouvelle est "encadree". Dans ce cas lorsqu'on veut afficher les news on pourrait avoir un code du genre :

Code :
  1. // On inclu les fichier necessaires
  2. require_once('config.php');
  3. require_once('mainfile.php');
  4. require_once("themes\$actualtheme\theme.php" );
  5. // On initialise le theme
  6. initTheme();
  7. // On recupere les news
  8. // ... $news est un tableau avec les news a afficher
  9. foreach ( $news as $val) {
  10.   theme_afficheNews($val);
  11. }
  12. //On dit au theme que l'on a fini
  13. endTheme();


Bon je suis passe rapidement sur quelques details, mais ce qu'il faut retenir c'est qu'avec les themes et les templates on arrive a se separer totalement du code html dans le code php.
Par exemple moi dans mes themes j'ai une fonction "makeLink". Cette fonction prends plusieurs parametres et me ressorts un lien html (donc un <a href=....). J'aurais pu a chaque fois faire un bete echo. Mais grace a cette fonction je fais des verifications sur les composants du lien, il s'ensuit que tous mes liens sont des liens valides xhtml 1.1. Alors que si j'avais a chaque fois fait un echo, si j'avais cree un lien non valide j'aurais du le rechercher dans tout le code.
 
 
 
Voila, j'espere que je ne t'ai pas embrouilles avec mes explications tordues. Enfin pour les debutants je conseille de commencer par les templates. Cela vous permetera deja de faire beacoup de choses. Apres une fois que vous maitrisez mieux le php vous pourrez vous attaquer a la conception de votre systeme de themes (exercice assze fun je trouve :D)

Reply

Marsh Posté le 11-01-2005 à 17:30:48   

Reply

Marsh Posté le 15-01-2005 à 08:32:40    

tiens j'avais complètement zappé ce sujet (j'ai pas reçu de notification de réponse...)
 
MErci bcp pour cette explication detaillée, je vais faire un tour du coté de http://templatepower.codocad.com/ !
 
Merci !

Reply

Marsh Posté le 15-01-2005 à 09:16:26    

humm. par contre, je suis perplexe.. je suis en train (d'essayer) de lire la faq contcernant la license de Smarty, et il y a deux réponses à une question, deux réponses qui n'ont pas l'air de se rejoindre..
 
Comme je suis une bille en anglais, quelqu'un peut il me dire la signifiaction de ça:
 

Citation :

Can I create a proprietary software, and sell it with Smarty?
 
A: Yes, you can. Smarty is licensed under the [LGPL] and distributing an unmodified smarty source as part of a commercial product is just fine.
 
A: As far as I know the GPL licence doesn't allow any work using a GPL software in any way different by mere aggregation to be released with a licence different from GPL. For this reason LGPL licence was created. LGPL allows programs using or linking to a library to be released with a different licence.
Top

Reply

Marsh Posté le 15-01-2005 à 18:44:16    

C'est juste une information sur le licence de SMARTY. Comme c'est du LGPL ils expliquent que :
1. tu dois laisser le code de smarty open source et pas touché
2. la licence LGPL te permets néanmoins d'inclure smarty dans un autre produit avec la licence que tu veux. Une licence commerciale par exemple. Mais le code de smarty Doit rester libre et LGPL.
 
(bon je me suis peut être un poil trompé car je suis pas expert en licences et tout, mais dans l'idée c'est ça.)

Reply

Marsh Posté le 15-01-2005 à 19:00:41    

mmhhh je pense qu'il y a mieux comme exemple plutot que donner cela ! :/

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed