Re: STH Docs.
| From: | Peter Cowburn | 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>*
>