Newsgroups: php.internals
Path: news.php.net
Xref: news.php.net php.internals:126114
X-Original-To: internals@lists.php.net
Delivered-To: internals@lists.php.net
Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5])
	by qa.php.net (Postfix) with ESMTPS id 60EF11A00BD
	for <internals@lists.php.net>; Thu,  5 Dec 2024 23:16:15 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail;
	t=1733440387; bh=06VwAduN+DwsV3ObqXuIsuW9aIBqHB58h35kAC2rQyM=;
	h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
	b=esbtgVZu0n4cRRykIcd98/KxrA9BapQAHAaFvGoxJgr/ZpsgxH5afyZ5o+IuSHMS+
	 yr2JMMhz2qS9L6KanZkcoPWowUgD96WypoApAI/l1+b5OaQXceGjtmCriXSMkpGdqp
	 Ez0SxM5TnIVM+zRYKTPPbYbWUtFCpF5gNxbpMFztO1li24OmU60S8I/NketQWG80y5
	 NoqLvmvjcPI7jQVy11n+ezSjS4co0LR7ot332q9DDw4e0yVc+hnE6pe8wdC+L4DxJO
	 weGIGMBVn/w1yJixjBHIdbPHdCAGP/vVUSsn34te6Stf2ktQz0jdlZSf7BTCnV4CPx
	 gRhEuTrdDSWYA==
Received: from php-smtp4.php.net (localhost [127.0.0.1])
	by php-smtp4.php.net (Postfix) with ESMTP id 13B15180050
	for <internals@lists.php.net>; Thu,  5 Dec 2024 23:13:07 +0000 (UTC)
X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net
X-Spam-Level: 
X-Spam-Status: No, score=0.1 required=5.0 tests=BAYES_50,DKIM_SIGNED,
	DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,
	FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,
	RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=no
	autolearn_force=no version=4.0.0
X-Spam-Virus: No
X-Envelope-From: <cmbecker69@gmx.de>
Received: from mout.gmx.net (mout.gmx.net [212.227.15.15])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange ECDHE (prime256v1) server-signature RSA-PSS (2048 bits) server-digest SHA256)
	(No client certificate requested)
	by php-smtp4.php.net (Postfix) with ESMTPS
	for <internals@lists.php.net>; Thu,  5 Dec 2024 23:13:05 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;
	s=s31663417; t=1733440570; x=1734045370; i=cmbecker69@gmx.de;
	bh=DMIxlZnUpNu6a3g93M8uSrvlZGp/iVkO0UZ+36hpvI8=;
	h=X-UI-Sender-Class:Message-ID:Date:MIME-Version:Subject:To:Cc:
	 References:From:In-Reply-To:Content-Type:
	 Content-Transfer-Encoding:cc:content-transfer-encoding:
	 content-type:date:from:message-id:mime-version:reply-to:subject:
	 to;
	b=tI0RrM2JUsW24ix//yJdai7y4c+qrVh6PaxKKqxrn4MlKtZmWjfTzVYYSzgET26m
	 Fbmh2M3v7YwCZpGmjKwg172+Gwzj7rfD3DWlpJuV3p5qePk2gurfwgL1OIzDkgw+k
	 OZRukqp5MeUg4WDv3Mk7yyF2/1wgPD4ZPauH5a30AJotrgrnwZK86x0u3fWUtEEkU
	 oxevM+1+xKy0+fgZ95PsNBIQF3a3ohxXkn8HfveDA1IqbJP47EykJJUC/2fu5M8F5
	 vYg1Z1P4qlu94tpm8DhVUlAzulr7yQRQWj+rsMrUurSPokKnU4OI7ddNva50QM/qI
	 JM/kgP5TvrNTWfAy5A==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from [192.168.2.130] ([79.251.205.37]) by mail.gmx.net (mrgmx004
 [212.227.17.190]) with ESMTPSA (Nemesis) id 1N0G1d-1tXYGz1YxD-0153Us; Fri, 06
 Dec 2024 00:16:10 +0100
Message-ID: <6c1b378a-4c93-4747-bb5a-84d133c95d8b@gmx.de>
Date: Fri, 6 Dec 2024 00:16:10 +0100
Precedence: bulk
list-help: <mailto:internals+help@lists.php.net
list-unsubscribe: <mailto:internals+unsubscribe@lists.php.net>
list-post: <mailto:internals@lists.php.net>
List-Id: internals.lists.php.net
x-ms-reactions: disallow
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PHP-DEV] [RFC] [Discussion] Add WHATWG compliant URL parsing API
Content-Language: de-DE
To: =?UTF-8?B?TcOhdMOpIEtvY3Npcw==?= <kocsismate90@gmail.com>,
 =?UTF-8?Q?Tim_D=C3=BCsterhus?= <tim@bastelstu.be>
Cc: ignace nyamagana butera <nyamsprod@gmail.com>,
 Niels Dossche <dossche.niels@gmail.com>, internals@lists.php.net
References: <CAH5C8xUb1O20ZDrOQNC=ckFxHUUWSK7sw_njQQzFBd0qgQqoww@mail.gmail.com>
 <dd61999c-1ebd-4765-9add-cd8065968965@gmail.com>
 <CAOV5rgYZ_s1of-igLFEK7oqqh6=3HeYv0=JvvKvvjkcp0F6Q9Q@mail.gmail.com>
 <CAH5C8xV67frqOBCvLt73RM7QO86_pu40sHP5h71_kDRbKPtA8Q@mail.gmail.com>
 <57d09ef6591a4c70e60569b9de7ce330@bastelstu.be>
 <CAH5C8xXhHk2QjM5+VzKPFkBoLpO+kR-Tqr_o1YoaW=fkURHQFA@mail.gmail.com>
