Add generics to primary classes - #163
Merged
Merged
Conversation
nilmerg
force-pushed
the
basic-generic-support
branch
5 times, most recently
from
August 4, 2026 13:03
c748ce8 to
f235c84
Compare
Query instances, such as those for eagerly loaded relations can now use `Query<$TargetClass>` to get better code inspection hints PHPStorm when code accesses said properties.
nilmerg
force-pushed
the
basic-generic-support
branch
from
August 4, 2026 13:32
f235c84 to
e009789
Compare
Member
Author
|
Merging. It's only phpdoc related and verified using Claude. |
nilmerg
added a commit
to Icinga/icinga-notifications-web
that referenced
this pull request
Aug 6, 2026
Adds various `@property` annotations or updates existing ones, to support generics added by Icinga/ipl-orm#163. It solves a long-standing problem when working with IDEs such as PHPStorm and allows the IDE now to show proper type hints, completions and doc where a model is being worked with. Additionally updates `\Icinga\Module\Notifications\Common\Collection` which is the result of an experiment how to properly establish generics in an unconstrained environment. It now resembles a reference implementation for a generic item container to my understanding. But it involves strict type checks that are usually not *PHPish* and so the public interface isn't part of what I see as reference, but the behavior and how generics are supported.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Query instances, such as those for eagerly loaded relations can now use
Query<$TargetClass>to get better code inspection hints in PHPStorm when code accesses said properties.The partial application is deliberate to jump-start it and get a feel for it in projects using the ORM.