Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:129293 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by lists.php.net (Postfix) with ESMTPS id B82761A00BC for ; Wed, 19 Nov 2025 09:17:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1763543854; bh=O7kxl5gwkdA0aUtBVZdgJZbS9fnW71waXtac/g/oZUQ=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=YJ9xSwr1PeN2GFHU+/8wD2NUD9C0OWRtQmpZej1j+XNx6OZbEiifJOIYcFY3kBRY1 m3JRGGpIbATTYNjwqvPIx97IPrlA95YrzEX1wL/HBIusiDoSpYoR8aqcAEPKwJtNRC OuJ8rIMBEQ+Gja/x5S4caCUxclMtKm/b7VgyMtr79tMSjT7KDb7Em1udh9UCQcE5Be Eh6XBabJ3mqQSHaYXIX0MAOFhxi1eJechYqKjtJacVqugG9ZRUXDvI6gBMXK9/k/Kb 9bMpwcmF5v4DGNpt2G0ABkgI2H9dg5wgNndyZcNZoMCYY5+li9zP9+wTVb6UoyQ8WB XgU5se33+vHXw== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 4F68318004C for ; Wed, 19 Nov 2025 09:17:33 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: No X-Envelope-From: Received: from mail-pj1-f45.google.com (mail-pj1-f45.google.com [209.85.216.45]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Wed, 19 Nov 2025 09:17:32 +0000 (UTC) Received: by mail-pj1-f45.google.com with SMTP id 98e67ed59e1d1-343dfb673a8so6148082a91.0 for ; Wed, 19 Nov 2025 01:17:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seld.be; s=google; t=1763543847; x=1764148647; darn=lists.php.net; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=SlCkthP/lrQsOnWQzbN2gKmdrA5teq5G21wZEY2WP/w=; b=Rh87IJ4ie2NEYqYDfm7rnc2ba3nmQ+fZTUD4AYCTbp3SxLM2m5KnRrn5lx3bRp0N9S BGsvOhanoiCGqoISYtRWn9QTjiMA0Li3feQZfEynZfw2yvQSvxnEilRXBMIOgTic1A1R ca9lNWwwiK7Gyno1WkI7HUK946G6KFenN4gZe4Ghyhcn6RtK4H33rNHwBm2UuxfQ5i8q i/4D0ZXYAWg7l+5JZ9jMedmNz8Bp/+JdHmBLQ02cA+B/bghbPPj1Tc1QfDn7rSlgrM51 1Pk0oT2uWjZ3gdDUzszCddunVGoCRqTYByKUysj5ekk2GvteREaUBKceUgL2Avn3iNVT 1q7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763543847; x=1764148647; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=SlCkthP/lrQsOnWQzbN2gKmdrA5teq5G21wZEY2WP/w=; b=XvQFP+/iaLXV9JyAJL4AvPmqXsVw6XGJm9YqRmDi/efKqK4RcwmnInY3Ia7EHQLnYq 1/z+5bF8tj+iAFxL1wN0mcHgu4jkAYDkr8YqDOSYNohVD9ZG5BbpOlhtulaYJlewd2lM ed873Bq4WU8FJ5gGlK+smbMm7HfyV+M2ttXsTDPbcwJXH1s/xzUkWWfaLyDRb0v6bILI cINZckyJgH09VwyrQuM5nwB9F0SxapE4Q4Brj4fVYaJ1V9TODviUCEzWjpPGjUdM3Edc 9aoX4RWJziXuzaVt3dervGj4/hOQr/HpRjXz7WitLqWF76+4NjzNoPmvNLDowIKQKNus WuRg== X-Gm-Message-State: AOJu0YwrsQI3DgwWO3OGLMN3J16IbB0PSygRFY7Mlxl+MLeb+N3Qfacj r5MwdpBxhyJjcgAL2RHBhTz/phlPEznHjnGt104HXRY/0HHq7N7xhXKcc51AMkRS33rlYQ4SWdL oEyrQbyGZOcKJt3+7l2+yphlRvAY7csIS7CtsTJ6ci9UzF7E2vsG1XabpyA== X-Gm-Gg: ASbGnctcQVLRv4+Nv93TGWb+K3PWVViUB/1bxnqaGPqp/BUqrjkVSiIA14+uOVdAito Qi5W3Rn1EZbVL368OWOSS6Elrv1TXzxncLeztv/NTtsxxsUEZ7vmOkptY1VFO4AvSCuFhkvJpGj XnfUoqhwhwM9y5HSS2kMCyVH1H/716TmILdXWi1D9n/TszXqfm/OCXifd3GdmhFAY7vt452ws1q FvZmsC0nq4Ibzs4UVtOKZlE52Cck1A0D2cqgDCaO/Az3JlVGjE+a8dhLpBznqMM4znA8+qvpy8H wqkUAfeYlsQoDYnPDoX2tgFK X-Google-Smtp-Source: AGHT+IF0Mou6khYxH4BlrnN74dhzBuweW1qudfacoX6OOijmO3ivuLKgHw7NuVH2hT0GYtEuiOrZ4tIDXmNt7VlM1Ko= X-Received: by 2002:a17:90b:3c4a:b0:32e:4924:6902 with SMTP id 98e67ed59e1d1-343f9e92a0dmr19188114a91.3.1763543846828; Wed, 19 Nov 2025 01:17:26 -0800 (PST) Precedence: list list-help: list-unsubscribe: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 References: In-Reply-To: Date: Wed, 19 Nov 2025 10:17:19 +0100 X-Gm-Features: AWmQ_bk_nFZpCRcPh2pjoGIFZlv0dvjim3SsmS0gMQdeIeInwp1LogudGfeaK3Q Message-ID: Subject: Re: [PHP-DEV] [RFC] Stream Error Handling Improvements To: Jakub Zelenka Cc: PHP internals list Content-Type: text/plain; charset="UTF-8" From: j.boggiano@seld.be (Jordi Boggiano) Hey Jakub, Very nice improvement overall. Beyond the enum comment from Bob/Ignace I would also think that stream_get_errors() could return an array of StreamError objects instead of arrays? readonly class StreamError { public function __construct( public string $message, public int $code, public int $severity, public bool $terminal, public string $wrapper, public ?string $param = null, public ?string $docref = null, ) {} } This object could also be passed to the error handlers perhaps as: function(string $wrapper, ?resource $stream, StreamError $error): void Just some ideas :) Best, Jordi