In-Reply-To: <CAH5C8xXhHk2QjM5+VzKPFkBoLpO+kR-Tqr_o1YoaW=fkURHQFA@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:YaK7b9aOx4XXsqwF7ytAF7Qhzj7WLI31b5QmM74HK89kllR7D4o
 TMlkY6FCjFPNBgonzzO0rALBDDxGHA805auCNkF5r3PrNAo+cwLr51G79kOBHuTxzynqgK4
 /xbWj9bFi75ZkZJpWOMix2ihEOZc3yJrD8fmy4hvWCq94FpAvTj2K3WcxO8vCCCJNmperEU
 n+N8i4vSV1X2K2/MD88Qw==
UI-OutboundReport: notjunk:1;M01:P0:GuwUDK8Fii4=;g9H98ILcmwgFodpDN5GO6EPRX48
 duHrQEkvvp8Fipxwr8O7Sfo76cu7b4kAs9BenMI0gPAMOCx3uq03fnyGDrF89KE2gJu32hKIc
 45hZfm4p6V43qhdkVKiQxWb/LxE3VWlfv+sWgSIE9YYBwQ6nvAwNOj+9RfrrIyS4pJMCGqAMu
 FmFNmwJkHHdIZGAzmKeZwMo0yxyDwO5/ElWm7YyKVLoDowvv+lX6OpTyaJcr1puHKT3rKUsG0
 Tb3+45VnuK0gshBy7A5RIGbW0cY1ISQ0OCAegO+soAwBDQrJM5A3ad10qTH9QbWhDlcT36/iI
 358DhkYs+zY3+GYBCBDwLk+h0u2iQVD0xC5CcbbyI4eJyDr+Xr/7YEDCeMHhCy3cwx8d5+i9k
 b0CtDox0WJJ6C98YniRptpTu0gU1+z5lwSEdx5lKfCM+9wycDVKoww8HOF53Ifaoynft4DiTm
 7Y7MxT/rRy2C7AjsF6dETfnTCDuBAJyIWIcTnxbEnsMPjOoZJhk8obYNjrSYmw1lfjMXujuk1
 ikB5gaFQB9skSEgbBzqedVMLeQ1w01eFPBjebirQ1+c8XIlBTlijhcnJpmg01ORE7h1i0/X4H
 n9aTV8xxYpSoD6GEoUFNp4SS4pmiiTqc8m1WDXZGfqKjkB8NGB01am14H39ZVlf4LZRC408kx
 t/OjxvnKShRnzNnxf8ym4Ccc1ugc/fRQH4gpxfnUyyZEBtHw1FyhBoVXgT+EL2CXurZSoNkXk
 3AZaioP/BCU/yQaowHoUl7KUesqICmYK1WZ8eTNJmCaiqnJWV7MhxmDmoaU4kOwaEYUw73Sz9
 eP+aX7xWD3hwH5kfbONoLkvLH+HwTvXj1tCXe0fM6a+A7bGjmsLA9ksDA9EWgQwbNLYhtJaSz
 otgDMSeYnmv3ioTUl0W/hVBFRa8nhDPsSqUAYff9RlYOk1vRyx4Ouic16rm+EwJ6Wyrv6HRmF
 3mvCEXP+CexzYuKi16ZyV3D0ZpNP10AkD0kceQdY+bM2v/An15Munrrc93KAEawXsgepL1nUT
 vkveBhRDMNbY9eQNFsMLewhdsCBfB9BxvypUEK+VQK07pZDn2Gfz5h84Pwvlc8/3AlHIE8kBP
 fDa9e17rP+zmqBmmHtxpPAkfSbRwbf
From: cmbecker69@gmx.de ("Christoph M. Becker")

On 05.12.2024 at 22:49, M=C3=A1t=C3=A9 Kocsis wrote:

>> I'm not sure I like the `Interface` suffix on the `UriInterface`
>> interface. Just `Uri\Uri` would be equally expressive.
>
> Yes, I was expecting this debate :) To be honest, I never liked interfac=
es
> without an "Interface"
> suffix, and my dislike didn't go away when I had to use such an interfac=
e
> somewhere, because it
> was difficult for me to find out what the symbol I was typing actually
> referred to.

By the same argument, you could come up with code like

<?php
class User {
    const defaultGroupNameConstant =3D "users";
    private string $nameVariable;
    public function getNameMethod() {=E2=80=A6}
    =E2=80=A6
}
?>

> But apart from my personal
> experiences, I prefer to stay with "UriInterface" because the 2 most wel=
l
> known internal PHP interfaces
> also have the same suffix (DateTimeInterface, SessionInterface), and thi=
s
> name definitely conveys that
> people should not try to instantiate it.

DateTimeInterface has been introduced after there had already been
DateTime.  Otherwise, we would likely have DateTime, DateTimeMutable and
DateTimeImmutable.  (Or only DateTime as immutable class.)

SessionHandler/SessionHandlerInterface have been bad naming choices, in
my opinion.  The interface could have been SessionHandler, and the class
DefaultSessionHandler (and should have been final).  I dislike these
Interface and Implementation (or abbreviations of these) suffixes.

Christoph