I have installation where Dataport uses this selector:
specifications:items:\App\Model\CS::s#pileHeight
specifications is a classification store.
The class is placed in src Folder and have following structure:
class CS
{
public static function s($data, $name): string {
}
}
With the data director 3.7.24 everything works fine.
In the new installation with 3.9.29 i have error like this:
[NOTICE] Could not find service / class method \App\Model\CS::s, falling back to \App\Model\CS:s#suitableForUnderfloorHeating
[INFO] Result of data query selector ".:.:.:specifications:items:\App\Model\CS::s#suitableForUnderfloorHeating" is null
[WARNING] Unexpected output during run:
string(13) "\App\Model\CS"
string(1) "s"
bool(false)
It seems the method self::method_exists don't work as expected, it returns false
if i call core php method \method_exists($functionNameParts[0], $functionNameParts[1]) instead of self::method_exists($functionNameParts[0], $functionNameParts[1]) on this line, the class is called correctly and the value is extracted.
If i look into the method, there is missing condition if $object is string, if i add the condition it works as expected.
Do you agree with this change, can you integrate it in the dd?
Thanks!
I have installation where Dataport uses this selector:
specifications:items:\App\Model\CS::s#pileHeight
specifications is a classification store.
The class is placed in src Folder and have following structure:
class CS
{
public static function s($data, $name): string {
}
}
With the data director 3.7.24 everything works fine.
In the new installation with 3.9.29 i have error like this:
[NOTICE] Could not find service / class method \App\Model\CS::s, falling back to \App\Model\CS:s#suitableForUnderfloorHeating
[INFO] Result of data query selector ".:.:.:specifications:items:\App\Model\CS::s#suitableForUnderfloorHeating" is null
[WARNING] Unexpected output during run:
string(13) "\App\Model\CS"
string(1) "s"
bool(false)
It seems the method self::method_exists don't work as expected, it returns false
if i call core php method \method_exists($functionNameParts[0], $functionNameParts[1]) instead of self::method_exists($functionNameParts[0], $functionNameParts[1]) on this line, the class is called correctly and the value is extracted.
If i look into the method, there is missing condition if $object is string, if i add the condition it works as expected.
Do you agree with this change, can you integrate it in the dd?
Thanks!