When comparing PHP vs Haxe, the Slant community recommends PHP for most people. In the question“What are the most enjoyable programming languages for web development? ” PHP is ranked 13th while Haxe is ranked 14th. The most important reason people chose PHP is:
According to the [2015 Stack Overflow Developer Survey](http://stackoverflow.com/research/developer-survey-2015#tech) (26,086 people surveyed), PHP was the 5th most popular/used language at 29.7%.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro One of the most common languages
According to the 2015 Stack Overflow Developer Survey (26,086 people surveyed), PHP was the 5th most popular/used language at 29.7%.
Pro Lots of tutorials online
Pro Used by most common CMS platforms
Many clients are looking for an easy-to-update web site that's flexible and free. Drupal and Wordpress fill those needs very well.
Pro Most prominent language for web applications
Part of the de facto standard web application stack.
Pro Great third-party package manager
PHP standard library is somewhat subpar, but if you need plugins, language features, composer has them all( you can even puzzle together a custom framework from composer).
Pro Fast
Since 7.x was released, PHP has become a pretty fast language.
Pro Lots of PHP frameworks available which help with development
PHP people love frameworks, and with frameworks such as Laravel, you can build a web app or API really fast (Facades, ORMs, scaffolding etc.)
Pro Great documentation
Pro Checks types at compile time
Pro Access native features of target platform
Whenever you need to use target specific code (e.g. there is no Haxe library or extern definitions), you can embed fragments as untyped code in your Haxe code.
Pro Transpiles to Javascript, PHP, Python and many other languages
Pro Dead code elimination
Removes unused types and methods during transpilation.
Pro Checks syntax at compile time
Pro Support multiple different platforms from one source
Pro Easy sharing of code accross multiple target platforms
Pro Provides an exit strategy for Flash developers through OpenFl
OpenFl is a library written in Haxe, that duplicates the Flash API, by providing a parallel implementation.
Haxe's syntax has a lot of similarities with Actionscript 3.
Flash developers can easily migrate their code to Haxe while still using and targeting Flash, in addition to unlocking all the new targets supported by Haxe / OpenFl.
Cons
Con Poorly designed language
Despite its widespread use, PHP is generally looked upon poorly from a design point of view. The consistency of function names and function argument order, lazily and borderline non-functional implementation of object oriented programming, can only receive requests via POST methods, slow version adoption (the PHP you learn right now may not work on every webserver you'll work on), and a focus on "hacking things together" rather than "doing it right". These are all very common complaints when it comes to working with PHP. While not a bad language to learn, PHP is not at all a good language to learn first, as it will probably teach bad habits.
Con Immense catalog of insecure frameworks
The most serious security problems in websites on the web today are almost universally found in popular PHP frameworks, CMS platforms, libraries and code samples, almost all stemming from poor language design, bad tutorials and awful resources.
Con After python, probably one of the worst languages ever
Con Poorly designed language, awful syntax & luckily on the decline
Nobody in their right mind is using PHP for new software, if you decide to learn it as your first language you'll be stuck working in teams with old developers who have had no interest in the computer programming field since they landed their first job while maintaining some 2000 era archaic website codebase.
Con Most tutorials are out of date
A lot of very bad tutorials are still widely circulated among beginners, and these tutorials teach very poor programming practices.
Con Most resources are poorly-written
Few resources exemplify the "correct" or secure use of features.
Con Interpreter being too permissive
If you forget the dollar sign, the variable name will be converted to a string.