Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:129465 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 lists.php.net (Postfix) with ESMTPS id A52381A00BC for ; Thu, 27 Nov 2025 09:27:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1764235642; bh=i3b6PJZjPGYBdDlcYmztE7op5RLs527vVkpA24wDFTQ=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=fUKIoNTte7Etvs6B4e7bJQ0iQ3fN9eP5itom7OnwfqxR0C56E+cyS4icjNJRn6eym vrqtNu7rz5LNiMmMKHPvGCTJxCvi1z4oQN/imFT5ijlU6Npvci8RhX71G+zIdpCzZJ hTMK8551pH2uxLwV9NK15CQXOEsh6FKxeRXyyamNf4mVUP+RXR9wONI8OGENrZUXEQ RyoWOmKZvAPK6TjR853KXGID/y8a01WAtavhMJV9/Augv+E0pYwrxsxhu31HitUzzF 9Uvf4XKwRKhT6cNltCmqFab+LAWv7f9ZGlbIBCtfCeZvGs3mgtuQXhmg8NTCG7teTR cnH8vJqeU9msA== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 95288180041 for ; Thu, 27 Nov 2025 09:27:21 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: No X-Envelope-From: Received: from chrono.xqk7.com (chrono.xqk7.com [176.9.45.72]) (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 ; Thu, 27 Nov 2025 09:27:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bastelstu.be; s=mail20171119; t=1764235635; bh=ey1s2Z+RGoLYEhiAmsedRXGhjmSkYEnkMY2bYG3Jlic=; h=MIME-Version:Date:From:To:Cc:Subject:In-Reply-To:References: Message-ID:Content-Type:from:to:cc:subject:message-id; b=B1d/2ycMxoyPU/oN4cqys2yx1gTTfRlYGE6lbmyQe+M0Dh0bI20F6cM/LQRf6xco+ TQXHEJIHgBx1u5unE01zLoYq9pVYlZQFs+mxcSGxUV3oZ/1qSOZUf0DeQUzC2Mw3/A nzV9xQmjrrcIYzCIWh/G2Ae4dG3z3JQGgeUE2TI624UTmvjmzMYnFZ/S8yZimphQGJ q/RoMDjblnPwXEXImGE68obrwtzpubl/QihlpgM5W+EBV1pk7mGIuTSAZZ5EDFC/nG ukZpHj6BxC0sGSsw1TLDx6esqg38UVfSVirn5ZlwW9LdS0JqsEeXjm4m8ydLDkJFJh 0Qly/mkJs0lVQ== Precedence: list list-help: list-unsubscribe: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 Date: Thu, 27 Nov 2025 10:27:15 +0100 To: Rob Landers Cc: internals@lists.php.net Subject: Re: [PHP-DEV] RFC: Namespace-Scoped Visibility for Methods and Properties In-Reply-To: <7a9286a9-17c8-44fb-8d10-3483aaf8bc6d@app.fastmail.com> References: <72f90052-fa19-415c-9f5a-ae75275fd030@rwec.co.uk> <2d9f8f1d-e568-4bb5-b30c-0a9e54a8f5fe@rwec.co.uk> <8978174c-04fc-451a-8bf5-cb7c54346318@app.fastmail.com> <1606b9e5-62b8-446b-adac-519ac19d01c3@app.fastmail.com> <7a9286a9-17c8-44fb-8d10-3483aaf8bc6d@app.fastmail.com> Message-ID: <4e8de41b3c8f030cf77b76d287491241@bastelstu.be> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit From: tim@bastelstu.be (=?UTF-8?Q?Tim_D=C3=BCsterhus?=) Hi Am 2025-11-23 20:25, schrieb Rob Landers: >> All in all, I feel that file-private symbols would solve many of the >> same problems, but be much easier to reason about. The SessionManager >> from your example could just be file-private. > > You can use private(namespace) as effectively file-private, just use a > namespace in a single file. And, if you need to refactor, you don’t > need to be constrained to a single file. The value of file-private for me is avoiding *naming collisions* for “helper functionality”, not restricting the API. For this purpose single-file namespace with namespace-private symbols would provide no value over just using a “hard to guess” class or function name, since in either case “external” code could also define symbols in that namespace. Best regards Tim Düsterhus