Commit Graph

321 Commits

Author SHA1 Message Date
596768c7df Fix typo 2023-10-21 21:49:39 +02:00
55724c9472 Add async support using php-tokio 2023-10-21 21:47:38 +02:00
Joel Wurtz
1b55652b7a
feat(embed): correctly handle panic inside embed (#272) 2023-10-20 21:52:52 +02:00
Pierre Tondereau
1a8211c392
chore: Bump Bindgen to 0.68.1 (#271) 2023-10-20 14:44:47 +02:00
Joel Wurtz
2d0e587c7e
feat(embed): add embed features, add test example which run php inside it (#270)
* feat(embed): add embed features, add test example which run php inside it

* feat(embed): use a guard to prevent running in parallel

* chore(ci): update actions to not build and test with embed, add a specific build for embed testing

* feat(embed): correcly start / shutdown embed api

* chore(ci): use stable for rust in embed test

* feat(embed): add documentation, manage potential errors
2023-10-20 14:08:10 +02:00
15bed3b0b5
Merge pull request #267 from davidcole1340/bump
Bump versions
2023-10-12 10:31:03 +02:00
f59b398424 Bump 2023-10-12 10:29:53 +02:00
54ed06b6b4 Bump version 2023-10-12 10:28:49 +02:00
6520e85c30 Bump macro version 2023-10-12 10:27:50 +02:00
6685462e1d
Merge pull request #266 from davidcole1340/bump_tag
Bump tag
2023-10-11 10:43:07 +02:00
0ae3d1b4fb Bump tag 2023-10-11 10:42:47 +02:00
4dd7b8ded5
Merge pull request #230 from davidcole1340/function-arg-pass-by-ref
Support function args being passed by reference
2023-10-10 16:13:31 +02:00
7d484a033e
Merge pull request #265 from davidcole1340/rm_infallible
Remove infallible variants
2023-10-10 16:09:13 +02:00
4152ffca06 Remove infallible variants 2023-10-10 16:07:39 +02:00
eff7b0195f
Merge pull request #225 from davidcole1340/ini-definitions
Support registering ini definitions for modules
2023-10-10 15:32:00 +02:00
2bf8718113
Merge pull request #264 from nicelocal/func
Add zend_function wrapper, try_call_method zval/object methods
2023-10-10 15:18:54 +02:00
4f1565f3e8 Fmt 2023-10-10 15:05:59 +02:00
e1a5260a6e Fixup warnings on latest nightly 2023-10-10 14:43:09 +02:00
0773d72e79 fmt 2023-10-10 15:18:06 +03:00
a4e3485f36 Update 2023-10-10 14:13:41 +02:00
85836dad04 Fix 2023-10-10 15:07:44 +03:00
e820b2458a Fix 2023-10-10 14:55:40 +03:00
e1672beb98 Update bindings 2023-10-10 12:43:22 +03:00
891fa4ad3d
Cargo fmt 2023-09-04 10:48:06 +02:00
c87c0dcdb6
Fix 2023-08-28 09:55:35 +02:00
714b1555f8
Fixes 2023-08-27 17:24:25 +02:00
4b821715b1
Update docs 2023-08-27 17:17:42 +02:00
f669891931
Merge remote-tracking branch 'origin/master' 2023-08-27 16:58:22 +02:00
253255b470
Move async stuff to danog/php-tokio 2023-08-27 16:26:31 +02:00
725dfec0f2
Cleanup 2023-08-27 15:24:48 +02:00
4cd4a20079
Cleanup 2023-08-21 20:00:43 +02:00
Joe Hoyle
acd336994c
Add helper method to cancel VM interrupt (#260)
Follow up to #257
2023-07-19 17:15:40 +02:00
Joe Hoyle
7b47b46cfb Merge branch 'master' into ini-definitions 2023-07-19 15:00:59 +02:00
Joe Hoyle
42ef04a8ae
Add function type_() method (#254) 2023-07-19 13:15:36 +02:00
Joe Hoyle
4e8bec7995
Add helper for class name (#255) 2023-07-19 13:13:12 +02:00
Joe Hoyle
3e378f8cdf
Add function for requesting VM interrupt (#257) 2023-07-19 13:12:35 +02:00
Joe Hoyle
7b35476d04
Implement IntoZvalDyn for Zval (#256) 2023-07-19 13:06:10 +02:00
Joe Hoyle
5d1ffcec05
Add helper to get global constants (#222)
ExecutorGlobals::constants() will return a hash map of the available constants.
2023-07-18 22:42:40 +02:00
Joe Hoyle
a9dffe08f5
Add ability to show PHP warnings (etc) (#231)
* Add ability to show PHP warnings (etc)

I don't believe there's a way for extensions to trigger PHP notices or warnings currently. This is done using the `php_error_docref` function. I've placed a function in `ext_php_rs::php_error()` however, there might be a better place?

* Remove uneeded empty value

* Fix url
2023-07-18 22:40:24 +02:00
Joe Hoyle
396c8740e4
Add support for post shutdown function (#251) 2023-07-18 22:38:50 +02:00
Joe Hoyle
6db91acae3 formatting 2023-07-13 20:29:48 +02:00
Joe Hoyle
0f4f6f7315 Add docs / guide 2023-07-13 17:16:30 +02:00
Joe Hoyle
b451d604df URL formatting 2023-07-13 16:24:00 +02:00
Joe Hoyle
64bf9e7366 fmt 2023-07-13 15:44:14 +02:00
Joe Hoyle
7d40ca544f Formatting 2023-07-13 15:39:44 +02:00
Joe Hoyle
68059bdda1 Fix mutable refs 2023-07-13 15:38:49 +02:00
Joe Hoyle
99439bf7f5 Clippy 2023-07-13 15:24:29 +02:00
Joe Hoyle
614f5b42be Support function args being passed by reference
Currently it's not possible for a function to accept args by reference. This PR adds early support for doing so, by transforming any function args that are `&mut T` into args that are passed by reference. E.g.:

```
\#[php_function]
fn my_function( arg: &mut Zval ) {
	arg.reference_mut().map( |zval| zval.set_bool(true) );
}
```
2023-07-13 14:42:40 +02:00
Joe Hoyle
a7780753dc Support registering ini definitions for modules
PHP extensions that want to provide ini settings can do so using `IniEntryDef::register()`; values can then be fetched via `GlobalExecutor::ini_values()`.
2023-07-13 14:42:08 +02:00
c8c1df06e2
Fix construction of native classes and any class with properties 2023-06-29 14:20:04 +02:00