-
-
Notifications
You must be signed in to change notification settings - Fork 203
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Magic methods not working as expected #1108
Comments
This works with PeachPie in PHP code, because the PeachPie compiler takes care of it. So you can compile this PHP code with PeachPie. However, PeachPie/C# runtime does not implement |
Also, it's not quite a magic method. It's a dynamic property not involving Magic methods won't work through We'd have to implement |
@jakubmisek thank you for the clarification ;) I am very interested on using the PHP/C# interop, using PHP objects on C#/Blazor. I already have a small REST API written in PHP using StraightFramework and RedbeanPHP so I'll try to run this REST API (on top of PeachPie) and Blazor making the calls to it over HTTP requests. Investigating here, I was able to use RedbeanPHP on C# as follow:
The above code works perfectly, but when I try to load data and update, something is messy on the bean itself not allowing me to update the object:
Congrats for PeachPie, it's an incredible tool for us, PHP programmers out there! |
you can simplify a few calls there, if you reference the PHP project from your C# project, i.e.: and dynamic _user = ctx.Call("R::dispense", "user");
_user.Object.__set("username", "luiz.zaiats"); -> var user = R.dispense(ctx, "user");
user.__set("username", "luiz.zaiats"); and
anyways; if you have the full stack trace of the "Unhandled exception", we can do something about it |
On PHP, we can instantiate a stdClass and set properties dynamically as follow:
$obj = new stdClass(); $obj->name = 'My Name'; $obj->time = time();
On PeachPie is there a way to do that? I've tried:
dynamic _obj = new stdClass(); _obj.name = "My Name";
But I got the following error:
Unhandled exception. Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: 'Pchp.Core.PhpValue' does not contain a definition for 'name'
Am I missing something?
The text was updated successfully, but these errors were encountered: