-
Notifications
You must be signed in to change notification settings - Fork 198
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
Allow extension of V8Object / V8Function #422
Comments
Uhhoh, the issue already is a bit dated :) ... anyways, I'd personally propose to have actual proxy objects that wrap So I would do something like this instead: class MyV8Object implements ArrayAccess {
private $ref;
function __construct(\V8Object $v8obj) {
$this->ref = $v8obj;
}
// do whatever ...
} ... on the C-side you'd have to add to HTH |
If i do something like the following:
then i'll get a "Cannot use object of type V8Object as array" error. This is unless I use FLAG_FORCE_ARRAY. If we were calling ::foo() via PHP, it'd be quite normal to be passing an array (e.g
$this->foo(['name' => 'Testing'])
) and not an object instance - so I cannot share the function between the JS and PHP space without conditional conversions.I don't use FLAG_FORCE_ARRAY as I find the default setup generally more useful, and because it just blanket applies to everything. Anyway...
Would it be feasible to offer (at initialisation) PHP classes that would extend the default V8Object/V8Function, etc so that we could perhaps deal with
these sorts of cases? Then this would be possible:
so the FLAG_FORCE_ARRAY-type functionality can be much more selective.
Cheers
Mark
The text was updated successfully, but these errors were encountered: