Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 11:52
    jakubmisek commented #556
  • 11:33
    jakubmisek assigned #521
  • 11:33
    jakubmisek labeled #521
  • 11:33
    jakubmisek milestoned #521
  • 11:28
    jakubmisek commented #559
  • 11:28
    jakubmisek commented #559
  • 11:27
    jakubmisek commented #559
  • 11:17
    jakubmisek labeled #559
  • 11:16
    jakubmisek milestoned #549
  • 11:16
    jakubmisek milestoned #252
  • 11:15
    jakubmisek demilestoned #431
  • 08:13
    liesauer opened #559
  • 00:52
    liesauer commented #556
  • Oct 18 16:56
    menturion commented #552
  • Oct 18 16:49
    menturion commented #558
  • Oct 18 15:37
    jakubmisek closed #551
  • Oct 18 15:37
    jakubmisek commented #551
  • Oct 18 15:14
    jakubmisek commented #558
  • Oct 18 15:14
    jakubmisek commented #558
  • Oct 18 15:14
    jakubmisek closed #558
Jakub Míšek
@jakubmisek
but FYI :) you can specify CLR attributes in PHP and you can use typeof as the attribute parameter value https://docs.peachpie.io/net/attributes/
Calvin Baart
@calvinbaart
@jakubmisek Finally have some time to go through the issues, I noticed that I'm now getting a compile error though: https://travis-ci.com/calvinbaart/laravel-peachpie-sample/builds/127831082 any hints? Its not really clear whats going wrong here (except for a null-pointer exception)
Calvin Baart
@calvinbaart
I get the same error when compiling Laravel 6.0.3 locally
Jakub Míšek
@jakubmisek
Thanks, nullref exception will be fixed!
Jakub Míšek
@jakubmisek
@calvinbaart nullref is probably fixed, if it's not it would help to see line numbers in the exceptions :)
Calvin Baart
@calvinbaart
Just triggered a new build: https://travis-ci.com/calvinbaart/laravel-peachpie-sample/builds/127975520 Currently at work so can't really debug, how would I enable line numbers for the exceptions?
(I guess using the debug build for the compiler would do that...)
Jakub Míšek
@jakubmisek
thanks, yes the debug build
Calvin Baart
@calvinbaart
Got past the compile stage now (into a crash at runtime, I'll look into that at home)
Jakub Míšek
@jakubmisek
thanks, I see. It's a new one as well right?
Calvin Baart
@calvinbaart
Yea, I removed a few patches though so its probably related to that (Carbon had a patch related to getLastErrors and setLastErrors, so its probably that)
Jakub Míšek
@jakubmisek
maybe, but this one is about expecting an array as argument but getting something else when calling a method inside __construct
thanks, Creator2 seems to be that
Calvin Baart
@calvinbaart
getLastErrors in peachpie has the [return: CastToFalse] attribute, but according to the documentation getLastErrors should always return an array. Maybe thats the problem
Jakub Míšek
@jakubmisek
just found it! you're right. I'll double check but I think even PHP returns FALSE if none of date functions were called yet
Calvin Baart
@calvinbaart
With #535 closed can we now require non-compiled .php files?
Jakub Míšek
@jakubmisek

@calvinbaart we've changed the getLastError() implementation so it never returns FALSE. Note in PHP it does return FALSE sometimes but it is not documented and I think developers (and frameworks) do not expect it anyway.

The only scenario where it can be used would be if someone would like to check if any of date-parsing function were used already by checking getLastError() is FALSE.

Calvin Baart
@calvinbaart
Great! Just triggered a new build to see if this resolves the issue: https://travis-ci.com/calvinbaart/laravel-peachpie-sample/builds/127997383
Jakub Míšek
@jakubmisek
thanks!
@calvinbaart the #535 only adds necessary API so w can get it implemented in future, but the whole eval() think is not ready for it yet. Note compiler needs the whole context, all the classes and dependencies. It cannot just compile a piece of it, or at least not efficiently.
We will use it for implementing FIleProviders in ASP.NET Core, so we can pack all the content files (.js, .css,...) into a .NET resource and serve it from there, and PHP's file functions will treat it like it is saved physically on disk.
Calvin Baart
@calvinbaart
That sounds interesting, Would be pretty useful for Laravel :)
Jakub Míšek
@jakubmisek
yes, basically the entire PHP component/web (like the entire wordpress) can be distributed and published as a single DLL file (approx 20MB large)
@calvinbaart we have changed the project's version from 0.9.9 to 1.0.0 (-dev)!
preparing for -alpha, -beta and -rc
Calvin Baart
@calvinbaart
Ic, I won't be able to change the versions now so I guess that will have to wait till tonight
Jakub Míšek
@jakubmisek
sure, thank you :)
smx
@smx-smx
thanks for replies @jakubmisek :)
thanks for the awesome work btw
Musti132
@Musti132
Any news on pthreads?
Calvin Baart
@calvinbaart
@jakubmisek After the latest fixes I started getting the compile crash again (perhaps I'm doing something wrong with the version?) so I tried building PeachPie in Debug for extra information but this gives the following assertion when compiling Laravel: https://travis-ci.com/calvinbaart/laravel-peachpie-sample/builds/128080202
Jakub Míšek
@jakubmisek
@calvinbaart let me add some more debug information
@smx-smx thanks!
@Musti132 no news
Calvin Baart
@calvinbaart
@jakubmisek Retriggered the build, this is the assertion message: Argument for params is expected to be of type PhpValue[], at Headers::__construct(). It looks like a PHP error so I'll look into it when I'm home
Jakub Míšek
@jakubmisek
thanks, seems a __construct() vararg argument might be type-hinted?
Calvin Baart
@calvinbaart
Yea, I'll need to find that class to see whats going wrong. Thanks for adding the debug messages, that atleast gives me some clue :)
Jakub Míšek
@jakubmisek
looking for the class as well :)
Contains a type-hinted vararg constructor aswell
Jakub Míšek
@jakubmisek
yes (HeaderInterface ...$headers) thanks!
test case, pretty simple:
class X {
    function __construct(int ...$args) {
        //print_r( $args );
    }
}
Jakub Míšek
@jakubmisek
fixed, thanks @calvinbaart :)
Calvin Baart
@calvinbaart
Great thanks, I'll trigger the build again
Jakub Míšek
@jakubmisek
I guess you have enabled debug build :)
Calvin Baart
@calvinbaart
Yea....I should probably have enabled it sooner (because of all the assertions I should have hit)
Daniel Llewellyn
@diddledan
only one override in WordPress now! iolevel/wpdotnet-sdk#45