Misplaced Pages

Talk:PHP

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.

This is an old revision of this page, as edited by 37.212.37.47 (talk) at 17:10, 25 January 2021 (Syntax highlighting: new section). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Revision as of 17:10, 25 January 2021 by 37.212.37.47 (talk) (Syntax highlighting: new section)(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)
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

Template:Vital article

Good articlePHP has been listed as one of the Engineering and technology good articles under the good article criteria. If you can improve it further, please do so. If it no longer meets these criteria, you can reassess it.
Article milestones
DateProcessResult
February 23, 2008Peer reviewReviewed
March 25, 2008Peer reviewReviewed
April 1, 2008Good article nomineeListed
Current status: Good article
This article has not yet been rated on Misplaced Pages's content assessment scale.
It is of interest to the following WikiProjects:
Please add the quality rating to the {{WikiProject banner shell}} template instead of this project banner. See WP:PIQA for details.
WikiProject iconComputing: Software / Free and open-source software Mid‑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
MidThis article has been rated as Mid-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).
Please add the quality rating to the {{WikiProject banner shell}} template instead of this project banner. See WP:PIQA for details.
WikiProject iconComputer science Mid‑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
MidThis article has been rated as Mid-importance on the project's importance scale.
Things you can help WikiProject Computer science with:

Here are some tasks awaiting attention:
Please add the quality rating to the {{WikiProject banner shell}} template instead of this project banner. See WP:PIQA for details.
WikiProject iconInternet Mid‑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
MidThis article has been rated as Mid-importance on the project's importance scale.
Please add the quality rating to the {{WikiProject banner shell}} template instead of this project banner. See WP:PIQA for details.
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
A fact from this article was featured on Misplaced Pages's Main Page in the On this day section on June 8, 2007, June 8, 2008, June 8, 2009, June 8, 2010, June 8, 2012, June 8, 2015, and June 8, 2020.
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.

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:

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.

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:

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

"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?

Not even Debian knows why they're mentioned

No, seriously, is there any relevance to stating that "that not even Debian supports" PHP 5.6 or older?

Is there some common knowledge I'm missing, like Debian having a reputation for supporting very old software? Perhaps this is true, but I don't think it is obvious to the average person or programmer.
(Is the point is to emphasize how unsupported PHP 5.6 & below are?)

Either way, the additional side-note that "(while Debian 9 still supports version 7.0 and 7.1, those versions are however already discontinued by The PHP Development Team)" seems wholly unnecessary & off-topic, and (IMHO) it should be removed.

~ 2600:1700:1261:E730:D4EB:3BD7:B0E:F1D7 (talk) 06:24, 20 September 2020 (UTC)

Template error in infobox

I don't know where to put this as so many different systems are affected, but I assume many watchers of this article are familiar with code going wrong... currently the infobox has an error "Error: first parameter cannot be parsed as a date or time." The error comes from the code {{start date and age|{{wikidata|qualifier|P348|P577}}}}. The inner template returns "29 October 2020; 29 October 2020" because apparently it fetches the date both from the latest stable release and the release candidate version. That's not a valid date for the outer template, so we get this error. Is this a more general problem of the wikidata template? Is it expected to return multiple dates? If yes, can we avoid this problem by changing the Wikidata entry? If not, what else can we do to fix the error? We can put the date into the article manually, of course, but that's not a proper fix of the issue. Fetching the version ({{wikidata|property|reference|P348}}) works flawlessly. User:Romainluc last changed the Wikidata entry. --mfb (talk) 21:32, 14 November 2020 (UTC)

Try WP:VPTGhostInTheMachine 22:11, 14 November 2020 (UTC)
@Mfb: I added |single= to that line of the infobox as a temporary work-around until the underlying problem is identified and solved. I'm not sure what will happen if there is a release candidate that is dated AFTER the date of the last stable release - it might return the wrong date. davidwr/(talk)/(contribs) 23:47, 14 November 2020 (UTC)
Infoboxes should be using Module:WikidataIB. – Jonesey95 (talk) 01:08, 15 November 2020 (UTC)

It's December

It's past 26 November so shouldn't it be in the past tense? by kaiete (talk) 20:25, 2 December 2020 (UTC)

Syntax highlighting

The syntaxhighlight tag does not support modern PHP syntax:

$person = new class
{
    public $firstName = "John";
    public $lastName = "Smith";
    public function name(){
        return "$this->firstName $this->lastName";
    }
};

or

class MyClass
{
    public string $var1;
    public array $var2;
    function pr(string|int $array, array|null $subj): float|false
    {
    }
}
$myObj->pr(subj: , array: "John");

37.212.37.47 (talk) 17:10, 25 January 2021 (UTC)

Categories: