On 18 May 2024 16:25:06 BST, Robert Landers <landers.rob...@gmail.com> wrote:
>I thought about that too, but in-general, a vendor has the knowledge
>and capability to ensure any two packages work together (like Doctrine
>plugins in your example).

How do they achieve that "knowledge and capability" other than documentation, 
and tooling making use of that documentation?

Doctrine DBAL and Doctrine ORM are both large open-source codebases, which 
happen to have a dependency relationship, and also happen to have the same 
vendor namespace. Documentation and warnings about using internal 
functions/classes of the DBAL would be just as useful to a developer of the ORM 
as they would be to an application developer.

As another example, within the completely private codebase I work on 
professionally, we have shared modules, parts of which are intended to be 
implementation details and not subject to compatibility guarantees. It would be 
really useful to get an automatic notification if those were used in other 
parts of our codebase, but all of our code shares the same vendor namespace, so 
a single-level #[Internal] attribute would be entirely useless. 

Rowan Tommins
[IMSoP]

Reply via email to