Misplaced Pages

Talk:PHP: Difference between revisions

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
Browse history interactively← Previous editContent deleted Content addedVisualWikitext
Revision as of 08:24, 2 February 2024 editSohom Datta (talk | contribs)Edit filter managers, Autopatrolled, Interface administrators, Administrators8,064 edits Nominating for good article reassessment (GAR-helper)← Previous edit Latest revision as of 17:01, 8 November 2024 edit undoPeaceray (talk | contribs)Autopatrolled, Administrators94,223 editsm Rollback edit(s) by 1.37.88.45 (talk): test edits (RW 16.1)Tags: RW Rollback 
(11 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{GAR/link|08:24, 2 February 2024 (UTC)|page=1|GARpage=1|status= |shortdesc=Scripting language created in 1994}}
{{Skip to talk}} {{Skip to talk}}
{{Talk header|noarchive=yes|search=no}} {{Talk header|noarchive=yes|search=no}}
Line 7: Line 6:
|action3=GAN|action3date=11:11, 1 April 2008 (UTC)|action3link=Talk:PHP/Archive 6#Good article nomination|action3result=listed|action3oldid=202315889 |action3=GAN|action3date=11:11, 1 April 2008 (UTC)|action3link=Talk:PHP/Archive 6#Good article nomination|action3result=listed|action3oldid=202315889
|topic=engtech |topic=engtech
|currentstatus=GA
|otd1date=2007-06-08|otd1oldid=136768480 |otd1date=2007-06-08|otd1oldid=136768480
|otd2date=2008-06-08|otd2oldid=217767227 |otd2date=2008-06-08|otd2oldid=217767227
Line 15: Line 13:
|otd6date=2015-06-08|otd6oldid=665966658 |otd6date=2015-06-08|otd6oldid=665966658
|otd7date=2020-06-08|otd7oldid=961374169 |otd7date=2020-06-08|otd7oldid=961374169

|action4 = GAR
|action4date = 22:40, 12 February 2024 (UTC)
|action4link = Misplaced Pages:Good article reassessment/PHP/1
|action4result = delisted
|action4oldid = 1206545484
|currentstatus = DGA
}} }}
{{WikiProject banner shell|class=GA|vital=yes|1= {{WikiProject banner shell|class=C|vital=yes|1=
{{WikiProject Computing|importance=high|free-software=yes|free-software-importance=High|software=yes}} {{WikiProject Computing|importance=High|free-software=yes|free-software-importance=High|software=yes}}
{{WikiProject Computer science|importance=high}} {{WikiProject Computer science|importance=high}}
{{WikiProject Internet|importance=high}} {{WikiProject Internet|importance=high}}
{{WikiProject Software|importance=mid}} {{WikiProject Software|importance=mid}}
{{WikiProject Spoken Misplaced Pages|En-PHP.ogg|462166234}} {{WikiProject Spoken Misplaced Pages}}
}} }}

{{Merged-from|Visibility of PHP properties and methods|08:41, July 28, 2010}} {{Merged-from|Visibility of PHP properties and methods|08:41, July 28, 2010}}
{{Merged-from|PHP Data Objects|date=July 15, 2014}} {{Merged-from|PHP Data Objects|date=July 15, 2014}}
Line 36: Line 40:
}} }}
{{archives|search=yes|bot=MiszaBot I|age=100}} {{archives|search=yes|bot=MiszaBot I|age=100}}

== Using Type Declaration instead of Type Hints ==

As my change has been reverted it seems appropriate to discuss the matter.

The PHP documentations refers to them as Type declaration, see: https://www.php.net/manual/en/functions.arguments.php#functions.arguments.type-declaration, and the original RFC introducing scalar types, uses the word "declaration", see: https://wiki.php.net/rfc/scalar_type_hints_v5
Although it is true that the PHP 5 documentation referred to them as "hints", and that the "Object Typehint" RFC is named as such but for all intent and purposes it is a type declaration.

Moreover, the word "declaration" is used in other places correctly instead of "hint", see:

{{quote|text=PHP 7 also included new language features. Most notably, it introduces return type ''declarations'' for functions which complement the existing parameter type ''declarations'', and support for the scalar types (integer, float, string, and boolean) in parameter and return type ''declarations''.}}

{{quote|text=Unusually for a dynamically typed language, PHP supports type ''declarations'' on function parameters, which are enforced at runtime. This has been supported for classes and interfaces since PHP 5.0, for arrays since PHP 5.1, for "callables" since PHP 5.4, and scalar (integer, float, string and boolean) types since PHP 7.0. PHP 7.0 also has type ''declarations'' for function return types, expressed by placing the type name after the list of parameters, preceded by a colon. For example, the getAdder function from the earlier example could be annotated with types like so in PHP 7:}}

{{quote|text=By default, scalar type ''declarations'' follow weak typing principles.}}

(Emphasis mine)

As I'm new to contributing to Misplaced Pages, I don't know what to do about the following comment from the revert commit
{{quote|text="typehint" is the commonly used term in the community.}}

As sure it is referred to that but it is not accurate, and my understanding is that Misplaced Pages articles should be accurate.

Can someone more experienced clarify?

== SampleCode replaces Screenshot in this type of Infobox ==

{{ping|Ancarda}} Hi, SampleCode argument is new and it should be used is instead of the past argument "screenshot". See, SampleCode has an abstract description of the total programming style. It conveys important information about remaining parts of this Infobox. So we should use this argument as the second rendering item, to successfully convey an overview of PHP language. Thanks, ] (]) 12:22, 3 February 2022 (UTC)
:Dear {{ping|Peterl}} Please read the above paragraph. By the same reason, perhaps we should apply that for Java and Javascript. If you disagree, please discuss that here. Thanks, ] (]) 17:55, 3 February 2022 (UTC)

{{ping|Hooman Mallahzadeh}}. Interesting, it seems some languages have sample code in a screenshot, I wasn't aware of that. I had a look through the Wayback Machine and it seems the PHP article never did. Nevertheless, the article has many code snippets, e.g. https://en.wikipedia.org/PHP#Example demonstrates OOP, string concatenation, list usage (<code></code>, <code>foreach</code>), closures & functional programming (<code>array_walk</code>), string interpolation, and one style of comments (<code>//</code>).

I appreciate the infobox might support a snippet to give a feel of the language, but just having hello world there doesn't seem useful to me. Perhaps it's useful to other people, I'm not sure. I especially feel this as https://en.wikipedia.org/PHP#Syntax gives two different ways to accomplish hello world. I honestly think a screenshot is fine -- is that deprecated for accessibility reasons? It seems like you'd have to put a lot of text there to make it useful (which you can't fit into the infobox), or somehow make it expand (like an image does today when you click on it).

Do a lot of other languages have this? I will admit I reverted your edit because I had seen previous similar edits reverted too, e.g. https://en.wikipedia.org/search/?title=JavaScript&diff=next&oldid=1069635829&diffmode=source
] (]) 05:47, 5 February 2022 (UTC)
::{{ping|Ancarda}} I have a question: What comes at the first glance in your mind when you hear the word "PHP"? For myself at the first glance is a small program like "Hello world", that is a typical instance of the total concept of programming language PHP. What about you? ] (]) 06:34, 5 February 2022 (UTC)
:::{{ping|Ancarda}} Or a better guestion: How you would explain the concept of PHP language to a bachelor student at his first term? Perhaps you would use a simple example, and not explain items like "Paradigm", "type discipline", and others. OK? Here we use "Hello World" program at Infobox to introduce PHP for a person who does not have any skill in programming. ] (]) 06:40, 5 February 2022 (UTC)

----

{{ping|Hooman Mallahzadeh}}

''For myself at the first glance is a small program like "Hello world", that is a typical instance of the total concept of programming language PHP''

I'm not sure what you mean by total concept. Printing something to the console doesn't seem to demonstrate enough differences between programming languages. Just from hello world, what differences can you see between these two languages:

<syntaxhighlight lang="python">
print("hello world")
</syntaxhighlight>

<syntaxhighlight lang="haskell">
main = putStrLn "hello world"
</syntaxhighlight>

It looks like you can just substitute some function calls <code>print -> putStrLn</code> and change the syntax slightly (i.e. drop parens) to translate Python into Haskell... but you can't. These snippets miss a very important fact that <code>print</code> has side-effects and <code>putStrLn</code> actually returns an <code>IO ()</code>, i.e. it's monadic. It also misses the fact Python is primarily a scripting language, and so many programs will use <code>__name__</code> so the programs functions can be included without executing. PHP works this way too; code outside functions will execute immediately.

If we want to give a "feel" for what these languages are like, we could expand the example, which will surface many of the differences:

<syntaxhighlight lang="python">
import sys

def main():
print("Type something to have it printed back")
for line in sys.stdin:
print(line, end = "")

if __name__ == "__main__":
main()
</syntaxhighlight>

vs.

<syntaxhighlight lang="haskell">
printInput :: IO ()
printInput = getLine >>= (\x -> putStrLn x) >> printInput

main :: IO ()
main =
putStrLn "Type something to have it printed back" >>
printInput
</syntaxhighlight>

Do you see how different the languages look just by doing something slightly more complicated than printing a fixed string to standard out? The issue I have is these snippets are now too large to put in the infobox -- again, my question is why we're replacing the screenshot with a snippet. It seems like a step back to me. If it was discussed and established somewhere, then please let me know (i.e. link me to the decision). If not (i.e. this is your proposal), I really don't see the value. Sorry.

''Here we use "Hello World" program at Infobox to introduce PHP for a person who does not have any skill in programming''

I've always had the impression Misplaced Pages is a reference for people who already know quite a bit about the topic they are reading up on, i.e. Misplaced Pages is not the place to go for an introduction to a topic. Perhaps I'm mistaken. ] (]) 11:37, 5 February 2022 (UTC)

== Security ==
Graphics processing is a rapidly developing field, so what was 'current' even only recently could be outdated very quickly. Additionally, describing GPU capability by monetary cost isn't particularly descriptive, even if one assumes USD pricing. <!-- Template:Unsigned IP --><small class="autosigned">—&nbsp;Preceding ] comment added by ] (]) 04:19, 27 March 2023 (UTC)</small> <!--Autosigned by SineBot-->

== throws keyword ==

The example of the <code>throws</code> keyword does not include the <code>throws</code> keyword in it. Is this even a real keyword? The docs at php.net have nothing about it. ] (]) 18:33, 4 January 2024 (UTC)


==GA Reassessment== ==GA Reassessment==

Latest revision as of 17:01, 8 November 2024

Skip to table of contents
This is the talk page for discussing improvements to the PHP article.
This is not a forum for general discussion of the article's subject.
Article policies
Find sources: Google (books · news · scholar · free images · WP refs· FENS · JSTOR · TWL
Former good articlePHP was one of the Engineering and technology good articles, but it has been removed from the list. There are suggestions below for improving the article to meet the good article criteria. Once these issues have been addressed, the article can be renominated. Editors may also seek a reassessment of the decision if they believe there was a mistake.
On this day... Article milestones
DateProcessResult
February 23, 2008Peer reviewReviewed
March 25, 2008Peer reviewReviewed
April 1, 2008Good article nomineeListed
February 12, 2024Good article reassessmentDelisted
On this day... Facts from this article were featured on Misplaced Pages's Main Page in the "On this day..." column on June 8, 2007, June 8, 2008, June 8, 2009, June 8, 2010, June 8, 2012, June 8, 2015, and June 8, 2020.
Current status: Delisted good article
This  level-5 vital article is rated C-class on Misplaced Pages's content assessment scale.
It is of interest to the following WikiProjects:
WikiProject iconComputing: Software / Free and open-source software High‑importance
WikiProject iconThis article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Misplaced Pages. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.ComputingWikipedia:WikiProject ComputingTemplate:WikiProject ComputingComputing
HighThis article has been rated as High-importance on the project's importance scale.
Taskforce icon
This article is supported by WikiProject Software.
Taskforce icon
This article is supported by Free and open-source software (assessed as High-importance).
WikiProject iconComputer science High‑importance
WikiProject iconThis article is within the scope of WikiProject Computer science, a collaborative effort to improve the coverage of Computer science related articles on Misplaced Pages. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.Computer scienceWikipedia:WikiProject Computer scienceTemplate:WikiProject Computer scienceComputer science
HighThis article has been rated as High-importance on the project's importance scale.
Things you can help WikiProject Computer science with:

Here are some tasks awaiting attention:
WikiProject iconInternet High‑importance
WikiProject iconThis article is within the scope of WikiProject Internet, a collaborative effort to improve the coverage of the Internet on Misplaced Pages. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.InternetWikipedia:WikiProject InternetTemplate:WikiProject InternetInternet
HighThis article has been rated as High-importance on the project's importance scale.
WikiProject iconSoftware: Computing Mid‑importance
WikiProject iconThis article is within the scope of WikiProject Software, a collaborative effort to improve the coverage of software on Misplaced Pages. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.SoftwareWikipedia:WikiProject SoftwareTemplate:WikiProject Softwaresoftware
MidThis article has been rated as Mid-importance on the project's importance scale.
Taskforce icon
This article is supported by WikiProject Computing.
WikiProject iconSpoken Misplaced Pages
WikiProject iconThis article is within the scope of WikiProject Spoken Misplaced Pages, a collaborative effort to improve the coverage of articles that are spoken on Misplaced Pages. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.Spoken WikipediaWikipedia:WikiProject Spoken WikipediaTemplate:WikiProject Spoken WikipediaSpoken Misplaced Pages
The contents of the Visibility of PHP properties and methods page were merged into PHP on 08:41, July 28, 2010. For the contribution history and old versions of the redirected page, please see its history; for the discussion at that location, see its talk page.
The contents of the PHP Data Objects page were merged into PHP on July 15, 2014. For the contribution history and old versions of the redirected page, please see its history; for the discussion at that location, see its talk page.


Archives
Archive 1Archive 2Archive 3
Archive 4Archive 5Archive 6
Archive 7Archive 8


This page has archives. Sections older than 100 days may be automatically archived by Lowercase sigmabot III when more than 4 sections are present.

GA Reassessment

PHP

The following discussion is closed. Please do not modify it. Subsequent comments should be made on the appropriate discussion page. No further edits should be made to this discussion.


Article (edit | visual edit | history· Article talk (edit | history· WatchWatch article reassessment page • GAN review not found
Result: Delisted. Hog Farm Talk 22:40, 12 February 2024 (UTC)

Multiple issues. The article is peppered with {{cn}} tags, and is largely based on primary sources (with not enough weight being given to third party sources). There is a one line section covering the PHP Foundation which should probably eithier be integrated into "History" (or removed completely). Additionally there are multiple dubious statements and promotional SEAOFBLUEs in the "Use" section while the "Security" section offers uncited WP:NOTGUIDE advice on security matters Sohom (talk) 08:24, 2 February 2024 (UTC)

The discussion above is closed. Please do not modify it. Subsequent comments should be made on the appropriate discussion page. No further edits should be made to this discussion. Categories: