Ich würde gerne Meinungen von Leuten hören, die eine Sprache verwendet haben, die sich zu PHP kompiliert. Eine solche Sprache, die ich kenne, ist Haxe . Andere, über die ich gelesen habe, sind Kira und Pharen .
Wie gut lassen sich diese Sprachen in PHP integrieren? Ist es relativ einfach, in ihnen ein Plug-In für ein PHP-CMS zu schreiben?
Wie ausgereift sind ihre Implementierungen und Tools?
Würden Sie sie jemandem empfehlen, der ein PHP-CMS verwenden muss, aber PHP hasst?
Antworten:
Ich bin der Schöpfer von Pharen, der einen Lisp-Dialekt für PHP kompiliert. Um Ihre Fragen zu beantworten, integriert es sich ziemlich gut in PHP. Es ist einfach, vorhandene Bibliotheken einzubeziehen, Funktionen aufzurufen und deren Objekte zu verwenden.
Was die Reife betrifft, wurde Pharen-Code noch nicht in der Produktion verwendet. Während in Bezug auf die Sprache alles vorhanden und funktionsfähig ist, ist für die Bereitstellung noch ein wenig zusätzlicher Aufwand erforderlich.
Das heißt, wenn Sie sich für Pharen entscheiden, würde ich Ihnen gerne helfen, so gut ich kann. Bitte lassen Sie mich wissen, wenn Sie weitere Fragen haben!
quelle
Josh K hat in mancher Hinsicht Recht, es ist besser, PHP zu kennen, um die PHP-Laufzeit besser zu steuern. Der Hauptgrund dafür ist jedoch nicht, dass haxe ein schlechter Compiler ist, sondern dass php eine so "eigenwillige" Sprache ist.
PHP hat eine unglaubliche Menge an Funktionen in seinem Basis-Namespace. Es gibt also viele reservierte Schlüsselwörter und spezielle Funktionen, die Sie kennen müssen, um Namenskonflikte zu vermeiden. Einige Leute sind damit einverstanden, ich denke, es ist schreckliches Sprachdesign. HaXe umgeht dieses Problem, indem es in PHP einen eigenen Namespace erstellt.
Php wandelt automatisch eine Ganzzahl in ein Float um. Dies unterbricht natürlich die strikte Typisierung, auf die Sprachen wie HaXe für die Typensicherheit angewiesen sind (und um einfache Dinge wie schnelle Hashalgorithmen zu ermöglichen). Ich denke, das ist ein weiteres schreckliches Sprachmerkmal. Auch hier kann haXe nicht helfen, da dieses PHP-Verhalten nicht geändert werden kann.
Hier bitteschön. Ich denke, haXe macht PHP besser, weil es ein paar (wahrgenommene) Sprachfehler für PHP beseitigt. Es gibt jedoch so viele seltsame Dinge an PHP, dass Sie es erst gut lernen müssen, um einige seiner Besonderheiten zu beheben.
Trotzdem ist die Sprache von haXe ziemlich erstaunlich. Sie können Ihren PHP-Code in besseren Namespaces organisieren, haben ein ziemlich ausgeklügeltes Typsystem, einige bedingte Kompilierungsoptionen für die Behandlung von PHP-spezifischen Problemen und einige nette Dokumentationsoperationen. Schon aus diesen Gründen ist es keine schlechte Wahl, eine anspruchsvolle Bibliothek zu entwerfen ... auch für so etwas wie PHP.
Relevante Links:
php magic: http://haxe.org/doc/advanced/magic
(Suche auch nach "Plattform-Macken" im Community-Bereich der haxe.org-Hauptseite)
quelle
Schrecklicher Müll
Ich habe haXe auf Empfehlung von jemandem verwendet und würde es aus irgendeinem Grund niemandem empfehlen .
Kreuzkompilierung zwischen Sprachen führt zu Verwirrung, Fehlern und Irrtümern. Außerdem wird das Debuggen zu einer gewaltigen Aufgabe.
Nein! Ich würde empfehlen, entweder PHP richtig zu lernen oder ein anderes CMS zu verwenden. Da Sie im CMS-Teil keine Wahl zu haben scheinen, besteht die andere Möglichkeit darin, die Sprache zu lernen und damit umzugehen.
Bestenfalls jung, im schlimmsten Fall instabil. Sie werden nicht viel Unterstützung für sie finden.
Es hört sich so an, als ob Sie die Aufgabe haben, etwas für eine PHP-Anwendung zu schreiben. Abgesehen von den offensichtlichen Problemen, dass Ihr Code vorhandene PHP-Funktionen / -Objekte importieren müsste, um zu funktionieren, und dem oben erwähnten Müll, muss jetzt jeder, der daran arbeitet, Ihren Language-to-Language-Compiler lernen. Andernfalls werden sie mit dem fadenscheinigen "PHP" -Code herumspielen, der das Ergebnis ist. Dies bedeutet auch, dass Sie, wenn sie daran arbeiten, diese Änderungen in Ihrem Code erneut implementieren müssen, oder dass Sie riskieren, Änderungen zu verlieren, die andere Personen vornehmen.
Wenn Sie es hassen, mit PHP zu arbeiten, warten Sie, bis Sie mit einem Teil des Codes arbeiten müssen, den diese Sprachen ausgeben.
"" Kreuzkompilieren zwischen Sprachen "
Es führt zu Verwirrung, Fehlern und Irrtümern. Wenn Sie Code schreiben, der in eine andere Sprache übersetzt wird, entfernen Sie sich aus der ursprünglichen Quelle. Was Sie schreiben und was generiert wird, liegt ganz beim Compiler. Das Schreiben von Code zum Generieren von Code wird verwirrend, Sie werden Fehler machen und Fehler finden, die Sie nicht erwarten. Ich würde nicht empfehlen, sie zu verwenden.
quelle
Ich habe zahlreiche Sprachübersetzer eingesetzt, und am Ende hat man immer zu viel zu tun mit dem, was man zu vermeiden versucht ... Wenn Sie PHP hassen, warten Sie einfach, bis Sie ein wirklich dunkles Problem haben, das Sie erfordert tief in den Darm eindringen. Allerdings muss ich ein Vielfraß sein, denn ich denke, es wäre ziemlich cool, mit haXe auf neko zu zielen.
quelle
Wenn Sie ein Plugin für ein PHP-CMS erstellen möchten, bleiben Sie bei PHP.
Obwohl ich HaXe benutze und es wirklich sehr, sehr gut finde, empfehle ich es in diesem Fall nicht. Es sind einfach zu viele Indirektionen und die Kosten wären höher als die Gewinne für nur ein kleines Plugin.
quelle
Ich habe Haxe bereits ausprobiert und kann es für die Webentwicklung nicht empfehlen.
Allerdings hat mir der Ansatz gefallen, weshalb ich meine eigene minimalistische Sprache implementiert habe, die auch bis zu PHP kompiliert wird, jedoch viel direkter als Haxe, so dass es einfach bleibt, den generierten Code zu debuggen und mit vorhandenem PHP-Code zu interagieren .
quelle