Talk:PHP/Archive 6

Templating Engines
It seems like this section is far too brief and technical. Does anyone have any objections to me quickly writing up a bit about the use of template engines to separate logic and design? —Preceding unsigned comment added by Attilitus (talk • contribs) 02:27, 10 February 2008 (UTC)


 * See my comment on the bottom; I think the section should be removed because template engines are not exclusive to php. There is no reason there should be a template engine section in the php article and not in other languages. Template engines have their own article. -- FatalError (talk | contribs) 04:35, 12 February 2008 (UTC)

Number of functions in Criticism
The criticism section states that PHP has some 5,000 functions. I agree that this can be an issue, but I don't understand the following sentence, "This is primarily due to the lack of namespaces support." Even if PHP had namespace support, there would still be 5,000 funcitons; they would just be in different namespaces. Also, how can functions be "due to a lack of namspace support?" Just because you have namespaces doesn't mean you will have less functions. Gutworth 02:36, 4 May 2007 (UTC)


 * 5000+ in the global namespace. I have reworded it.  Cburnett 02:51, 4 May 2007 (UTC)
 * No such number really exists, I recommend not specifying a number and simply stick to namespaces in general. The quickref that is referred to lists all PECL functions that are documented whereas there are hundreds more PECL extensions that are not documented. Also, most of these 5000+ are not installed by default. In theory this number could just as easily be 1,000,000 and have the same meaning. Philipolson 18:16, 1 July 2007 (UTC)

Recent changes
Both of these edits have been discussed before. It is commonplace that articles on programming languages become swamped with:


 * 1) huge listings of code;
 * 2) huge lists of criticism.

See the archives. On the comment that it isn't a tutorial, the use of second-person and the handy pointers for use would appear to indicate otherwise. On the comment that criticism is best presented in a list format, I can only say that this is obviously a stylistically poor choice for any criticism worth noting (i.e. any with any substance, as opposed to the two jotted notes referenced with blog articles that I removed).

I'm planning on reverting these again; this article has a depressing tendency to slide back into consisting of arbitrary unsourced lists, and all programming articles seem to pick up two-page long code tutorials at some point. Chris Cunningham 18:40, 10 May 2007 (UTC)


 * I whole heartedly disagree that things are improved by deleting the items you speak of.
 * Code sections can be trimmed and elaborated upon with respect to how the structure, etc. compares to other languages. The syntax and semantics of a programming language are subject of an encyclopedia.
 * Criticisms are criticisms. Your evaluation of the merit of the criticisms is POV.  If a language has a long list of criticisms then why should that list be trimmed for the sake of being trimmed. And don't play the slippery slope card.  The criticisms list has been stable (in the sense of a slippery slope not happening) for a while.
 * Cburnett 19:37, 10 May 2007 (UTC)


 * I totally agree on these points, and personally I find code examples totally uninteresting. The syntax of a programming language is best learned elsewhere, and imo should not be the focus of programming language articles on WP.
 * The criticisms that was removed are more a matter of quirks in the language and implementation specific details rather than actual criticisms.
 * Jerazol 19:39, 10 May 2007 (UTC)
 * Absence of late static binding isn't a quirk. And please don't revert without explaining why.  It's rude and not appreciated.Cburnett 19:41, 10 May 2007 (UTC)
 * Sorry for not writing an explanation for the reverting. I'm a bit unfamiliar with this popups thing still, and was expecting to get the oportunity to :write an explanation before it was reverted. :-)
 * To avoid an revert war, we should probably agree on wether to keep, rewrite or delete the disputed sections here on the talk page instead.
 * Jerazol 19:43, 10 May 2007 (UTC)


 * Agreed. As I said above.  I think syntax and semantics merit inclusion in an encyclopedia.  I support trimming them down and adding in more analysis/comparison to other languages.  Outright deleting them is not the right answer.


 * As for the criticisms. Do you have any criteria other than (my paraphrasing) "it's insignificant and it's posted on a blog" ?  I think late static binding definitely should stay (it's not a minor issue by any means and I've seen many bug reports asking for it).  Cburnett 19:49, 10 May 2007 (UTC)


 * You want to avoid a revert war so you go ahead and revert anyway? Cburnett 19:57, 10 May 2007 (UTC)


 * Fair enough with the late static binding criticism, which is actually a major flaw in the OO-implementation, but the note about 32bit vs 64bit integers etc sounds more like a bug, and should imo not be included here.
 * I think the code examples that have been added is the wrong way to go for adding a discussion on syntax and semantics, and I think it's better to start over fresh rather than elaborate on something which seems fairly arbitrary and specific.
 * Jerazol 19:58, 10 May 2007 (UTC)


 * Code sections do not help one to compare programming languages to one another when presented without comments. I'd argue that they don't help at all when said comments are in place anyway. We shouldn't have two pages of code which is essentially useless in its current form just to encourage people to improve it.
 * As for the criticisms, if there are better sources then please go ahead and rewrite said crits in a more fluid manner incorporating more reliable sources. I'm sceptical about their importance precisely because of their recent inclusion; most of the other criticisms have been argued over (and reworded) extensively over at least the last year.
 * But yeah. I'm trying to avoid edit wars in general (call it a late new years' resolution, call it an attempt to improve my community standing) so I'm happy to keep discussing this for now. Chris Cunningham 20:02, 10 May 2007 (UTC)
 * The issue with late static binding seems fairly accepted, and is recognised by the team developing PHP. A simple google search turns up a large amount of relevant hits, and it's possible that one could find a better reference among one of these?
 * Jerazol 20:24, 10 May 2007 (UTC)
 * The criticisms section is fairly weak. The list is a poor format and some of the references in this section are not actually criticism at all, making the points seem like OR. There also seems too little on security, which from my experience is the most widespread criticism (valid or not). Also, if things like late static binding are going to stay, it needs at least a few sentences explaining what it is (or a linked to a WP article) and why lack of it is a criticism, and preferably a reference to an actual criticism of PHP for lacking it, not a blog post explaining a patch to add it. NicM 20:20, 10 May 2007 (UTC).
 * Lack of late static binding essentially means that you can't override static variables or methods when extending classes. Verifying this is as simple as running the code examples presented on the reference page.
 * Jerazol 20:46, 10 May 2007 (UTC)
 * Yes, I know. My understanding and the fact that PHP doesn't include it is not the issue. The article needs to explain the term and its consequences and it needs a cite that mentions it as a criticism of PHP. NicM 22:29, 10 May 2007 (UTC).
 * The point is, we can't criticise PHP for lacking it, we can only say that others have, and for criticisms we really need a good cite. And since it is a relatively esoteric term it needs explanation, although other parts of the article could orobably do with that too. NicM 22:35, 10 May 2007 (UTC).
 * Looking again, all of the criticism cites are cites of facts (X added/removed/changed, "here's a patch to do X") or seem fairly unrelated. This section badly needs a cite for each entry justifying it as actual criticism, or it needs to go. NicM 22:43, 10 May 2007 (UTC).
 * Are any of these adequate as a reference then: http://www.php.net/~derick/meeting-notes.html#late-static-binding-using-this-without-or-perhaps-with-a-different-name, http://www.zend.com/lists/php-dev/200603/msg00026.html (For the late static binding thing).
 * As for the other criticisms, I once upon a time tried to prune down the list, but it was quickly reverted. The criticisms has been discussed on this talk page numerous times before, and there seems to have been reached a consensus on what should remain. You're welcome to try to remove it, but I'm guessing there will be other editors in here reverting any such attempts fairly quickly.
 * Jerazol 06:28, 11 May 2007 (UTC)
 * With proper wording and explanation, I think the three URLs could work to justify claiming it is a criticism. As far as the other items are concerned, consensus on what should and shouldn't appear does not justify the lack of cites. None of these claims of criticism are currently verifiable from the article. For now I'll settle for just tagging it. NicM 13:05, 11 May 2007 (UTC).
 * Don't let me hold you back. Feel free to do your worst with it, you won't hear any complaints from me :-) Jerazol 13:39, 11 May 2007 (UTC)
 * As the deleter-in-chief for a reasonable portion of this article's history, I say be bold and go for it. Removing unsourced staccato prose is fine just on policy grounds; anything notable should be easy to source, and rewriting in complete sentences isn't that difficult. Chris Cunningham 07:47, 11 May 2007 (UTC)

PHP does not need to explain late static binding, that is what late static binding is for. It may be time to create that article. Absence of late static binding is a larger issue than just overriding static functions. :) Cburnett 16:20, 11 May 2007 (UTC)
 * Better to redirect it to name binding and extend that article if necessary. And PHP still needs to explain the term in the context of PHP and particularly wrt to criticism of PHP. NicM 16:51, 11 May 2007 (UTC).

Web is a name, and as such, it should be captitalised
Web is a short version of the name World Wide Web, and as such, it should be capitalised. "webserver" should be "Web server" just as you would write WWW server, HTTP server, SMTP server, NNTP server, mail server, DNS server, etc. —The preceding unsigned comment was added by 220.152.112.44 (talk • contribs).


 * Your change broke a lot of links. If you're going to make this change then it has to be more systematic.  Cburnett 04:05, 18 May 2007 (UTC)

Holy war on "spam links"
I feel that the practice of what is and isn't allowed in the external links section is very arbitrary. I may have been incorrect in removing the link to w3schools, but as for the links to the online books, I feel they both add value to the article, but keeping one and removing one on some arbitrary measure of notability is imo wrong. Jerazol¨


 * WP:EL makes it pretty clear that where there's doubt the prudent course of action is to remove the lot. I'm disinclined to have any tutorials on here at all because it always encourages people to add their own personal favourites; Wikipedia is not a portal site and its purpose is not to teach people how to program. We've got a wikibooks link and AFAIK wikibooks doesn't have the same attitude towards extlinks as wikipedia, so moving them all to the wikibooks article seems like the best course of action all round. Chris Cunningham 19:46, 12 June 2007 (UTC)


 * (edit conflict)How do you not know the difference (and added value over the other) of linking to an actual book (added online) by an accredited author with no adsense links and to one that is a non-notable wiki site with a bunch of adsense links and facts taken from other sites? I understand the book site contains a link to the author’s wiki which also contains links to his book but comparing the two as similar is ridiculous. I dont think we need to add a list of wikibooks, but if you are going to add them, add the ones created by notable editors that are actually books instead of ones own wiki. I have my own PHP wiki, can I add mine too? No. I'll either expand on our wikibook here or add notable books by notable editors. Also, http://hudzilla.org/phpwiki/index.php?title=Main_Page is not http://hudzilla.org/php/. But I can see how one can use either link to their advantage when talking spam links. -- I already forgot  talk  19:52, 12 June 2007 (UTC)


 * some arbitrary measure of notability... You are kidding right? -- I already forgot  talk  19:59, 12 June 2007 (UTC)

Security
It's really depressing how many of the Secunia security advisories are related to PHP code not properly sanitising text before it is sent to the database. --203.173.153.34 00:56, 3 July 2007 (UTC)


 * Do you have a point? :) Cburnett 03:59, 3 July 2007 (UTC)
 * I wonder if this is due to some lacking in the PHP architecture that could be noted in the article - or maybe there are just more PHP applications out there than anything else, and that's why there're more advisories for PHP :). --Thenickdude 12:47, 4 July 2007 (UTC)


 * The magic quotes section of Criticism is meant to address this. Chris Cunningham 13:10, 4 July 2007 (UTC)
 * That section doesn't address other more serious issues. PHP's security (and its history) isn't only depressing, it's disgusting. For a sysadmin to upgrade the install every other month, with new buffer and integer overflows and other remote exploitable holes found in PHP is ridiculous. PHP is the Sendmail of the web. That said, why isn't there a section detailing poor security and its history and mention languages and web development frameworks that do better in this regard? The web would be more secure without PHP --Strangepics (talk) 18:35, 19 February 2008 (UTC)

"Multi-paradigm language"
Posted anonymously here stated an advantage of PHP as being a "multi-paradigm[ed] language". I removed this because it doesn't make sense to me. Especially since python has list comprehensions and functions are first-class objects. I guess I'm just confused, so if someone cares to explain then I'm all ears. Cburnett 22:43, 24 July 2007 (UTC)


 * I agree -- I've removed "Functional" from the paradigms section in the infobox. It may have been put there by someone who has confused functional programming with procedural programming -- I get the impression that many PHP developers aren't aware of the difference and erroneously use the two terms interchangeably. — jammycakes (t)(c) 21:41, 9 August 2007 (UTC)

Code outside delimiters sent to output
I think this section is confusing:

"PHP only parses code within its delimiters, such as . Anything outside its delimiters is sent directly to the output and not parsed by PHP."

Consider the following code sample: The output is "this is true", even though "this is false" is not between PHP delimiters. Therefore, I think it is untrue to say that anything outside the delimiters is sent directly to the output. Martin 01:55, 3 August 2007 (UTC)


 * It is incorrect, and the simplistic half-truth of that sentence has bugged me every time that I've had the misfortune to read it, but I've held off editing it for want of a suitable concise wording. The PHP parser is always in one of two modes, and text outside of the delimiters is parsed and compiled identically as if it were generated by echo statements. Output is only produced at runtime if the associated code path is executed, which is why your example works as expected, and also ensures that the PHP output buffer mechanism will catch the output if output buffering is enabled. In no way is text outside of delimiters sent "directly to the output".
 * Moggie2002 (talk) 14:33, 16 March 2008 (UTC)

Obvious question
I can't see anywhere in the article which says what the letters PHP do, or originally did, stand for? As someone new to the subject , surely this is the most obvious piece of information which is missing?

Rrose Selavy
 * Read the history section Jerazol 08:31, 4 August 2007 (UTC)

PHP Business implications
All of this technical and historical background is well and good. I would like to see a discussion of the breadth of dispersion of the language. Are there estimates on how widely it's used? What are its competitors (.NET/SQL Server vs. PHP/MySQL and what else)? How has PHP gained market share over time? What are its advantages and disadvantages, other than being free? In short, it would be good to see a discussion of the business implications of PHP.

72.82.227.56 18:58, 6 August 2007 (UTC)Clark Troy

PHP: Hypertext Preprocessor
I added a little blib about what PHP stands for and links for dynamic and weak typing. I hope no one minds. If you want a source: http://www.w3schools.com/php/php_intro.asp --DFRussia 07:33, 15 August 2007 (UTC)

Criticism sections are juvenile and laughable
I really don't see the need for "Criticism" sections in an encyclopedia. Criticisms are - by definition - opinions. Opinions don't belong to encyclopedias, facts belong to encyclopedias.

As for computer languages, every known language has critics and proponents. But Wikipedia oddly reports criticism only for some languages, and not for others.

Bias, holy wars and personal opinions: none of this stuff belongs to an encyclopedia.--88.149.232.69 13:24, 16 September 2007 (UTC)


 * You're saying that PHP not having late-static binding or namespaces is...not...fact?


 * And you need to read WP:NPOV. Policy is not absence of views but not giving any one view undue weight.  Cburnett 15:34, 16 September 2007 (UTC)
 * If it's a fact, just report it as such. You don't need a "criticism" section for that. You don't need to say "some people[Why should I care?] criticize X for Y". You just report "Y". Regardless of what WP:NPOV says, facts - not views - are what an encyclopedia is about.--88.149.232.69 16:45, 16 September 2007 (UTC)


 * Please read NPOV again: NPOV is "absolute and non-negotiable.".  You're obviously new here.  Some people consider the absence of namespaces a fault, some don't.  Those are two separate views.  Cburnett 17:04, 16 September 2007 (UTC)


 * If some people view it as a fault and some don't, that just goes to show how pointless a criticism section is. BTW I'm not new at all here, so try to keep your prejudices out of the discussion. The NPOV says you shouldn't give "undue weight" to one view over the others: in which way does this advocate the inclusion of "criticism" sections?--88.149.232.69 18:57, 16 September 2007 (UTC)


 * Criticism sections are generally best avoided; this article's one is a hangover from when the article was in a much worse state. There's too much backpush to try removing it again right now though. Chris Cunningham 10:51, 18 September 2007 (UTC)


 * NPOV says that those who support a criticism section can't remove a non-criticism section. That would be undue weight.  NPOV is not about the absence of POV, which is what you're advocating.  Bringing up the fact that you don't understand NPOV is not a prejudice.  (You are hardly the first and absolutely not the last to not understand WP:NPOV.)  A prejudice would be that your opinion is utterly worthless because you don't have an account or because you're .  That's prejudice.  Cburnett (talk) 05:07, 16 January 2008 (UTC)
 * "NPOV says that those who support a criticism section can't remove a non-criticism section"NPOV says nothing like that."Bringing up the fact that you don't understand NPOV is not a prejudice."I said that your presumption "you're obviously new here" is prejudice, as you know nothing about how new or old I am here. As for NPOV comprehension: I find it rather ironic that you feel competent to judge my understanding of the NPOV and then you proceed to misquote it. Enough said.--88.149.249.38 (talk) 01:23, 7 February 2008 (UTC)


 * Assumption != prejudice. *sigh*.  Anyway, here's a quote from WP:NPOV for you that your supposed tenure here seemed to have missed:
 * Assert facts, including facts about opinions—but do not assert the opinions themselves. (Bolding not mine.)
 * The criticisms here aren't "PHP sucks because it doesn't have namespaces!" nor "why the hell is magic quotes even in PHP?!" nor "Those moronic, short-sighted developers didn't add operator overloading!" They aren't stated as opinions, but facts about the language that people criticize it for.


 * Does PHP support operator overloading? No.  [FACT]  Have people criticized it?  Yes, see bug #9331. [FACT]


 * At the root of each of the criticisms is a fact about PHP and, as far as I can tell, none of the criticisms are stated as opinions. Please read WP:NPOV (again).  Cburnett (talk) 01:54, 7 February 2008 (UTC)

