Je voudrais entendre les opinions de personnes qui ont utilisé un langage qui compile en php. Une de ces langues que je connais est Haxe . Les autres que j'ai lus sont Kira et Pharen .
Dans quelle mesure ces langages s'intègrent-ils avec PHP? Est-il relativement facile d'y écrire un plug-in pour un CMS PHP?
Quelle est la maturité de leurs implémentations et de leurs outils?
Les recommanderiez-vous à quelqu'un qui doit utiliser un php cms mais déteste le php?
Réponses:
Je suis le créateur de Pharen, qui compile un dialecte Lisp en PHP. Pour répondre à vos questions, il s'intègre assez bien avec PHP. Il est facile d'inclure des fonctions d'appel de bibliothèques existantes / d'utiliser leurs objets.
En ce qui concerne la maturité, il n'y a pas encore eu d'utilisation en production du code Pharen. Alors qu'en termes de langue, tout ce que vous souhaitez est là et fonctionne, des choses comme le déploiement nécessitent encore un petit effort supplémentaire.
Cela dit, si vous choisissez Pharen, je serais heureux de vous aider autant que possible. Veuillez me faire savoir si vous avez d'autres questions!
la source
Josh K a raison sur certains points, il vaut mieux connaître php pour mieux cibler le runtime php. Cependant, la raison principale de ceci n'est pas que haxe est un mauvais compilateur, mais que php est un tel langage "idiosyncratique".
Php a une quantité incroyable de fonctions dans son espace de noms de base. Il y a donc beaucoup de mots-clés réservés et de fonctions spéciales que vous devez connaître pour éviter les conflits de noms. Certaines personnes sont d'accord avec cela, je pense que c'est une conception de langage horrible. HaXe contourne ce problème en créant son propre espace de noms en php.
Php transforme automatiquement un entier en flottant en cas de débordement. Bien sûr, cela casse le typage strict sur lequel des langages comme HaXe s'appuient pour la sécurité des types (et pour permettre des choses simples comme des algorithmes de hachage rapides). Je pense que c'est une autre caractéristique linguistique terrible. De plus, haXe ne peut pas aider ici, car ce comportement php ne peut pas être modifié.
Alors voilà. Je pense que haXe améliore le php car il corrige quelques défauts de langage (perçus) pour le php. Cependant, il y a tellement de choses étranges à propos de php, que vous finissez par avoir besoin de bien l'apprendre afin de corriger certaines de ses particularités.
Cela étant dit, le langage haXe est assez étonnant. Il vous permet d'organiser votre code php dans de meilleurs espaces de noms, a un système de type assez sophistiqué, a quelques options de compilation conditionnelles pour gérer les problèmes spécifiques à php et a quelques belles opérations de documentation. Pour ces seules raisons, ce n'est pas un mauvais choix de concevoir une bibliothèque sophistiquée ... même pour quelque chose comme php.
Liens pertinents:
php magic: http://haxe.org/doc/advanced/magic
(recherchez également les «bizarreries de la plate-forme» dans la section communautaire du site principal haxe.org)
la source
Ordures horribles
J'ai utilisé haXe sur la recommandation de quelqu'un et je ne le recommanderais jamais à personne pour une raison quelconque .
La compilation croisée entre les langues entraîne de la confusion, des erreurs et des erreurs. Cela fait également du débogage une tâche monumentale.
Non! Je vous recommanderais d' apprendre PHP correctement ou d'utiliser un CMS différent. Comme il semble que vous n'ayez pas le choix dans la partie CMS, l'autre option est d'apprendre la langue et de la gérer.
Jeune au mieux, instable au pire. Vous ne trouverez pas beaucoup de soutien pour eux.
Il semble que vous ayez le travail d'écrire quelque chose pour une application PHP. Outre les problèmes évidents que votre code aurait à importer des fonctions / objets PHP existants pour fonctionner, et les fichiers indésirables mentionnés ci-dessus, toute autre personne travaillant sur ce sujet devra maintenant apprendre votre langage au compilateur de langage. Sinon, ils vont jouer avec le code "PHP" fragile qui est le résultat. Cela signifie également que s'ils y travaillent, vous devrez réimplémenter ces modifications dans votre code, ou risquer de perdre les modifications apportées par quelqu'un d'autre.
Si vous détestez travailler avec PHP, attendez de devoir travailler avec une partie du code de sortie de ces langages.
"" Compilation croisée entre les langues "
Cela conduit à la confusion, aux erreurs et aux erreurs. Lorsque vous écrivez du code qui est traduit dans une autre langue, vous vous supprimez de la source initiale. Ce que vous écrivez et ce qui est généré dépend entièrement du compilateur. Écrire du code pour générer du code devient confus, vous ferez des erreurs et vous trouverez des erreurs auxquelles vous ne vous attendez pas. Je ne vous recommanderais pas de les utiliser.
la source
J'ai utilisé de nombreux traducteurs de langue, et à la fin, vous avez toujours beaucoup à faire dans ce que vous essayez d'éviter ... Donc, si vous détestez PHP, attendez jusqu'à ce que vous ayez un problème vraiment obscur qui vous oblige pour aller jusqu'au cou dans ses entrailles. Cependant, je dois être un glouton, car je pense que cibler neko avec haXe serait plutôt cool.
la source
Si c'est pour faire un plugin pour un CMS PHP, restez avec PHP.
Bien que j'utilise HaXe et le trouve vraiment vraiment génial, je ne le recommande pas dans ce cas. C'est simplement trop d'indirections et les coûts seraient plus élevés que les gains pour juste un petit plugin.
la source
J'ai déjà essayé Haxe et je ne peux pas le recommander pour le développement web.
Cependant, j'ai aimé l'approche, c'est pourquoi j'ai implémenté mon propre langage minimaliste qui se compile également en PHP, mais d'une manière beaucoup plus directe que Haxe, de sorte qu'il reste facile de déboguer le code généré et d'interagir avec le code PHP existant .
la source