Re: RFC: Server-Side Request and Response Objects (v2)
| From: | Paul M. Jones | Date: | Tue, 18 Feb 2020 13:33:37 +0000 |
| Subject: | Re: RFC: Server-Side Request and Response Objects (v2) | ||
| References: | 1 2 3 4 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-108657@lists.php.net to get a copy of this message | ||
Hi Côme,
> On Feb 18, 2020, at 03:24, Côme Chilliet <come.chilliet@fusiondirectory.org> wrote:
>
> Le jeudi 13 février 2020, 09:16:49 CET Paul M. Jones a écrit :
>
>> Yeah, naming is one of the hard problems. I considered $query as an alternative property
>> name for $get, but in the end, the
$_GET => $get symmetry was too
>> great to ignore. If others here feel that $query is a better name for
>> $_GET than $get, I will submit to consensus on that point.
>
> query is definitely better than get.
Excellent.
> Regarding post, I’m fine with body, parsedBody and input.
>
> I get the idea of input to mimic php://input, but if I understand things correctly, php://input
> is raw body, while $request->post is parsed body, so naming them alike might actually cause
> confusion?
Might, might not. I don't think there is any "good" name here, only names that are
less-bad than others.
> I still do not understand this.
> echo adds content to the response, it does not replace it.
> So the equivalent function should be $response->addContent.
>
> I would expect $response->setContent to replace the content.
Ah, I see what you are getting at now ...
> Can you explicit behavior for this:
>
> $response->setContent("a\n");
> $response->setContent("b\n");
> $responseSender->send($response);
>
> Compared to
>
> echo "a\n";
> echo "b\n";
... the output would be "b\n". As you say, setContent() replaces whatever content is
already in the ServerResponse. While the comparison for a single echo is accurate, the comparison
for multiple echoes would be:
$content = "a\n";
$content .= "b\n";
$response->setContent($content);
$responseSender->send($content);
Does that help to clarify?
--
Paul M. Jones
pmjones@pmjones.io
http://paul-m-jones.com
Modernizing Legacy Applications in PHP
https://leanpub.com/mlaphp
Solving the N+1 Problem in PHP
https://leanpub.com/sn1php