Personal blog of a PHP developer writing on PHP packages, frameworks, hosting, benchmarks and language quirks.
HN commenters cite it in PHP debates, such as the T_PAAMAYIM_NEKUDOTAYIM error name, PHP cloud hosting, and CodeIgniter's UTF-8 support.
IMHO, PHP is hated and misconsidered because: Since a few years ago, it was mainly used by amateurs. The truth is that PHP, right now, is a very appealing and competing language. I know several companies that power their services with PHP and it just makes wonders.
Of course: you need to know what you are doing. But the language itself is capable of doing almost everything, without drawbacks.
Lot of people make clueless claims about how PHP is worst than (place-latest-cool-framework/language-here). This is far from being true, read this: http://philsturgeon.co.uk/blog/2013/11/benchmarking-codswallop-nodejs-v-php
So, PHP is hated in the devs world because it gave access to "amateurs" to the world of crafting software. Which is ridiculous.
Sure, I'll list off a few reasons:
* One of the biggest contributors to the community edition left and wrote a nice blog post about it [0]
* CodeIgniter uses some very untestable patterns [1]
* The way it allows loading classes is horrible [2]
* It feels like a first-generation PHP framework because it is a first-generation PHP framework
* It tries to do almost everything. A framework should have the bare minimum, and use outside libraries or libraries that were developed without the framework in mind.
[0] http://philsturgeon.co.uk/blog/2012/12/5-things-codeigniter-cannot-do-without-a-rewrite
[1]
$ci =& get_instance()
[2]
$this->load->library('typography');
This was ported over from CodeIgniter which has a few crazy Hellers for this sort of thing. I wrote an article explaining the benefits:
http://philsturgeon.co.uk/blog/2009/12/Why-CodeIgniter-HTML-helper-functions-rock
Remember though, that class won't be loaded unless you want it.
There's many utf8 collations so you should specify something specific to default to. I recently read to use utf8_unicode_ci [0] is the best.
[0] http://philsturgeon.co.uk/blog/2009/08/UTF-8-support-for-CodeIgniter
The "Phil" he's talking about in the first paragraph is Phil Sturgeon, and the original blog post is here:
http://philsturgeon.co.uk/news/2010/10/what-happens-next
recently(not quite) there was a talk in php internals about changing that.
read this:
http://philsturgeon.co.uk/blog/2013/09/t-paamayim-nekudotayim-v-sanity