| 
<?php$someObject->someFunction("some", "parameter")
 ->someOtherFunc(23, 42)->
 someOtherFunc2($one, $two)
 
 ->someOtherFunc3(23, 42)
 ->andAThirdFunction();
 
 $someObject->someFunction("some", "parameter")
 ->someOtherFunc(23, 42);
 
 $someObject->someFunction("some", "parameter")->someOtherFunc(23, 42);
 
 $someObject->someFunction("some", "parameter")
 ->someOtherFunc(23, 42);
 
 func(
 $bar->foo()
 )
 ->bar();
 
 func(
 $bar->foo()
 )
 ->bar(
 $bar->foo()
 ->bar()
 ->func()
 );
 
 $object
 ->setBar($foo)
 ->setFoo($bar);
 
 if ($bar) {
 $object
 ->setBar($foo)
 ->setFoo($bar);
 }
 
 $response -> CompletedTrackDetails -> TrackDetails -> Events;
 $response
 -> CompletedTrackDetails
 -> TrackDetails
 -> Events;
 
 $response
 -> CompletedTrackDetails
 -> TrackDetails
 -> Events;
 
 $var = get_object(
 $foo->something()
 ->query()
 )->two()
 ->three();
 
 $foo->one(
 $foo
 ->two()
 );
 
 get_object()->one()
 ->two()
 ->three();
 
 someclass::one()
 ->two()
 ->three();
 
 (new someclass())->one()
 ->two()
 ->three();
 
 // phpcs:set PEAR.WhiteSpace.ObjectOperatorIndent multilevel true
 
 $someObject
 ->startSomething()
 ->someOtherFunc(23, 42)
 ->endSomething()
 ->doSomething(23, 42)
 ->endEverything();
 
 $rootNode
 ->one()
 ->two()
 ->three()
 ->four()
 ->five();
 
 $rootNode
 ->one()
 ->two()
 ->three()
 ->four()
 ->five();
 
 $rootNode
 ->one()
 ->two()
 ->three()
 ->four()
 ->five();
 
 $rootNode
 ->one()
 ->two()
 ->three()
 ->four()
 ->five();
 
 // phpcs:set PEAR.WhiteSpace.ObjectOperatorIndent multilevel false
 
 $object
 ?->setBar($foo)
 ?->setFoo($bar);
 
 $someObject?->someFunction("some", "parameter")
 ->someOtherFunc(23, 42)?->
 someOtherFunc2($one, $two)
 
 ->someOtherFunc3(23, 42)
 ?->andAThirdFunction();
 
 // phpcs:set PEAR.WhiteSpace.ObjectOperatorIndent multilevel true
 $object
 ?->setBar($foo)
 ?->setFoo($bar);
 
 $someObject?->someFunction("some", "parameter")
 ->someOtherFunc(23, 42)
 ?->someOtherFunc2($one, $two)
 
 ->someOtherFunc3(23, 42)
 ?->andAThirdFunction();
 // phpcs:set PEAR.WhiteSpace.ObjectOperatorIndent multilevel false
 
 $someObject
 ->startSomething(paramName: $value)
 ->someOtherFunc(nameA: 23, nameB: 42)
 ->endSomething($value, name: $value)
 ->endEverything();
 
 |