Hi,

> -----Original Message-----
> From: Johannes Schlüter <johan...@php.net>
> Sent: Thursday, July 5, 2018 2:30 PM
> To: Niko Granö <niko.gr...@ironlions.fi>; pecl-dev@lists.php.net
> Subject: Re: [PECL-DEV] PHP-CPP
> 
> On Di, 2018-07-03 at 16:25 +0300, Niko Granö wrote:
> > Hello!
> >
> > Before submitting package for review I would like to ask one question.
> > Is http://www.php-cpp.com/ consider bad practice to use, or should we
> > just write extensions without any frameworks? Is this kind extensions
> > allowed where is used PHP-CPP framework? Any toughs about it?
> 
> In general php-cpp has some good ideas. (but I'm biased - iI prefer C++ over C
> any time) But I think there are two notable problems: (based on probably
> outdated knowledge)
> 
>    1. I believe this can't be bundled easily, thus a user has to install
>       it fist. But as it is an uncommon dependency the user has to install
>       it manually not using apt/yum or similar.
>    2. It doesn't use PHP's build system, thus `pecl install` won't work,
>       thus it won't fit on current PECL (this might be doable with some
>       effort)
> 
> Secondly using such a library means that you are dependent on the vendor on
> PHP API changes and less assistance from other PHP devs. In the past PHP devs
> sometimes did mass edits over multiple/all extensions on API changes ...
> 
> 
Besides things Johannes already mentioned, there are several other issues. They 
probably didn't change much, as I was checking over a year ago

- Thread safety is broken in PHP-CPP, at least with regard to std::* I/o streams
- Windows compatibility isn't good, same for the build system
- The module API there was broken in some way and didn't export symbols 
properly, it is also relevant if private/public visibility matters

I'm not sure how far PHP-CPP is today, but looking at it from time to time it's 
unfortunately to realize, that the project has quite low activity. Inspite the 
way it is implemented is nice, many details are simply not worked out to make 
it a feasible replacement. All in all, I wouldn't recommend targeting PECL, 
too. Also, C++ modules can be written same way just like usual C modules, but 
then you avoid all the mentioned issues.

Regards

Anatol 

Reply via email to