[PHP-DEV] Re: [PHP-DEV] [RFC] [DISCUSSION] ext/gd 2. 4 — codec sync, Gd\* OOP API, 2D vector/canvas

[email protected] (Tim Düsterhus) Sun, 19 Jul 2026 15:35:12 +0200
Newsgroups php.internals
Message-ID <[email protected]>
Hi

On 7/18/26 20:42, Pierre Joye wrote:
> I'd like to open discussion on the ext/gd 2.4/php 8.6 RFC:
> 
> https://wiki.php.net/rfc/ext-gd-2.4
> 
> […]
> 
> This is a discussion thread, not yet a vote. Feedback on scope and
> anything in the stubs is very welcome.

I've given the RFC a very very quick skim:

1. There are some rendering issues / broken markup that make to me 
greatly reduce the readability. One example would be “for example 
``Gd\Png``, ``Gd\Jpeg``, ``Gd\Webp``, and ``Gd\Bmp``” where the 
double-backticks are emitted as-is and not interpreted.

I recommend using the `<php>…</php>` tags around all inline PHP code 
(including class names), it will come with basic syntax highlighting.

2. The proposed exceptions are in violation of the Throwable policy that 
you can find at: 
https://github.com/php/policies/blob/main/coding-standards-and-naming.rst#throwables. 
In particular you need a “GdException extends \Exception” base 
exception, and must never inherit from RuntimeException.

3. The stub for Gd\Image contains another class Image declaration.

4. The named constructors for GdImage should probably be named 
consistently with Dom\Document: 
https://github.com/php/php-src/blob/0fdd7ab9f1382b58b6837be138a1a25644495485/ext/dom/php_dom.stub.php#L1675-L1679

> Discussions open for 14 days, until 2026/08/01.

Just 14 days is likely a little short for an RFC of this size. But there 
is no need to rush it: The window for PHP 8.6 has already closed for all 
new RFCs or RFCs with a major change.

Best regards
Tim Düsterhus