60 votes

PHP vs moteur de template

Je suis en train de discuter du choix entre PHP en tant que moteur de template et un moteur de template en plus de PHP.

Quel est ton choix et pourquoi?

Je dis, pourquoi un autre moteur de modèle, si PHP est un moteur de modèle lui-même.

48voto

Robert K Points 14893

Pour les moteurs de template:

  1. Plus de sécurité pour l'utilisateur final de personnalisation. Thèmes en pur PHP ont sans contrainte de capacité à causer des dommages à un utilisateur et à leur installation. Ainsi, un moteur de template supprime ce risque, si c'est une bonne idée.
  2. La facilité d'utilisation pour les non-programmeurs, comme les graphistes ou designers web.

De plain-php:

  1. La vitesse de la pure PHP ne peut être égalée par aucun moteur de template construit au sommet.
  2. La pleine puissance de PHP est disponible à la sortie, et pas seulement une interprétation d'une ou filtrée partie.

Je préfère le PHP lui-même, si possible. Et la plupart des gens ne veulent pas de pirater votre logiciel en faisant un thème personnalisé, il est donc facile de prendre un examen rapide de lire et d'étudier sa sécurité. Cela dit, je suis le "entre gars" qui assure à la fois la création de modèles et de programmation, et même certains arts graphiques; mon niveau de compétences diffère d'un strict programmeur et d'un strict de l'artiste/concepteur.

24voto

rogeriopvl Points 9619

Eh bien, c'est juste mon avis, mais les moteurs de template sont nuls. Vous devez d'abord comprendre comment le moteur de gabarit est implémenté, puis apprendre à l'utiliser. Cela semble simplement une perte de temps, parce que PHP seul le fait mieux et offre beaucoup plus de flexibilité.

14voto

altCognito Points 23944

Les raisons suivantes s'appliquent:

  • La séparation de votre application dans les modèles avec un moteur permet à votre application d'être moins vulnérables à l'arrêt de code d'erreurs
  • À l'aide de modèles peut vous donner une plus grande flexibilité dans l'avenir, lorsque le refactoring, parce que l'espace de noms ne seront pas directement intégré dans l'application
  • À l'aide de modèles encourage (forces) les développeurs de garder une logique d'entreprise et le code de la couche de présentation.
  • À l'aide de modèles, il est plus facile de se moquer d'ensembles de données et de les transmettre à un moteur de template et d'avoir un aperçu de ce à quoi le site ressemble avec des données

10voto

Zyx Points 340

PHP n'est pas un moteur de template, mais un langage qui peut être utilisé pour écrire des modèles ou des moteurs de template. Un moteur de template n'est pas seulement une langue, mais aussi l'API de programmation qui permet de les scripts pour les localiser, de les organiser, de modèles ou de céder les données à partir du script. Pur PHP vous offre absolument rien - c'est juste une langue. Au lieu de cela, vous devriez prendre de telles bibliothèques, comme Zend_View dans le Zend Framework pour les comparaisons (en gros, il fonctionne exactement de la même manière, comme Smarty, sauf qu'il utilise PHP pour écrire des modèles). Vous devriez vous demander si vous devriez utiliser un moteur de template en PHP ou autre chose comme un langage de template.

Quand il s'agit de templating langues elles-mêmes, alors... ordinaire, les boucles et les conditions sont assez pour écrire des modèles, mais cette "assez" ne signifie pas qu'il est facile, confortable, efficace et flexible. PHP n'offre rien de spécial pour les designers de templates, mais beaucoup de "création de modèles de langues" (comme Smarty) un sous-ensemble limité de PHP, donc je ne suis pas surpris que les programmeurs choisir PHP. Au moins, ils peuvent écrire des fonctions et de l'utilisation de la programmation orientée objet qui est trop massive pour cela (à mon avis), mais n'travail et aide vraiment.

Le point est que la coutume de template langues ne sont pas limités avec PHP inconvénients, mais leurs concepteurs unsually ne le voyez pas, affirmant que "l'affichage de variables et une boucle, c'est assez". Les domaines possibles, d'où la création de modèles de langues pourrait être beaucoup plus efficace:

  • La forme de l'affichage et de rendu (je n'ai pas vu un framework PHP comme langage de templating qui a fourni une solution simple, flexible et générique de système de personnalisation de l'aspect du formulaire).
  • Comprendre le HTML/structure d'un document XML.
  • Automatique XSS, injection de filtres.
  • La résolution de divers problèmes communs dans la couche de présentation (c'est à dire la personnalisation de l'apparence du système de pagination, l'affichage des données dans des colonnes, etc.)
  • Modèle de portabilité et de véritable séparation de la logique d'application et les détails de mise en œuvre à partir des modèles.

Exemples de création de modèles de langues qui suivent de cette façon sont mentionnés ci-dessus PHPTAL et Ouvrir un bloc 2 du Modèle. Quelques idées similaires peuvent également être trouvés dans TinyButStrong, mais malheureusement ce moteur de template est extrêmement lent.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X