Why aren't the old criticisms removed? Most of the criticisms are based on older versions of PHP that don't really apply to the current version. Some of the criticisms are based on versions released 6 years ago. —Preceding unsigned comment added by Coeus (talk • contribs) 04:35, 16 January 2008 (UTC)


 * I absolutely disagree with your assessment of "most". Cburnett (talk) 05:07, 16 January 2008 (UTC)


 * Well, we can disagree on the quantity, but the point still stands. Why are there criticisms in the article on outdated PHP versions? If they really need to have those criticisms in there, put them in the "History" section. —Preceding unsigned comment added by Coeus (talk • contribs) 01:07, 26 January 2008 (UTC)

I find it interesting the PHP article references a number of other languages within the article and has criticisms yet the three languages it links do (asp, jsp, and ruby on rails [framework]) do not have a criticism section (with the exception of asp.net) and do not have links to the PHP article.... strange I guess PHP must really suck and no one uses it *sarcasm* —Preceding unsigned comment added by 66.207.103.173 (talk) 21:13, 24 January 2008 (UTC)


 * What an extremely helpful comment! [/sarcasm] Cburnett (talk) 21:22, 24 January 2008 (UTC)

Okay, so summarizing, the list so has the following problems:
 * 1) Some items are about flaws that have been corrected a long time ago (register_globals, magic_quotes). While, as pointed out in the register_globals paragraph, some software may still use this now turned off functionality, it makes no sense to critisize PHP for flaws in software made using it that are not inherent to the usage of PHP.
 * 2) Several sources suck. The one for the unicode one, for example, points to a page which states that PHP indeed has no support for unicode, not to a page criticizing PHP for not supporting it. In fact, most sources do not point to sites with criticism, but to sites confirming the facts criticized; whether these facts are really a source for criticism can not be checked though.
 * 3) Criticisms in a separate section are discouraged by Wikipedia at a whole.

Rather than improving it, I'd propose deleting the section as a whole and incorporating a paragraph dealing with the most common criticisms in the "Usage" section. For example:
 * PHP has received criticism for lack of features or language design flaws. It does not support some of the features similar languages like Ruby or Python have, such as late static binding and operator overloading. There have also been some security-related issues, such as the habit to insert data received over the network directly into the global namespace, or automatic escaping of strings to avoid SQL Injection. Those issues have been resolved in current versions, however. Another point of criticism is the inconsistent naming of functions; function names do not follow a common format, so strpos-like named functions appear alongside those of the str_replace format, which can be confusing.

Of course properly sourced and such. I do think the old security issues should be mentioned, as they were indeed a big point of criticism back then, but apart from that the paragraph shouldn't be too long and point out every single criticism you can find on the internet. Thoughts? -mrbartjens (talk) 23:45, 20 February 2008 (UTC)

Resources : Magazines
I think referencing some PHP magazines in the Resources section of the article would be useful : What do you think ? --Goa103 17:13, 18 September 2007 (UTC)
 * php | architect - The PHP Magazine for PHP Professionals
 * PHP Solutions


 * This isn't a resource site. php|architect is aready used as a source in the article anyway. We should try to avoid treating the external links section as a way to promote things readers would like to read: it's intended to be a minimal section for links to sites directly applicable to the subject matter (preferably officially). Chris Cunningham 09:17, 19 September 2007 (UTC)

More links to PHP 6 information
I just removed a dead link to http://www.corephp.co.uk/archives/19-Prepare-for-PHP-6.html from the "Future development" section (references). The one link left is to meeting notes from 2005. Does anyone else have any good links to more recent PHP 6 information? --Matt Schwartz (talk) 22:26, 7 December 2007 (UTC)

Apache group reference
Sorry, but this is obviously false, reference or no reference. Have a look around the Apache project website and see if you can come up with a single ref which backs this up. It's obviously rather hard for those of use who believe that PHP is not under the auspices of the ASF because of the difficulties in proving a negative.

Regardless, this is not the most important thing about the language, and should not be the very first clause in the article. The correct place, if additional information is going in, is that the start of the second paragraph, which currently reads "The main implementation is produced by The PHP Group".. Chris Cunningham (talk) 12:28, 21 December 2007 (UTC) (Note: This is the edit Thumperward reverted before making this Talk entry)


 * I ask you kindly to read up on very notable technology book publisher O'Reilly. Have you got a better source for the PHP group than a book by a notable publisher, which contains this same quote in its second revision (but updates the percentage of the install base from 40% to 53%, indicating the sentence was re-looked at and verified)?  Until you do, I'll point you to Verifiability, and its first paragraph.  Thanks. --TIB (talk) 21:07, 21 December 2007 (UTC)


 * It is difficult to prove a negative. It would be hard for me to, say, find a source which definitively states that elephants have never visited the moon, but this does not make it true until proven otherwise. In this case, a detailed look at the Apache Software Foundation's website would reveal that nowhere do they claim to be the copyright holders or developers of PHP, nor does a detailed look at php.net reveal any indication that the Apache Software Foundation runs the project. So I would dispute that a single reference from a source which really should know better is grounds for inclusion. I would strongly dispute that, even if it were to be true, tacking it onto the very start of the introduction like you've done is good for the article, in any case. Chris Cunningham (talk) 09:56, 22 December 2007 (UTC)


 * Personally, I too was surprised to learn that the ASF had done it. But this is O'Reilly, the (arguably) definitive programming book publisher, and the statement has survived all revisions of this book.  I had thought Zend was responsible all these years, but then again, they are a corporation and would probably take credit for anything.  SCO sued a variety of companies affiliated with Linux for doubting that SCO owned linux, didn't they?  Also, thank you for the compliment on the location of the statement.  I believe that might be one of the reasons it is used to start "Web Database Applications with PHP and MySQL". --TIB (talk) 11:49, 25 December 2007 (UTC)


 * I'm sorry, is that comment made with tongue in cheek? If so, I'd appreciate it if you'd remove the text in question, as this would seem to be disrupting Wikipedia to make a point. If I've misunderstood you then I apologise, but I'd like you to clarify why we should continue to keep this text when it is obviously false but difficult to categorically prove the negative statement. Chris Cunningham (talk) 13:16, 25 December 2007 (UTC)


 * You say I cannot, I say the rules conflict. But I don't love wikipedia enough to check it religiously, so I cannot maintain my correct edit.  Wikipedia is written by those who are more attentive than those who plant the truth, I guess. --TIB (talk) 08:12, 27 December 2007 (UTC)


 * In response to TIB's first question above, yes, there is a better source. The PHP source code, etc. is all copyrighted to "The PHP Group 1999-2006".  See any of the source files, which direct you to the PHP license.  No mention of Apache whatsoever.  Oli Filth(talk) 16:33, 25 December 2007 (UTC)

Links in "See also" sections
From WP:SEEALSO:

"The 'See also' section provides an additional list of related internal links to other articles in Wikipedia. As with all advice in guidelines, whether a link belongs in the 'See also' section should be approached with common sense. The section should not link to pages that do not exist, and a good rule of thumb is that it should not repeat links already present in the article."

Italics mine. In this edit, User:Cburnett declared removal on such grounds to be "invalid". On the contrary, this is one of the most pertinent reasons to exclude links from said section. Anyway, planning on removing these again, as they're easily accessible from their relevant sections and the seealso section should not be a dumping ground for arbitrary links. Chris Cunningham (talk) 15:56, 26 December 2007 (UTC)

Article lead - "reflective"?
The article lead currently opens with "PHP is a reflective computer programming language ...". Is the use of "reflective" here appropriate? Whilst I don't dispute that PHP has reflection capability, the use of this adjective in the opening sentence implies that a great deal of importance and notability is associated with this fact.

I find it hard to believe that PHP is commonly primarily categorised as "reflective", versus, for instance, "object oriented", "imperative" or "dynamically typed". My gut feeling is to remove the use of "reflective" from the lead. Oli Filth(talk) 13:39, 27 December 2007 (UTC)


 * Would also help reduce link congestion in the first sentence. Go for it. Chris Cunningham (talk) 13:58, 27 December 2007 (UTC)


 * FWIW, I'd have to disagree with replacing reflective with object oriented since its OO-ness (compared to other languages) is minimal and quite subpar which is the reason you have a problem with reflective. Cburnett (talk) 14:07, 27 December 2007 (UTC)


 * I'm not suggesting that we replace the adjective with anything. I was merely using "object oriented", etc. as examples of categorisations which (I think) are more commonly associated with PHP than "reflective" is.  Oli Filth(talk) 14:10, 27 December 2007 (UTC)


 * I know. That's why I prefaced it with "FWIW". :)  Cburnett (talk) 14:37, 27 December 2007 (UTC)

What is over 20 million?
Of course I know what 20 million is, literally... but I am referring to the following sentence: As of April 2007, over 20 million Internet domains were hosted on servers with PHP installed. I don't think this number is worth anything without the number of all domains hosted (? hosted domains... yeah right ?) or of coarse as a percentage. GreatMagicalHat (talk) 00:44, 3 January 2008 (UTC)

Duck typing
Saw a recent removal and undo about whether or not PHP has duck typing.

Does it?

Compared to, say, Python then PHP does not have duck typing. For example, you can't have anything walk and quack like an integer that is anything but an integer. Ditto for every other type other than arrays and classes. I think "weak typing" sums up PHP much better than duck typing. Cburnett (talk) 03:53, 21 January 2008 (UTC)


 * Possibly, and it's certainly a nicer term. I restored the deletion as the deleter was incorrect in their justification, and not just because you can handle calls to undefined methods in a useful way if desired, but because doing so is not a requirement of DT anyway AFAIK; e.g. A class in Smalltalk will say that it does not understand if receiving an unimplemented selector, but does support DT. The DT entry in WP states: In a duck typed language, the equivalent function would take an object of any type and call that object's walk and quack methods. If the object does not have the methods that are called then the function signals a run-time error. This is possible and is the behaviour of PHP. Similarly, if said function is passed a non-object and a method lookup is made then a runtime error would occur, albeit because the value was not an object rather than an object which did not understand a request.  Certainly the language is limited by not having operator overloading and by it not being possible to extend the behaviour of primitive types, but that aside and for good or (IMHO) bad, support for the DT style of programming where there is no requirement for an object instance to belong to any particular class hierarchy or to implement any specific interface in order to code and attempt a particular method call would seem to be in place.


 * Agreed. The implication was that duck typing was simply the union of dynamic and weak typing. This isn't really the case. Chris Cunningham (talk) 11:58, 21 January 2008 (UTC)

online sandbox
There seems to be no online PHP sandbox anywhere, for learning/testing. This may partly be because of security issues. But it seems like some other group that wants to brag about how their version is more secure would see this as a challenge/opportunity?

Anyway, most Linux distributions include the AMP software by default. This includes most of the full Linux LiveCDs, so anyone can easily try this software. But the smaller "lite" Linux LiveCD versions do not include this software bundle by default. And it seems that no other major OS includes this software by default?

So, for Windows people, it seems like the best easy way to play with PHP is perhaps to get one of the portable AMP packages, which are summarized at http://www.portablefreeware.com/?sc=125 -69.87.199.127 (talk) 16:00, 30 January 2008 (UTC)

hello-world template
Folks, I suggest you change the 'hello world' template into more appropriate form of function. The 'echo' shorthand gives a wrong impression of how fucntions are stated in that language, especially while being the first bit of code that reader sees. I think the print("Hello World!"); would be more informative, even if echo is more common to use. 217.168.89.152 (talk) 07:20, 6 February 2008 (UTC)


 * I wrote a section on functions to address your concern. Is this acceptable?  Cburnett (talk) 14:48, 6 February 2008 (UTC)

echo function?
The section PHP detailing functions suggests to the reader that "echo" (although commonly used to output plain-text data) is a function, this is not the case. Php.net itself outlines this fact "echo is not actually a function (it is a language construct), so you are not required to use parentheses with it.".

The following conflicts with the above :"All functions must be called with parentheses unlike, say, Ruby. One exception is the echo function..." —Preceding unsigned comment added by 124.177.101.51 (talk) 06:13, 7 February 2008 (UTC)


 * You are welcome to change it yourself but I changed it to something I think is correct now. If not, feel free to change it!  :)  Cburnett (talk) 06:32, 7 February 2008 (UTC)

Templating Engines
Is that section really necessary? There are only a couple sentences that don't really say much. There is a separate article on template engines, so I suggest removing the one in the php article because the engines are not exclusive to the php programming language. -- FatalError (talk | contribs) 04:32, 12 February 2008 (UTC)


 * If User:Attilitus (see top) wants to expand it then let him/her do it. Just because it's not exclusive to PHP doesn't mean it can't be discussed.  Cburnett (talk) 04:50, 12 February 2008 (UTC)

PHP logo
Added the PHP logo. If anyone is aganist this, please let me know. Spdaniel91 (talk) 14:05, 19 February 2008 (UTC)

Unexplained criticism
I removed three items from the "criticism" list today, because they were not accompanied with any reasons for why these items are actually a bad thing, nor did they have any sources pointing to places where they are actualyl critized. Within minutes this was reversed (http://en.wikipedia.org/w/index.php?title=PHP&diff=192809937&oldid=192804706) because "All three (especially the last two) hinder you as a programmer and if you have a clue what they mean then it should be obvious that they speak for themselves.".

While I went probably too far in removing the late static binding-item, I still think the other two have no place in this list (whether a criticism list has a place in this article at all is another question). Not only do those two (non-initialized variables can have operations performed on them, and lack of operator overloading) lack aforementioned sources or reasons for being a bad thing, I think the reversal reason is fairly derogatory and wrong. I have a clue about what both mean, being a web programmer/scripter myself, and I do not think they hinder me. Even if they did, we can not assume the reader of this article is a programmer to whom it "[is] obvious that they speak for themselves". At the very least, said explanation of why these things are worth being critisized is absolutely required here, and so are sources. -mrbartjens (talk) 15:34, 20 February 2008 (UTC)
 * The "lack of operator overloading" does have a source, of course, but I think a feature request phrased as "It would be nice to have operator overloading available for classes." doesn't really qualify as "criticism", now does it? -mrbartjens (talk) 15:39, 20 February 2008 (UTC)


 * Take it as derogatory or an insult if you want, that's your deal. Not having operator overloading nor late static binding do hinder (I welcome evidence that shows the presence of them would be anything but helpful).  Just because you personally don't have a need is irrelevant.


 * Your reasoning for deleting is that there is no "why are they criticisms" when I contend that is not necessary since they speak for themselves, as anyone who understands what they mean should understand the why. I am not contending that the why can't be added just that the condition of the why being present dictates if they can be present in the list (which was your rationale for deleting them).  To better inform: yes include them.  To require them to even be mentioned: no, I completely disagree.  Cburnett (talk) 16:13, 20 February 2008 (UTC)


 * The fact that I understand what they are and yet do not "understand the why" kind of renders your point null then, doesn't it? Of course, I am only one individual, but I doubt I'm the only one thinking like I do. Note that I already said removing the late static binding criticism was a mistake. Furthermore, the fact that "the presence of them would be anything but helpful" is not something I contest; there is a big difference between saying the addition of a certain feature would be nice (as in the "source" for the operator overloading criticism) and actually criticizing the lack of this feature in the current version, though. -mrbartjens (talk) 16:59, 20 February 2008 (UTC)


 * Instead of dancing around: absence of "why" is reason to expand not to delete. Cburnett (talk) 23:56, 20 February 2008 (UTC)


 * If this section is to serve any real purpose, I think it would be preferable (if not mandatory) that all items on the list were cited to a reliable + notable source as criticism; otherwise, we could all add our own pet peeves ad hoc. Oli Filth(talk) 19:03, 20 February 2008 (UTC)


 * WP:V says absolutely nothing about the "notability" of sources. Reliable?  Yes.  Notable?  No.  Cburnett (talk) 23:56, 20 February 2008 (UTC)


 * I would say that any "substantial" criticisms should be based on true flaws in the language's design or functions (E_NOTICE being off by default, or more generally, the language not having as much safeguards against user mistakes as most, could be valid), not feature requests (operator overloading - which has its own controversies anyways) --Frank Quist (talk) 23:13, 20 February 2008 (UTC)


 * "Substantial" is meaningless. Please point out "substantial" in WP:V, WP:NPOV, or WP:NOR.


 * (Addressing more than just Frank) Look, I'm clearly in the minority here because I seem to be the only one arguing for the criticisms and keeping them.  Wanting to weed "non-substantial" criticisms, or wanting "notable" sources, or demanding "the why" are all absolutely absurd.
 * Cherry picking criticisms against some undefinable criterion based on your personal opinion violates NPOV.
 * "Notable" sources is making up policy.
 * Nowhere is "the why" in policy. If it passes WP:V then it stays.  It would absolutely make WP a better encyclopedia to include "the why".


 * All-in-all, I think this article would be worse off for removing criteria for the reasons outlined in this section. Cburnett (talk) 23:56, 20 February 2008 (UTC)


 * I think what Oli Filth means with "notable" is that sources pointing to some random blog of a hobby PHP scripter (for example) are not really enough to warrant inclusion in the list, correct me if I'm wrong. I agree with this if this was his point; adding all criticisms that we can find a source for would make the list unnecessarily long and does not accurately reflect what criticisms are really addressing language design flaws and which are just annoyances. I made a proposal in the "Criticism sections are juvenile and laughable" section above, could you take a look at that?
 * And of course it does not matter that you are the minority. As long as your arguments make sense, you can expect the discussion to be fair too :-) -mrbartjens (talk) 00:26, 21 February 2008 (UTC)
 * Yes, that is what I meant. "Notable" was indeed the wrong word, but I was attempting to paraphrase the spirit of things such as WP:SPS.  My statement should also have been broken into two sections:
 * All criticisms should be sourced (as opposed to unsourced)
 * Ideally, all sources should be reliable, verifiable, etc.
 * Oli Filth(talk) 09:54, 21 February 2008 (UTC)


 * I've taken the liberty of removing all items not accompanied by a source that describes them as a criticism (I don't think a feature request counts as "criticism"). Feel free to add any back that you can find a reliable source for (although I see debate still remains about the validity of this section's existence at all).  Oli Filth(talk) 22:05, 21 February 2008 (UTC)

Outdated criticisms
I've removed several criticisms I consider quite outdated from the article. I mistakenly thought this would be an uncontroversial edit that did not warrant extensive discussion. These were reverted (twice... why not mention the real reason at once instead of making me re-do work?).

The reason for one revert was that outdated criticisms should be kept for "the aspect of historical interest". I'm under the impression that the article has a "criticisms" section, not a "historical criticisms" section. When does a criticism become void? Why aren't there any criticisms of PHP 1 in the article? PHP 4 has been abandoned by now and is unsupported. Most of the criticisms I removed were of things that were rectified years and years ago. None of these are levelled against current versions of php, obviously. Should the criticisms list just get longer and longer over the years, with every version that has ever been released extensively covered? Don't these criticisms just become trivia after a while?

One argument would be that some of the criticisms related to php breaking older versions, which is a destructive thing. But again, most of this was ages and ages ago. Recent examples should be cited to prove that this is a trait of the language's developers, and not a historical mistake. --Frank Quist (talk) 00:22, 21 February 2008 (UTC)

Format the references
Could someone please help me format the references in this article, using the template? Gary King (talk) 20:07, 22 February 2008 (UTC)

Good Article nomination for PHP
Frankly, considering the popularity of PHP, I'm surprised that the quality of this article isn't higher than what it is high. I'm going to do my best and try to improve the article to pass a Good Article nomination with flying colors, and then eventually try and get a Featured Article status. I would suggest to whoever wants to help out to take a look at Python (programming language) because it is a very well written article about another programming language. Gary King (talk) 22:45, 22 February 2008 (UTC)

Good article nomination

 * GA review (see here for criteria)


 * 1) It is reasonably well written.
 * a (prose): b (MoS):
 * 1) It is factually accurate and verifiable.
 * a (references): b (citations to reliable sources):  c (OR):
 * 1) It is broad in its coverage.
 * a (major aspects): b (focused):
 * 1) It follows the neutral point of view policy.
 * Fair representation without bias:
 * Mmh... there is not a single mention of the security issues with PHP (eg 29% or all vulnerabilites in 2005, 43% in 2006, 36% in 2007...). I haven't found a single piece of criticism in the article, or a pointer to some criticism, although this discussion page seems to talk about such a section... I've just added a paragraph about these issues, just to see how long it stays there before being cleaned up by some zealous hand. --SuzieDerkins (talk) 09:50, 8 March 2008 (UTC)
 * At the risk of being your hypothetical zealous hand, please don't edit Wikipedia to make a point. A "Criticism" section existed in the past, but it was largely unsourced, and attracted POV edits (see Criticism).  It was removed in the last set of overhaul edits to attempt to bring the article up to a good standard.  By all means include criticism in the prose if it naturally fits the flow, but make sure it's sourced, and don't speculate as to causes (as you appear to have done in your recent edit).  Oli Filth(talk) 12:20, 8 March 2008 (UTC)
 * I've tried to improve the paragraph, and I hope that all claims are correctly sourced, factual and fair. As for the causes, and do not think that I am speculating, and I cite the PHP site about register globals. Although PHP is not responsible for bad programming in PHP, the fact that there is significant bad programming done in PHP cannot be ignored either: not mentioning these issues is a bias. SuzieDerkins (talk) 15:09, 8 March 2008 (UTC)
 * 1) It is stable.
 * No edit wars etc.:
 * 1) It is illustrated by images, where possible and appropriate.
 * a (images are tagged and non-free images have fair use rationales): b (appropriate use with suitable captions):
 * 1) Overall:
 * Pass/Fail:
 * 1) It is illustrated by images, where possible and appropriate.
 * a (images are tagged and non-free images have fair use rationales): b (appropriate use with suitable captions):
 * 1) Overall:
 * Pass/Fail:
 * 1) Overall:
 * Pass/Fail:

