Re: STH Docs.

From: Date: Mon, 18 May 2015 16:22:27 +0000
Subject: Re: STH Docs.
References: 1 2 3 4 5 6 7 8 9 10 11  Groups: php.doc 
Request: Send a blank email to phpdoc+get-969385662@lists.php.net to get a copy of this message
On 18 May 2015 at 13:11, Pasindu De Silva <ppasindud@gmail.com> wrote: > below > > +++ en/language/types/scalar_typed_parameters.xml > @@ -0,0 +1,69 @@ > +<?xml version="1.0" encoding="utf-8"?> > +<!-- $Revision: 299488 $ --> > + > +<sect1 xml:id="language.types.scalar-typed-parameters" xmlns=" > http://docbook.org/ns/docbook"> > + <title>Scalar Typed Parameteres</title> > + <warning> > + Scalar Typed parameters documentation is currently been documented. > + </warning> > + <note> > + <para> > + Typed Parameters is also knowns as Type Hinting. > + </para> > + </note> > + <para> > + PHP 7 introduces scalar typed parameters. Functions are now able to > force parameters > + to be <type>string</type>, <type>int</type>, > <type>float</type> or > <type>bool</type>. > + By default all PHP Files are in weakly typed mode. > + To enable strict type checking declare(strict_types=1) directive must > be the first, > + statement in the file. strict_types takes has two options, 1 for > strict type > + checking and 0 for weak type checking. This only effect the file this > is stated in and not > + files either included in this file or other files that includes this > file. > + Whether or not the function being called was declared in a file that > uses strict or weak > + type checking is irrelevant. The type checking mode depends on the > file where the function is called. > + </para> > + <example> > + <title>Scalar Typed Parameters examples</title> > + <programlisting role="php"> > +<![CDATA[ > +<?php > +declare(strict_types=1); // Fatal error if this is not the first statement > + > +foo(); // strictly type-checked function call > + > +function foobar() { > + foo(); // strictly type-checked function call > +} > + > +class baz { > + function foobar() { > + foo(); // strictly type-checked function call > + } > +} > + > Ahh, this is not at all what I was expecting to see. The following is just my point-of-view, which may be wrong! (Throughout this reply, replace "hints" with "declarations" if that makes your inner correctness-officer happy) - We want to amend the "Language Reference > Functions", pages as follows: 1. "Function arguments" should have a section detailing parameter type hints (it's only mentioned under the "..." operator at the moment). 2. "Returning values" should have a section detailing return type hints Much of the content for the "function arguments" page changes could be appropriated from the current "Classes and Objects: Type Hinting" page. Some mention of the "strict_types" directive should be made in this functions chapter too, but only briefly, containing a link to the declare() man page for fuller details.. - The "Classes and Objects: Type Hinting" page (xml:id=language.oop5.typehinting) - This will become a much more brief page, basically linking to the "Functions" sections mentioned above. - This *may* be eliminated entirely, if an auto-redirect can be made to work for us. - The declare() page needs to be expanded to describe the new "strict_types" directive. Those are my two cents, more may be forthcoming if prompted! > On Mon, May 18, 2015 at 5:36 PM, Peter Cowburn <petercowburn@gmail.com> > wrote: > >> >> >> On 18 May 2015 at 12:45, Pasindu De Silva <ppasindud@gmail.com> wrote: >> >>> Hi Guys >>> I have patched the intial doc for Scalar Type Declarations, and making >>> "scalar typed parameters" a placeholder, which could be replaced >>> when we have some consensus on the wording. so we can carry with the >>> documenting the rest. >>> >> >> Could you attach the patch here? >> >> >>> >>> +1 >>> Pasindu >>> >>> On Sat, May 16, 2015 at 12:50 PM, Pasindu De Silva <ppasindud@gmail.com> >>> wrote: >>> >>>> Guys, >>>> do we have a consensus on whether type hinting has to be changed >>>> to Parameter Typing or Typed Parameters or else left the same. >>>> The scalar docs can go under >>>> http://php.net/manual/en/language.types.php >>>> >>>> If we are going the change then for oop5.typehinting >>>> We could clone "language.oop5.typehinting" to be >>>> "language.types.other-typed-parameters" and put a warning on >>>> oop5.typehinting >>>> about the change >>>> later change things that are linked to oop5.typehinting to >>>> types.other-typed-parameters. >>>> >>>> +1 >>>> Thanks >>>> >>>> On Thu, Apr 30, 2015 at 9:32 PM, Hannes Magnusson <bjori@php.net> >>>> wrote: >>>> >>>>> Its difficult to redirect all translations of an page too. >>>>> >>>>> Historically we try to refer to the shorturl >>>>> (http://php.net/oop5.typehinting) as that will do automatic language >>>>> negotiation, in which case we only need to keep an errorhandler >>>>> redirect for one entry. >>>>> >>>>> Our policy is to never rename/remove xml:ids of chunks. >>>>> The best thing to do is to keep that xml:id for historical description >>>>> (if that route is taken), and then we at least have the ID on file and >>>>> might be able to do reasonable fallback to its container. >>>>> >>>>> Keep in mind that translations will not break if they have translated >>>>> langauge/oop5.xml, and will include the current typehint page for a >>>>> long long time, unless there is a reference to the new xml:id outside >>>>> of the same hierarchy. >>>>> >>>>> This is a tricky thing to be doing and translators should likely be >>>>> notified of the changes once they are done. >>>>> >>>>> -Hannes >>>>> >>>>> >>>>> On Wed, Apr 29, 2015 at 4:37 AM, Pasindu De Silva <ppasindud@gmail.com> >>>>> wrote: >>>>> > Thanks for the info, >>>>> > If the redirection of >>>>> >>>>> http://php.net/manual/en/language.oop5.typehinting.php >>>>> > is done, not sure whether >>>>> > it have effects on other languages maybe not. >>>>> > >>>>> >> Levi Morrison wrote: >>>>> >> > - Please don't use the phrase "type hint" >>>>> >> > anywhere >>>>> > >>>>> > >>>>> > some other suggestions would be helpful. >>>>> > >>>>> > -- >>>>> > Pasindu De Silva >>>>> > ppasindud@gmail.com >>>>> >>>> >>>> >>>> >>>> -- >>>> >>>> *Pasindu De Silva**ppasindud@gmail.com <ppasindud@gmail.com>* >>>> >>> >>> >>> >>> -- >>> >>> *Pasindu De Silva**ppasindud@gmail.com <ppasindud@gmail.com>* >>> >> >> > > > -- > > *Pasindu De Silva**ppasindud@gmail.com <ppasindud@gmail.com>* >

« previous php.doc (#969385662) next »