processwire-issues icon indicating copy to clipboard operation
processwire-issues copied to clipboard

NullPage parent() method returns null, should return NullPage

Open 16th-earl opened this issue 1 year ago • 1 comments

Short description of the issue

When applied to a NullPage object, the parent() method returns null.

Expected behavior

A NullPage object should be returned (same as the rootParent() method returns NullPage).

Actual behavior

null is returned.

Steps to reproduce the issue

$home = $pages->get('/'); var_dump($home->parent); // returns NullPage var_dump($home->parent->parent); // returns null

Setup/Environment

  • ProcessWire version: 3.0.226

16th-earl avatar Nov 01 '24 04:11 16th-earl

@16th-earl I agree that makes sense, but NullPage is its own type, and if I look at the phpdoc for the method it says it can only return null, so it appears to be intentional. I don't recall why, but am guessing it's related to parent iteration. I would prefer it to be NullPage, I'll make a note to revisit at a major version when a breaking change for this would be safer.

ryancramerdesign avatar Nov 01 '24 13:11 ryancramerdesign