huji— TALK 11:11, 25 February 2008 (UTC)

Update (April 1, 2008)
Having re-read the article and taking into account the additions and corrections, and also with regard to Peer review/PHP/archive1 and the discussions on this talk page, I believe it is time to call this article a "good article". Template changes are on the way! huji— TALK 11:09, 1 April 2008 (UTC)
 * Thanks! Gary King (talk) 15:41, 1 April 2008 (UTC)

tag
I think the tag should stay, because people have been mentioning that the introduction to this article is too short and does not give enough information on the subject. Let's try and expand the introduction instead of playing around with the tag, shall we? It'll help this article out in the long run, anyways. Gary King (talk) 21:54, 27 February 2008 (UTC)


 * Can you make some suggestions on what should be included? Cburnett (talk) 21:57, 27 February 2008 (UTC)
 * Just get a little bit of information from every section and include it into the introduction. It should give a brief overview of the subject. I would suggest to get information from sections that have a good amount of info, such as History, Popularity (talk about how popular it is and use references to back it up), and talk about Resources and how extensible the language is. Gary King (talk) 22:45, 27 February 2008 (UTC)
 * Yes. That is exactly what I was thinking when I readded the tooshort tag. As you may know, we expect the lead section to follow this guideline. huji— TALK 08:12, 28 February 2008 (UTC)
 * Basically, I think we need to make the introduction show why PHP is so popular for people who are not programmers. Quite often, the term PHP is seen on the web but people have no idea why that is so (such as in file extensions; lots of people assume that .html is the only file extension you can have for a website.) Gary King (talk) 16:37, 28 February 2008 (UTC)
 * And for that, a very short summary of praises and criticisms should appear in the lead. huji— TALK 19:59, 28 February 2008 (UTC)
 * Only add that if you can make it as neutral as possible and as non-technical as possible. When this article had a Criticisms section, it was too technical for a layperson. If you add something negative to say about PHP, then add something positive to balance it out. Gary King (talk) 20:05, 28 February 2008 (UTC)


 * THAT IS NOT NPOV! Cburnett (talk) 20:21, 28 February 2008 (UTC)
 * WP:CALM. Also, There are a lot of articles solely discussing criticisms of different topics, though. Plus, we haven't put anything in yet. I actually removed the entire Criticisms and Support sections from this article because they were both very technical so they did not add anything to the article; whether they were NPOV or not is up to debate, but from what I recall, they were NPOV because they referenced other sites that discussed these criticisms. Gary King (talk) 20:37, 28 February 2008 (UTC)


 * I was referencing the "one negative for one positive" bit is not NPOV. Cburnett (talk) 20:42, 28 February 2008 (UTC)
 * The articles I pointed out include primarily negative things to say about their subjects, and pretty much nothing positive to say about them. For instance, I consider saying that "PHP is one of the most widely used programming languages" (referenced, of course) to be a 'positive' statement, whereas "This company was the central figure of a major accounting scandal" to be a negative statement. Gary King (talk) 20:44, 28 February 2008 (UTC)


 * "If you add something negative to say about PHP, then add something positive to balance it out." is not NPOV. Tit-for-tat is not NPOV.  Cburnett (talk) 20:52, 28 February 2008 (UTC)
 * I am referring to WP:CRIT where it says "If there are valid counter-arguments to the criticisms, then these must be fairly included." Gary King (talk) 20:58, 28 February 2008 (UTC)

CVE
The recent addition of the vulnerability criticism is sourced merely to the CVE index page, leaving the reader to synthesise equivalent figures (in fact the editor said it themselves in the edit summary "it is really queries on the database which enable to derive these figures"). This is a primary source (WP:PSTS), and as such cannot be used as a reference. Note that I have no dispute over the figures; I'm sure they're accurate. But they must be sourced to a reference which actually states them as such. Oli Filth(talk) 12:53, 8 March 2008 (UTC)


 * Mmh... sure, but word fails me. It seems to suggest that someone saying something as a source is more important than the pure facts of a database (one may discuss the subjectivity of its constitution, but cannot discuss the objectivity of its actual contents). Well, I can always publish a web page somewhere which states these figures, but that looks a little bit stupid. Or maybe I could state how one can derive these figures in the talk page, say in this section, and keep the database citation? SuzieDerkins (talk) 13:23, 8 March 2008 (UTC)


 * If you can provide links to actual results pages, that may be more suitable. Readers shouldn't have to resort to the article talk page in order to follow a cite!  (The link as you originally presented it would be like citing the BBC news website, rather than a specific article, and leaving the reader to find the original information)  Oli Filth(talk) 13:31, 8 March 2008 (UTC)


 * Well. There would be a dozen result pages (2 for every year, with and without PHP as a keyword in the search), so it is not really practical as a citation. Well, I've added a page on my web site with the figures and how they are derived from the NVD, and I have added a reference to it, but this looks really strange, IMVHO. SuzieDerkins (talk) 14:15, 8 March 2008 (UTC)


 * I read the primary source discussion page. I'm wondering whether expecting someone to query the database and taking note of the result count is really a specialist knowledge, or just common knowledge, once one is on the query page... Moreover, although I do not feel a worthy authority about PHP security, I do feel that I'm as good (or bad) as anyone else for dividing two numbers to compute a ratio. SuzieDerkins (talk) 14:32, 8 March 2008 (UTC)

PHP category
The category Category:PHP programming language is populated with things for the language (PHP, PHP syntax and semantics, List of PHP libraries, etc.) but also numerous projects written in PHP. Suggestions on two category names: one for PHP stuff, one for projects written in PHP? Cburnett (talk) 21:22, 16 March 2008 (UTC)
 * I think Python is setup like that? Okay, sounds good... Gary King (talk) 21:25, 16 March 2008 (UTC)

Restoration of criticism section
Based on my reading of the comments above, it doesn't look like consensus was ever reached regarding the removal/presence of a criticism section.

I am restoring it as of this version: 01:41, 23 March 2008 by Gary King. I have added a Template:Criticism-section tag.

I don't care for criticism sections, but


 * Criticism sections, while discouraged, are not forbidden.
 * Removal of a criticism section because they're discouraged isn't sufficient justification for also removing verifiable and properly sourced information.
 * The criticism section was removed en masse, so some verifiable and properly sourced information was removed - perhaps as collateral damage.

Let's work to towards consensus - even if that means getting rid of the section - but let's not remove valid information. Thanks, WalterGR (talk | contributions) 04:44, 25 March 2008 (UTC)


 * Oh, meant to also say: Gary King said in his edit summary that others had pointed out there are "good articles" that have criticism sections, and asked for proof of this. 50_Cent and The_Lion_King were the first articles that I found after clicking on just a few links on Good_articles.  WalterGR (talk | contributions) 04:49, 25 March 2008 (UTC)
 * As previously, I've removed all improperly cited items from this list (see the end of the discussion above: Talk:PHP). Again, feel free to add these back if you can find suitable refs.
 * Note that I'm not expressing an opinion about whether a separate Criticism section is suitable for this article, merely that these items have been sitting around uncited for far too long collecting cruft. Oli Filth(talk) 08:43, 25 March 2008 (UTC)
 * It's a more manageable size now, and I will shuffle the items around so that they fit into the article somewhere appropriate. Gary King (talk) 15:34, 25 March 2008 (UTC)


 * Awesome! Thanks a ton, WalterGR (talk | contributions) 03:08, 26 March 2008 (UTC)


 * So, where did it go? Did some PHP fanboy delete it without consensus? —Preceding unsigned comment added by 59.167.129.46 (talk) 12:56, 5 June 2008 (UTC)


 * I still think it should be merged into the article. Anyways, I'll get to it and hopefully we can end up with something that we all agree on. Gary King ( talk ) 08:37, 18 July 2008 (UTC)


 * And why it is not restored yet (or deleted again)? After all, Java has separate "criticism" page and PHP does not even have a section. --94.143.240.23 (talk) 01:33, 25 November 2009 (UTC)

Popularity and Security
Content about security vulnerabilities was previously in a "Popularity" section, suggesting that the number of vulnerabilities in PHP is due to its popularity. I moved the security content into its own section for a few reasons.


 * If popular software we like has a large number of vulnerabilities, we credit the software's popularity.
 * If popular software we don't like has a large number of vulnerabilities, we blame it on the programmers' incompetence.
 * Unless there's a credible source that claims the vulnerability count in PHP, or in software in general, is directly correlated to its popularity, arguing this in the article would be original research.

Thanks, WalterGR (talk | contributions) 03:15, 26 March 2008 (UTC)
 * I like this update. Thanks. Gary King (talk) 03:52, 26 March 2008 (UTC)


 * I just put the figures there because I did not dare create such a section. The security discussion could belong to a "Criticism" Section if there was one, but that would mean arguing about the root cause of the problem (language, people), what is more prone to lengthy arguments, while the figures are factual. Well, the very fact that a programming language deserves such a section with this contents amounts to some criticism. SuzieDerkins (talk) 01:16, 4 April 2008 (UTC)


 * This Security section was not clear enough in order to distinguish Software/Script Bugs and PHP Bugs. At first glance, the casual reader could think that the PHP programming language is insecure, which is not the case. The security problems are caused by poor programming and the use of old PHP versions which have register_globals enabled by default, among other old problems which have been corrected in later versions.VShaka (talk) 12:05, 15 August 2008 (UTC)

Certification
I added a brief mention of PHP certification to the article after I noticed the PHP Certification article was an orphaned stub. dimo414 (talk) 23:28, 21 April 2008 (UTC)

mod_php
I see that mod_php redirects here. Considering (as I understand it) that PHP is a language and mod_php is an Apache web server module, I think that there should be a separate mod_php article. Perl and mod_perl, Python and mod_python, Ruby and mod_ruby, etc., all have separate articles. What do you think? Dstroma (talk) 05:18, 26 July 2008 (UTC)


 * if there's enough notable and verifiable material to create a separate mod_php article which can stand on its own and is likely to be expanded later then go right ahead. I don't believe there is. Chris Cunningham (not at work) - talk 11:28, 26 July 2008 (UTC)


 * Well, mod_php should be included in the apache article and be referred from here, or it should have its own article and be referred from here and from apache. Doru001 (talk) 09:02, 9 April 2009 (UTC)

Logo Location?
Does anyone besides me not like the new location of the PHP logo? techietim (talk) 14:33, 27 July 2008 (UTC)


 * It's an experiment; I was trying it out on a few articles to see if it would be a good future direction for the infobox presentation. Consensus thus far appears to be that people don't like it, which is fine; feel free to revert it. Chris Cunningham (not at work) - talk 17:11, 27 July 2008 (UTC)

how to uninstall php
Sorry to be posting this here, but you guys wrote a great article so you must know something about the subject.

I'm trying to uninstall php from my computer, but it's not as easy as deleting PHP5 from "my computer."

Are there any resources on the internet that will show me how to uninstall. Thanks in advance for any suggestions. —Preceding unsigned comment added by 71.15.93.25 (talk) 03:48, 18 August 2008 (UTC)
 * what !, there is an uninstaller, check the programs list in your control panel (windows) or a remove feature of your pakage manager (linux) it's very simple, really lol - Gunnar Guðvarðarson (My Talk) 06:36, 1 January 2009 (UTC)

Speed optimization section
I believe PHP is programmed in C. Can anyone confirm that it is C++ ? —Preceding unsigned comment added by VShaka (talk • contribs) 17:39, 24 August 2008 (UTC)
 * Check it out: http://www.ohloh.net/projects/php/analyses/latest Altonbr (talk) 17:15, 29 September 2008 (UTC)
 * There are a few PHP extensions written in C++, but I don't think it's worth mentioning. Philipolson (talk) 06:30, 12 March 2009 (UTC)


 * The PHP codebase is 100% C.
 * Moggie2002 (talk) 13:58, 30 September 2008 (UTC)

Old page history
I have moved some old page history that was at the PHP page; it contains one content edit and many less useful edits. It's now at talk:PHP/History. Graham 87 12:03, 14 October 2008 (UTC)

5.27 sort of retracted
Version 5.27 is sort of retracted. The mention some gibberish called "regressions" that's not defined anywhere on their site that their search system finds and that there's a bunch of bugs with it and they removed the big announceent from their front page. They claim at http://www.php.net/downloads.php#v5 that they are going likely do a 5.28 or something to fix the bugs. Are you ready for IPv6? (talk) 01:23, 8 December 2008 (UTC)
 * Software_regression Jerazol (talk) 09:04, 8 December 2008 (UTC)
 * - It was deleted simply because it didn't seem worth downloading. 5.2.8 came soon thereafter, so I don't see this as wikipedia material. Philipolson (talk) 21:47, 26 December 2008 (UTC)

PHP Data Objects
"PHP Data Objects" redirects here, though this page contains no information on the extension. This may be because some previous version did, and that this information has since been removed. The redirect should be removed, or a new article should be created based on the avaliable documentation and / or other relevant sources of information: http://php.net/manual/en/book.pdo.php PaulAquired (talk) 10:13, 16 January 2009 (UTC)

Problem with Internet Explorer
If I try to directly access or search "PHP" on Wikipedia, Internet Explorer presents me with a dialog box attempting to download the page. I've never seen this before on Wiki. Has anybody else seen this, and should this (if it's prevalent), lead to a discussion on the naming of this page? JeffHCross (talk) —Preceding unsigned comment added by 192.91.171.36 (talk) 22:14, 9 February 2009 (UTC)

"It can automatically detect the language of the user." - What language?
What does "language of the user" mean, in the Usage section? Is it a programming language on server side, a natural language on the web page, a natural language of the client's GUI, or what language? Doru001 (talk) 09:03, 9 April 2009 (UTC)

Yes, but what does it do?
Please may I suggest that this article begins with a statement of what PHP actually does, in language that one's grandmother could understand. I have read the article twice, and I have very little idea. It is to do with scripting, but what's that? Something to do with the web is all I can make out. NOKESS (talk) 06:00, 13 July 2009 (UTC) Sebastian
 * I think the lead is pretty clear: "PHP is a scripting language originally designed for producing dynamic web pages." The reader who doesn't know what a scripting language is, or what a dynamic web page is, may click on the provided wikilinks to gain a better understanding.  Incorporating material from those articles into this one would run counter to wiki principles. Robert K S (talk) 08:13, 13 July 2009 (UTC)

