Re: [PHP-DEV] Re: RFC: Nested Classes

2025-05-08 Thread Tim Düsterhus
Hi Am 2025-05-07 19:15, schrieb Rowan Tommins [IMSoP]: There are three "platform dependency" pseudo-packages available for packages to depend on different aspects of Composer's version: https://getcomposer.org/doc/articles/composer-platform-dependencies.md If these didn't seem suitable, they c

Re: [PHP-DEV] Re: RFC: Nested Classes

2025-05-07 Thread Rowan Tommins [IMSoP]
On 07/05/2025 14:10, Tim Düsterhus wrote: And rewrite all references inside of `Foo` to `Foo$Bar` (using Java's name mangling). This is effectively what Ilija's proposal for file-private classes did: https://externals.io/message/126331#126337. I think this would also be nicer on the autoloading

Re: [PHP-DEV] Re: RFC: Nested Classes

2025-05-07 Thread Rowan Tommins [IMSoP]
On 07/05/2025 14:18, Tim Düsterhus wrote: I don't think it is currently possible to define a minimum composer version as part of a package’s dependencies. There are three "platform dependency" pseudo-packages available for packages to depend on different aspects of Composer's version: https

Re: [PHP-DEV] Re: RFC: Nested Classes

2025-05-07 Thread Tim Düsterhus
Hi Am 2025-05-06 21:33, schrieb Rowan Tommins [IMSoP]: The classes that you'll need to be aware of will exist whether this feature is added or not, and you'll already need to avoid conflicting with them - usually by simply avoiding the main namespace prefix of the library. If this feature wa

Re: [PHP-DEV] Re: RFC: Nested Classes

2025-05-07 Thread Tim Düsterhus
Hi Am 2025-05-06 22:04, schrieb Rob Landers: I think these are fundamental problems (if they are a problem at all) with how PHP currently does namespaces and names. I don't think that this is a fundamental problem of namespaces and names. Ilija solved the naming conflict issue in his file-pri

Re: [PHP-DEV] Re: RFC: Nested Classes

2025-05-06 Thread Rob Landers
On Sun, May 4, 2025, at 15:52, Tim Düsterhus wrote: > Hi > > On 4/30/25 12:51, Rowan Tommins [IMSoP] wrote: > > I think you are insisting on a different definition of "private" for nested > > classes than exists anywhere else in the language, and one that I've not > > seen evidence of in any oth

Re: [PHP-DEV] Re: RFC: Nested Classes

2025-05-06 Thread Rowan Tommins [IMSoP]
On 4 May 2025 14:52:23 BST, "Tim Düsterhus" wrote: >> It's also not a new problem: PHP doesn't enforce a file and directory >> layout, and libraries can and do define things "inside" each other's >> namespaces. When declaring a class, you have to be aware of whether a class >> with the same

Re: [PHP-DEV] Re: RFC: Nested Classes

2025-05-04 Thread Tim Düsterhus
Hi On 4/30/25 12:51, Rowan Tommins [IMSoP] wrote: I think you are insisting on a different definition of "private" for nested classes than exists anywhere else in the language, and one that I've not seen evidence of in any other similar language either. It seems you want members to be "hidden"

Re: [PHP-DEV] Re: RFC: Nested Classes

2025-04-30 Thread Rowan Tommins [IMSoP]
On 29 April 2025 19:50:52 BST, "Tim Düsterhus" wrote: >I'm saying that I cannot add a private class Foo\Bar inside of the class Foo >without checking whether a class Bar inside a namespace Foo already exists, >since both would conflict. Even more problematic: I can't add a class Bar >inside

Re: [PHP-DEV] Re: RFC: Nested Classes

2025-04-29 Thread Tim Düsterhus
Hi On 4/24/25 21:26, Rob Landers wrote: This was very deliberate after much feedback and careful design. People were quite clear (including yourself, if I recall) that they didn't want a new syntax. Since there is no new syntax, there is no way to tell (from the outside) whether A\B\C refers

Re: [PHP-DEV] Re: RFC: Nested Classes

2025-04-24 Thread Rob Landers
On Thu, Apr 24, 2025, at 17:20, Tim Düsterhus wrote: > Hi > > On 4/24/25 17:09, Rob Landers wrote: > > Thank you for your feedback! I think you would then have the problem that > > was pointed out by Levi the other day; where you would then have ambiguity. > > If you could have both private an

Re: [PHP-DEV] Re: RFC: Nested Classes

2025-04-24 Thread Tim Düsterhus
Hi On 4/20/25 15:43, Rob Landers wrote: As it seems that discussion has mostly died down, I'd like to put this towards a vote starting on May 1, 2025. Unfortunately I did not have the time to follow the discussion after mid-March, so this might or might not have been discussed already. I ju

Re: [PHP-DEV] Re: RFC: Nested Classes

2025-04-24 Thread Tim Düsterhus
Hi On 4/24/25 17:09, Rob Landers wrote: Thank you for your feedback! I think you would then have the problem that was pointed out by Levi the other day; where you would then have ambiguity. If you could have both private and public names in the same namespace, then you would end up not knowin

Re: [PHP-DEV] Re: RFC: Nested Classes

2025-04-24 Thread Rob Landers
On Thu, Apr 24, 2025, at 16:31, Tim Düsterhus wrote: > Hi > > On 4/20/25 15:43, Rob Landers wrote: > > As it seems that discussion has mostly died down, I'd like to put this > > towards a vote starting on May 1, 2025. > > Unfortunately I did not have the time to follow the discussion after >

Re: [PHP-DEV] Re: RFC: Nested Classes (was: short and inner classes)

2025-04-22 Thread Rob Landers
On Tue, Apr 22, 2025, at 19:22, Levi Morrison wrote: > On Sun, Apr 20, 2025 at 7:46 AM Rob Landers wrote: > > > > On Mon, Mar 31, 2025, at 21:45, Rob Landers wrote: > > > > Hello internals, > > > > I have significantly revamped the RFC (again). Key changes to the RFC: > > > > 1. More (realistic)

Re: [PHP-DEV] Re: RFC: Nested Classes (was: short and inner classes)

2025-04-22 Thread Levi Morrison
On Sun, Apr 20, 2025 at 7:46 AM Rob Landers wrote: > > On Mon, Mar 31, 2025, at 21:45, Rob Landers wrote: > > Hello internals, > > I have significantly revamped the RFC (again). Key changes to the RFC: > > 1. More (realistic) examples, > 2. Since enums are basically specialized classes, they are a