Newsgroups: php.internals
Path: news.php.net
Xref: news.php.net php.internals:125125
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 31EEB1A00BD
	for <internals@lists.php.net>; Fri, 23 Aug 2024 11:51:58 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail;
	t=1724414028; bh=oyg4tQV/Fg2htSar6QlwxbUoBEHH0GFVD3Z4iMRdTqQ=;
	h=Date:From:To:In-Reply-To:References:Subject:From;
	b=cv59YLRmxpmBwMCoPwaIamwi4NRts3w8SbxX3czAqfQ8AJ4Bh6eGAVDnbZ01W5eNO
	 cJEzFs+p6ATVicTHkfpFV9F1eEPM8nWMeqJZYV19Y9UId3PzqUUFFSahYBzXU+UQoR
	 9Mj5NANiAZQo39trlJZouS86rhCEY2kv8I7e6R2vD2qVhe/qmGFvMminw+4WoQMHDw
	 r7WI2SomDWFNkrcID/qpVdJED3Z4W41xR7Di0AJTjrcrH8mzzQChoS/wJBmIoooD5J
	 69smLshAPwz0oEWhHrXwECP6hwGnHc9w+pqlaL+30AW43hb5ht/O4oV/C/YJs+tumY
	 IooLFqG5lXoWw==
Received: from php-smtp4.php.net (localhost [127.0.0.1])
	by php-smtp4.php.net (Postfix) with ESMTP id D75FA1801DE
	for <internals@lists.php.net>; Fri, 23 Aug 2024 11:53:46 +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_MISSING,RCVD_IN_DNSWL_LOW,
	SPF_HELO_PASS,SPF_PASS autolearn=no autolearn_force=no version=4.0.0
X-Spam-Virus: No
X-Envelope-From: <imsop.php@rwec.co.uk>
Received: from fout1-smtp.messagingengine.com (fout1-smtp.messagingengine.com [103.168.172.144])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 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>; Fri, 23 Aug 2024 11:53:44 +0000 (UTC)
Received: from phl-compute-03.internal (phl-compute-03.nyi.internal [10.202.2.43])
	by mailfout.nyi.internal (Postfix) with ESMTP id 0A3BB13900BC
	for <internals@lists.php.net>; Fri, 23 Aug 2024 07:51:53 -0400 (EDT)
Received: from phl-imap-10 ([10.202.2.85])
  by phl-compute-03.internal (MEProxy); Fri, 23 Aug 2024 07:51:53 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rwec.co.uk; h=cc
	:content-transfer-encoding:content-type:content-type:date:date
	:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:subject:subject:to:to; s=fm1; t=1724413913;
	 x=1724500313; bh=pdFtxeZy8Nisq214nTsgb9WTl0/PZ7uLG3WVCQsxbHg=; b=
	B/rvEmO+5THvcyE25z0qgF85HScoNsMM1fD2dCXYleTS1KNt7Yxpjf/QLpilV52a
	i40khx31wCr/akFSO8dNJVJzyLOr0pa2D+B5FCjEV2r6yQgqv7m24yQghpS698Qa
	nyslDdfN4ar9g4gfx5AnklV+/O7xE0DqXsM52ErAfg2a3dHkrU1RXauCmLRkoMQT
	D4q5BYnul0ZswyT60Tvca49XFfSz2hrUJf4Mb3R9LVlZdkHNtp2JXn0jgXTrGrvJ
	Hx2i6OBIxxgv1SvndU/Z/xomWfZxru1XzUDV2G7B40trlTZ59544fyJLYZtg/87F
	oqrC77iuyuHj2xxbW7sRCg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-transfer-encoding:content-type
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1724413913; x=
	1724500313; bh=pdFtxeZy8Nisq214nTsgb9WTl0/PZ7uLG3WVCQsxbHg=; b=h
	6nFfdjwYoezmiUytgvvi6WZGnQeXz9PNB8HBDAZnB0MYOIVdCvo/rXYBdKtM8IaX
	M+HivB822ByrHltXf6n9WONW/5hSw7myoaTNL2P53YgEPrdCU8Icw630vijCcj97
	Tu7cK3uBEiKsvYD6GuMG+/eaI8Cf7XlQklgZLKrOX0u5npvAtmwtJ/8oFmaILUOX
	7SrNYgsaK6Jp97141Des2qC/mUC6IQE0Z6mWK3Wjq8UzNWhovZIfkwyu8EZ9oiMW
	YarwYhZUiMolciprkX4YrLUGIe4/hUFu3PI9tkNZBZnfQO1zR3ZBO0DbytqptcGE
	Ko8aL/+Z9IXqI6UG8ZeKw==
X-ME-Sender: <xms:2HfIZgoktNmGCwBOIXOAfbnjysnBSFCN_tt4q9P6d9HC7MY-sbDyWA>
    <xme:2HfIZmpwQrckQZuKs6O8xn446AGICsnMH2_yLEqgxFvAjotWUqCagSFzxWBKRJ3CP
    5-lW2k0AI2zoNpVSgA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddruddvvddggeehucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu
    rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucenucfjughrpefoggffhf
    fvkfgjfhfutgfgsehtjeertdertddtnecuhfhrohhmpedftfhofigrnhcuvfhomhhmihhn
    shculgfkoffuohfrngdfuceoihhmshhophdrphhhphesrhifvggtrdgtohdruhhkqeenuc
    ggtffrrghtthgvrhhnpeevjefgvdehffeuudelgfeutdehteefhedtffdthfetvedulefg
    ueeiteelffeuvdenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfh
    hrohhmpehimhhsohhprdhphhhpsehrfigvtgdrtghordhukhdpnhgspghrtghpthhtohep
    uddpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepihhnthgvrhhnrghlsheslhhish
    htshdrphhhphdrnhgvth
X-ME-Proxy: <xmx:2HfIZlNxYT0moBdacEm3Q_u6kU3Igsu-KyMvgPrKYtesC80QTMigww>
    <xmx:2HfIZn4-tWXCB4Y9QoLDdtnPqgnLhNc8T8ZCmenj2cVyb1vgpXDNjA>
    <xmx:2HfIZv6TvEDoUa2YoG9C5J7b8e2YtdLa-Hk1UjQWdbXC_A6Tr_OGsA>
    <xmx:2HfIZnjTTzB-GAnhrLluIRyy4gtoYRows2FM7C2B_88q_L0DTuJWVA>
    <xmx:2XfIZshFPoX6sp5KczyUfztXo8O8_0CIKtXVgZ8bTg2NGdXzyrrjWTFs>
Feedback-ID: id5114917:Fastmail
Received: by mailuser.nyi.internal (Postfix, from userid 501)
	id C274D3C0065; Fri, 23 Aug 2024 07:51:52 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
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
Date: Fri, 23 Aug 2024 12:50:10 +0100
To: internals@lists.php.net
Message-ID: <838adce3-12da-49f3-88f2-883d63e93e89@app.fastmail.com>
In-Reply-To: <DACF099F-3CC9-4B92-9C4C-736B92E8D69C@newclarity.net>
References: 
 <CAPyj-LCoBY2bPHLmsyONYDbY9aRSraLz5QNskeTiWfpMD0pTSg@mail.gmail.com>
 <c385b525-37f7-446b-aa96-72272ef9e407@app.fastmail.com>
 <CAPyj-LA4kTJTrQZUkn9kNMvWdH6SsFGU5mBO6EcpuUcRpXesgw@mail.gmail.com>
 <d4b18a48-93b0-49c8-821d-f9298e831188@rwec.co.uk>
 <BD6D644E-A90C-49B8-B51A-C9D4C943FDF6@newclarity.net>
 <846D7756-712B-4A7C-9FC6-DB9F858836B8@rwec.co.uk>
 <DACF099F-3CC9-4B92-9C4C-736B92E8D69C@newclarity.net>
Subject: Re: [PHP-DEV] [Concept] Flip relative function lookup order (global, then
 local)
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
From: imsop.php@rwec.co.uk ("Rowan Tommins [IMSoP]")

On Fri, 23 Aug 2024, at 12:29, Mike Schinkel wrote:
> namespace \AcmeComponents\SplineReticulator\Utilities\Text
>
> function Foo():int {
> 	return Text\strlen("Hello World");
> }
>
> The above of course could result in BC breaks IF there happened to be 
> existing code that referenced Text\strlen() where Text was a top-level 
> namespace

It wouldn't be a top-level namespace that would cause a conflict, but a nested one: currently the above code resolves the function name as "AcmeComponents\SplineReticulator\Utilities\Text\Text\strlen" (note the "...\Text\Text\...").

It's an interesting suggestion, but I'm not totally sold on "use the end of the current namespace" being easier to remember than "use this symbol or keyword".

return namespace\strlen("Hello World"); # current syntax, rather long and unclear
return _\strlen("Hello World"); # short, but maybe a bit cryptic
return Text\strlen("Hello World"); # variable length, relies on current context
return NS\strlen("Hello World"); # shortening of current keyword
return self\strlen("Hello World"); # maybe confusing to reuse a keyword?
return current\strlen("Hello World"); # clear, but a bit long

-- 
Rowan Tommins
[IMSoP]