Wow. Sebastian took the works right out of my mouth. He's absolutely right. See my comments at the article being too technical (above), which I posted a few minutes before I read this.

Robert, the lead is NOT clear. These further links are also technical. Using more jargon to define jargon is not helpful. This "explanation" is much harder than it needs to be. I just had someone write me an email explaining what PHP was and in one sentence I understood what it was--after having repeatedly struggled to read this article without understanding it. I came back here to see if this would now make more sense. Nope! Eperotao (talk) 15:44, 7 August 2009 (UTC)
 * What is that one sentence? Philipolson (talk) 01:44, 12 August 2009 (UTC)
 * Yeah, seriously. Wikipedia is an encyclopedia that anyone can edit.  You can propose your improvement on the talk page, or be bold and edit the article.  Any improvement that provides a more accessible or facile explanation without rendering it sophistical will surely not be reverted.  That said, I cannot propose such an improvement.  The basic concept of PHP will not be readily understood to those unfamiliar with the basics of how web pages are created and served, and will be still less readily understood by those unfamiliar with the Internet or computing basics.  The current lead reads, "PHP is a scripting language originally designed for producing dynamic web pages."  I'm not sure how this could be made plainer, especially given that both of the mildly technical terms are more or less self-explanatory and moreover are wikilinked.  A scripting language is a computer language with which one writes scripts which can carry out functions.  A dynamic web page is a web page that can change, which is to say, it is in contrast with a static web page, one which appears the same each time it is served.  (Of course, all of this would have meant little to my grandmother, who never used a computer, never learned a thing about computer languages and never saw a web page.  Presumably, people like her make up a virtually nihil percentage of the Wikipedia audience.)  Any other definition of PHP is likely to be too broad, too narrow, or plain wrong, but even so, the world awaits with bated breath the promised improvement. Robert K S (talk) 02:05, 12 August 2009 (UTC)
 * Maybe Eperotao's friend is going to patent that sentence and make a lot of money, so they don't want him to give it away under our Creative Commons Attribution/Share-Alike Licence. Maybe in the future we'll be allowed to pay to read it somewhere. --Nigelj (talk) 10:39, 13 August 2009 (UTC)

IPv6 support
Doesn't PHP6 support IPv6 addresses? Shouldn't this info be in the article? Danielspencer2 (talk) 02:23, 16 September 2009 (UTC)


 * In what way does it support IPv6? Eeekster (talk) 02:34, 16 September 2009 (UTC)

Security?
The article says: "PHP scripts are stored as human-readable source code" ... "This is a potential security risk which compiled languages, such as C (the language PHP and its extensions are written in), do not have as they are stored in binary format."

I'm not sure exactly what it's saying here. Does it mean that if you accidentally serve up a binary, then web clients will have a harder time figuring out what it does? Does it mean that somebody else with write access to your server can't as easily edit the file to do something malicious, or that it'd be easier to identify? I'm not sure what security risk binary code would obviate.

The linked page says:


 * "anyone can find out the secrets of a program and thus copy or even modified the program. There is therefore a risk of copyright violation." (sic)

which is weird: if you have read access to the program, you can figure out the "secrets" either way, with more or less effort involved. Compilation is not security, and it's not encryption. —Preceding unsigned comment added by 216.163.72.2 (talk) 00:49, 14 November 2009 (UTC)
 * You're right. There is a section  on security in the article, and this had been added in the middle of something about performance, where it is irrelevant.  The cited ref is very much a beginners guide to 'what is a computer program?', and the site seems to be some kind of wiki for members only to edit as they like. The points made about writing websites in C as that means that the code on the server will be binary and so incomprehensible is so unlikely. No one writes web sites by CGI in C any more, and if a hacker has file-level access to your server, it doesn't matter what language you've written your stuff in. Recommending that the only way to write secure websites is in C and similar languages would put us back into some maintainability dark ages! No serious modern textbooks or training courses are recommending that. So, I deleted the sentence. --Nigelj (talk) 14:15, 14 November 2009 (UTC)

Syntax
The syntax section states that "PHP only parses code within its delimiters. Anything outside its delimiters is sent directly to the output and is not processed by PHP." However, text outside of a PHP block that is still within a PHP control structure will be processed as inside the control structure. Synook (talk) 05:30, 16 November 2009 (UTC)

Useage Statistics
Right now, this article is using information from 2007 on the usage of PHP. From the same source, they have updated their numbers for November 2009. 

Fireworking (talk) 04:13, 18 November 2009 (UTC)

Hello World
I loaded the Hello World example into Firefox, and it displayed the following:

Hello world '; ?>

What's up with that? Jive Dadson (talk) 03:43, 21 December 2009 (UTC)


 * PHP code will only be executed by a PHP interpreter. Just like a compiled language needs the appropriate compiler, a scripting language like PHP needs the appropriate interpreter.  Web browsers don't have this interpreter built in, so it was evaluated as HTML. --Matt Schwartz (talk) 15:28, 21 December 2009 (UTC)

Stuff removed from Boolean data type article
The following section was removed from the article Boolean data type: begin removed text

PHP has a Boolean data type with two values: true and false (case doesn't matter).

Several values evaluate to a logical false with the loose comparison operator. There are generally empty instances of a type, or are considered equivalent to the number 0. These values are:
 * false
 * integer or float 0
 * string "0"
 * NULL
 * empty array
 * empty string

PHP programmers wishing to distinguish a Boolean variable set to false from other types of variable must use the strict comparison operator.

end removed text Is there a place for this text in the PHP-related articles? Perhaps in the Wikibook? Thanks, and all the best, --Jorge Stolfi (talk) 00:21, 31 December 2009 (UTC)

Article is too technical
In my opinion, this article is still too technical. I'd appreciate it if anyone who has the time could help out and make it less technical by removing information that an average reader would either not understand or not care about. Also, please feel free to include information about PHP that would interest a typical reader; I would imagine this would include information regarding its popularity (a lot of people see URLs end in .php but wonder why PHP is so popular), and information such as how PHP can be vulnerable and its downsides and openness to hackers, since people generally understand that programming languages are never immune to hackers. And etc. Gary King (talk) 21:28, 16 March 2008 (UTC)


 * I strongly disagree. Why should we make Wikipedia less useful and serious? This is not a computer magazine for pointy-haired managers, but a serious education and research resource. Some of us want to know the features of different programming languages, not how PHP will reduce TCO, shorten time to market and all that generic crap. 12:42, 23 December 2008 (UTC) —Preceding unsigned comment added by 217.125.117.197 (talk)


 * I dot not agree with this statement, and I think that removing material, especially the only piece of light criticism about PHP and the security issues surrounding it. So I'm putting back the popularity section. SuzieDerkins (talk) 10:55, 24 March 2008 (UTC)


 * What do you mean by "such as how PHP can be vulnerable and its downsides and openness to hackers"? Last time I checked (a few hours ago) PHP had no publicly known vulnerabilities. If you know of any then feel free to report them. —Preceding unsigned comment added by 67.53.37.218 (talk) 12:14, 1 June 2008 (UTC)


 * I strongly disagree. By the contrary, if anyone would take the time to make this article more precise and even better structured, I would be happy to read it again. A good structure would also allow for an introductory statement before entering technical details, which would be good for beginners, without ruining the technical value of the article. Doru001 (talk) 06:17, 11 April 2009 (UTC)

Please rewrite the introduction so that it is accessible to a lay audience. As it stands now, it is nearly meaningless to anyone who basically does not already know what PHP is. It IS too technical. There is no reason to omit information in the rest of the entry that the authors and editors feel is relevant. But there is EVERY reason to make it accessible to people who are just coming to this cold. The introduction should be especially clear. I have a highly technical background in another field and I find this introduction does not give me any sense of what PHP DOES (as opposed to what it IS). Eperotao (talk) 15:35, 7 August 2009 (UTC)


 * I concur. I was a professional systems programmer for 30 years, but I never did any web stuff. The intro is inscrutable.  What does the php interpreter do?  Does it convert php code into html code to be transferred from the server to the client?  That's my guess, because I loaded the example program into Firefox, and it did not print "Hello World" properly. (See above.) I know a little, very little, about such things.  Enough to write a simple javascript script and run it.  Someone with no knowledge at all about the subject would be very frustrated trying to make sense of this article. Jive Dadson (talk) 05:29, 21 December 2009 (UTC)
 * It appears to be written for people who already know what it is and does - a sort of reference. I know it is used for dynamic web pages and it is on the web server, as it says that.  Apart from that what the hell is it?  What does it do that others can't do? What does it do that makes things easier?  etc.  The opening should be written for "dummies", to understand.  —Preceding unsigned comment added by 79.65.105.39 (talk) 13:04, 2 January 2010 (UTC)

GoPHP5 Wording
I don't think that the GoPHP5 effort really warrants as much of a mention as it has in the article. Whilst it may have been a community effort to get hosts to add PHP5 support (and open source projects to drop PHP4 support), I don't think this is adequately relevant to 'the history of the language'.

Things I think would be more relevant: milestones in usage / job statistics, the emergence of the first acceleration modules / other closely related software, etc.

prat (talk) 08:02, 3 January 2010 (UTC)

Logo
Hi, I made this logo of the php language. I would like to add it here as a reference should anyone need php related graphic content. Thanks --Camilo Sanchez (talk) 23:21, 9 February 2010 (UTC)

PHP6 scrapped, code moved to new PHP 5 branch, development trunk
Rasmus Lerdorf explains fate of PHP6

6.0 used to be listed

Now:

No more PHP 6



Ofus (talk) 14:08, 27 March 2010 (UTC)

Why are old versions of PHP 5.3.X labeled supported?
I'm not sure why 5.3.0, 5.3.1 are labeled as supported. 5.3.2 was released to fix security problems and other bugs, just as 5.2.13 was released to fix problems with 5.2.12 which isn't marked supported. Only 5.3.2 and 5.2.13 are listed on php.net as current, and are the only versions listed on the download page.

If you're reading this, more knowledgeable of PHP than I am and agree: Congratulations! You're my second opinion! I suggest updating the release chart. —Preceding unsigned comment added by Ofus (talk • contribs) 14:30, 27 March 2010 (UTC)
 * Update - older versions officially not supported according to php.net. Ofus (talk) 14:35, 27 March 2010 (UTC)

GPL
What's incompatible? The ref I followed in the article's second paragraph didn't say. --Uncle Ed (talk) 14:22, 4 April 2010 (UTC)
 * Fixed; the content in question just moved to another page. There's also an alternative page with the same content (at least in this case). No idea if the "accessdate" parameter of the Cite Web template needs to be updated, though. --Sid 3050 (talk) 15:43, 4 April 2010 (UTC)


 * Sid, I added an explanation of why FSF says PHP doesn't qualify fully as "free software". It seems the PHP folks want to protect their brand.


 * Other than that, can't you do pretty much what you want with it? --Uncle Ed (talk) 17:22, 4 April 2010 (UTC)


 * The license doesn't seem to restrict what your derived product may do, and it's free software, so yeah. It's just not GPL-compatible because of this name protection thing. --Sid 3050 (talk) 17:42, 4 April 2010 (UTC)

Competition
Should the competition of PHP such as ASP.Net, J2EE be mentioned and compared? Zipswich (talk) 11:02, 19 May 2010 (UTC)

Proposed merge - Visibility
I came across this article on Visibility of PHP properties and methods. It doesn't seem to make much sense as a standalone article and makes more sense as part of an overall article on the language. It seems to me that mering the material to PHP would make sense. -- Whpq (talk) 17:52, 8 July 2010 (UTC)


 * As nobody seems to object to merging this material, I have gone ahead and merged it into PHP as part of the Object section. -- Whpq (talk) 12:45, 28 July 2010 (UTC)

criticism
this is a great article, but it would be nice to know what is not so awesome about php. —Preceding unsigned comment added by 76.104.193.173 (talk) 08:12, 26 June 2010 (UTC) http://blogoscoped.com/archive/2004_07_17_index.html -- Try this? —Preceding unsigned comment added by 12.34.246.79 (talk) 15:08, 7 July 2010 (UTC)

ok, so in response to your request, I added some criticisms of PHP and comparison with other scripting frameworks. Let me just leave a trail here and call this though - from my experience with talking with PHP folks, they're quite tenacious and close-minded (which kind of explains despite PHP's popularity, it's pretty behind on updating its technologies and conventions), and they enjoy making accusations against things they've never touched, with that said, there's a good chance that they'll find an excuse to remove the section. Let's hope that I'm wrong. --Rawringtiger (talk) 11:19, 24 July 2010 (UTC)


 * I removed this section. It entirely consisted of comparisons between PHP (a language) and other frameworks of other languages (like Ruby on Rails, or .NET). PHP is not a framework. Zend Framework is, for example, and so those objections could be raised on that article (though many wouldn't be valid). Further, most of the text was written unencyclopedically and without sources. That said, PHP does receive a lot of criticism around the net, and it would probably be good to include some of it in the article. We just need valid comparisons and sources cited. Jesstalk edits 17:04, 24 July 2010 (UTC)


 * Ok, I'm recovering this section because that distinction is wholesomely hilarious. Sure, if that is the case, then there's no such thing as a language in .NET because everything you use in .NET is common language runtime, same goes for Java. In fact, PHP has so much add-on to it that it's hardly distinguishable what is a framework and what is the language itself. Please don't be ridiculous. Without any sources? I included sources on the benchmark, and just, how exactly, would you cite sources to show that PHP does not have something like Code-behind? uh, if you feel citing the php website and how it does not include such feature, go ahead, but don't sabotage other ppl's work just because you are clearly taking sides. See? I called it, I said it early on that somebody is going to come up with a stupid excuse to erase criticisms of PHP. Saying that PHP is not a framework and erasing other people's contribution is just about the most pedantic b.s. you can come up with, sure, if PHP is not a framework, explain SOAP, JSON and other supports that are now built into the PHP "package". Sir, please, get your head out of the gutter. Rawringtiger (talk) 03:48, 26 July 2010 (UTC)


 * Rather than hurling insults and edit-warring, we need to look at policy and guidelines. First, according to WP:CRITS and WP:STRUCTURE there are better ways to include criticism in an article without adding a 'criticism' section. The only source I can see in the current controversial passage is misfitgeek's blog. Per WP:SPS we should not use someone's personal blog for 'facts', but only to quote their personal opinion, if that is notable enough. The fact that in the blog we read "I’m PAID by Microsoft" followed by claims of being unbiased doesn't help with this. Secondly, the charge that the rest of the criticism is WP:OR and that it unfairly compares a language with a framework seems well-founded. Comparing the way a   or a   statement works in PHP vs other languages would seem more valid than comparing a bare language with a whole framework concept like 'code behind'. Even Microsoft has moved on from that with MVC now. How about comparing the ease of implementing MVC or Ajax in PHP with doing so in Java or .NET languages? What about other benefits and downsides like flexibility, speed, etc? Have any notable authors written anything on any of these that we can report? That is how we should be thinking here, not bashing out personal opinions. Please discuss proposed text here rather than edit war in the article itself. --Nigelj (talk) 09:24, 26 July 2010 (UTC)


 * Ok, rather than taking quotes out of context, I'd suggest that you read through the blog entry - the person also uses PHP, and just FYI, the person was paid by Microsoft for his work, NOT FOR THE BENCHMARK, if you believe that neutrality is under question because of that, we might as well remove this entire page because I'm pretty sure most people who've edited this page are in one way or another affiliated with an entity supporting or competing against PHP. So please spare me your pretentious arbitration. And I can't help but realize that you contradicted yourself in that entry there. Not only did the criticism section address the ease of implementing AJAX and MVC in PHP vs. in .NET/Java/Django/Ruby, the writing contained no personal opinions or judgments of good vs. bad. The criticisms merely pointed out what PHP does not have OUT-OF-THE-BOX. Please respect other people's rights to contribute to the article. Not only did your remarks here hopelessly diverge from the content of the criticisms section, you're dismissing facts (e.g. PHP does not provide direct control of client-side components, it's not in the API, thank you.) for personal opinions. As for that b.s. about unfair comparison of a language vs. a framework? why is Zend even on this page then? I've used all the languages mentioned in the criticisms section and I deploy whatever is right for the job, it really annoys me that you guys are so close-minded that you have to collectively silence others to pointing out what a framework doesn't have. I'm putting the section back in, AGAIN, you guys are just making this worse and proving just how intolerant you are of opposing evidences.


 * and thanks a lot for suggesting how you can "incorporate" criticisms into the article by COMPLETELY removing the criticisms section, nothing less of hypocrisy. —Preceding unsigned comment added by Rawringtiger (talk • contribs) 10:12, 26 July 2010 (UTC)


 * Welcome as a Wikipedia editor! I suggest you take a look at WP:CIVIL. Thanks. Haakon (talk) 10:30, 26 July 2010 (UTC)


 * I re-reverted the section. Your argument for their inclusion above entirely consists of personal attacks. Please assume good faith for other editors. If you have valid objections, please raise them concisely and civilly here. Please do not edit war on the article. Thanks Jesstalk edits 13:20, 26 July 2010 (UTC)

LOL! ENTIRELY consist of personal attacks? REALLY? do you want to read the entry again and then attempting at that? I supplied plenty of evidence (numbers) and I told, repeatedly that the person who did the benchmarks did work in both PHP and .NET and I don't understand why you would discredit someone just because of the person's work history. Great job abusing your power as a moderator or whatever that you are. It's certainly great to know that wikipedia is a place that condones group violence against minorities expressing opposing opinions. See, the correct way to handle this, is that you cite the section by saying SOME HAVE SUGGESTED THAT PHP MAY NOT BE AS EFFICIENT, you don't just remove the entire section. I was pointing out that a number of you are engaging in a horde edit war by repeatedly removing cited passages from the entry and nobody is offering a convincing answer or waiting for resolution -> and calling you out became a personal attack? wow, is this hypocritical or what? Whatever, I already called it, there is no criticism section on the PHP page 'cause PHP supporters keep silencing opposing opinions. Rawringtiger (talk) 18:22, 27 October 2010 (UTC)