Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:128673 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 3D2E31A00BC for ; Thu, 11 Sep 2025 09:39:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1757583457; bh=nMFwUgOX4LccRxHWPDVkAbP3ioXEPnZV67J0dStA+Qc=; h=Date:From:To:In-Reply-To:References:Subject:From; b=OLNcJbUNOUWPM7rDPcZZABca72uy53g06PYQv2HH5X2E9+/5K0Vy+sF+97QYsHfX2 sxNakjlHbFHtIszkdgTxOTmcXBfb6NAi6AIf3UYRIsl6s+BrptEXek/RO40JcvwfFR IV4HnyOgyEHjoP2divzqtsC3G/tYr9d8WCUDkAKXOo4uYNrp5DwSjAnvylU3csm0hz qaQ4M6LZkwOWh8ebEJAbCWwcKZQ7hWoV0xyd/Q3l2hoZ4t4icz/I+UsB+SuxAavLq2 0ymI31toUulxX50LQxQmJxr1Elw8DW4romv1VAtIRQQyhoOswpxb/kG9ba4dUtSpeo jIi8CKIko68oQ== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id CF9D9180087 for ; Thu, 11 Sep 2025 09:37:36 +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.2 required=5.0 tests=BAYES_40,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_MISSING, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: No X-Envelope-From: Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.187]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Thu, 11 Sep 2025 09:37:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thomasbley.de; s=s1-ionos; t=1757583541; x=1758188341; i=mails@thomasbley.de; bh=nMFwUgOX4LccRxHWPDVkAbP3ioXEPnZV67J0dStA+Qc=; h=X-UI-Sender-Class:Date:From:To:Message-ID:In-Reply-To:References: Subject:MIME-Version:Content-Type:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=mUY14lj9rcy2glqBWjjpC1LXHt9hXUoMoGWku4UocanvwBVNZzY7CuDU/AsBh58I gk+Pcb7TLQ5vpaJne2zih6reUoLMxif1xeWMubrrMIcwucpgJy50ZfRIUTVbKQuQH 8fp6ORsPojGLZgHvDZjJO/mtP7w57uXzwdAUhmeXYF+LoOokeQbO5v23LCrq7WF2K 40fs60BjvWeSLFJZAC5aBai3K9J3wsiYCaBVfxKjdDL2CyTh4cDezvupJNttg5Cxs hEhf1TIaps9yhoQxa9qgktnydAFO2jbYHvvGQSb08QjBVGcxhxKl3aAdSj5FcBHZ5 XZHXHm2mcWB+oRLhLQ== X-UI-Sender-Class: 55c96926-9e95-11ee-ae09-1f7a4046a0f6 Received: from open-xchange-core-mw-default-12.open-xchange-core-mw-hazelcast-headless.open-xchange.svc.cluster.local ([10.73.156.231]) by mrelayeu.kundenserver.de (mreue009 [172.19.35.3]) with ESMTPSA (Nemesis) id 1M7sQ6-1v0TW30Wpu-00AC2v; Thu, 11 Sep 2025 11:39:01 +0200 Date: Thu, 11 Sep 2025 11:39:00 +0200 (CEST) To: internals@lists.php.net, Sebastian Bergmann Message-ID: <299875824.845635.1757583540813@email.ionos.de> In-Reply-To: References: Subject: Re: [PHP-DEV] [RFC] Soft-Deprecate __sleep() and __wakeup() Precedence: list list-help: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Priority: 3 Importance: Normal X-Mailer: Open-Xchange Mailer v8.38.83 X-Originating-Client: open-xchange-appsuite X-Provags-ID: V03:K1:SlZ/cbHyfbjxMBf8MD24w1ReKBil9mYwH7AvaLeuhQww0K3JaAR jIc71P+3c0NDdl//7Gv39NRsWw8UJzNPZVj9XvOBGpRz/De819jdqdgy+fIzQdKmAiazPWT ij4rbwGEWh6h9+2KLj6D8X/MG0m7Scn23T0/rB4TbN9fMv+mDrl/+cuc3UtLNNoKAWLdwdt qlmMiwDeHOWusKHM7vp0g== UI-OutboundReport: notjunk:1;M01:P0:MO57XMh04g0=;6Xjt82kUo9pkONLJII3ZAvqjrEw YRH3O9mKYF+XIFKNCR68Xc4OiITtKof2fAR+08eX3PO81Q56XqA58iin215umLvjXD1Gwqd3E WY+G+1Rqf98V39cYMK8lIHy/EI26h24GK3mO2TH6Xx6U9oKJaaCnyHKqi663CboqSQfi7XDod PKHRfnr7Mzl9hcIFQ2qakLWHnJIJsqfRzXAwcid06/NHEuhlDVS4CWlJjYebaV0zVt9DUvusr AD0qeQEx+9kg4ZMdBKZ8TgrjKI0qYsgVAbg+apZsK2PzLMtsxUGL9qICDhuiOy9/caWTXyoNH N3+ev1NMcxZhSMlpx6cALxyMNAnfV11QLQsc0pF2HitOrPjOhjspPJpBaKB6LSs6MhMyS1GkU flAv/TmABPqQiLVz8fNHG7YFwMKEbINsTnzk6dsK4qYIQvWVl/FOQkV1CKAyGJRTgpMAr3tkA rvIlZYh/+BG0QiTcYxJvNuBKKrUyqduo6HhNI17Df4awCWmiUrxLdCtoaXuTjuT6XLdqgyRUT Ls+UfvJlhOyC6WpubuOcE2qD4U5m9FjU0ndX8UgcAJKom85UyE+HuZa1OmjyIHF0Zo8rjsfn2 a8eUZqyporiQfIb3v8482jX/M0BhSx7flEC4QDVAFvTAiAFIdmFatrai+LEm8Zl2tcAdisijj Z+YS/NBs4FdeqYYWLv4iL1FLBZoS9h5/hXD+vVaEjB7b/WVT3WzPrxXH9WBzIjMZn+unvAwva 5sfsTFrQm21Zzmwct2oAAQnOP6Vix43aw6yPdDglhv/Mb7zzo3n06Fv+QctEYNowtdR+jpRGS PhKiCcDWpEPquwVUxWPdAIwSIkB34JBB2bTtO8vaxJKXpL33oHSk5P3Aer/AAY+9M1duRs5HU PtWS/z6ajrewgn5PJ0NYouH1fSihlTMfMjFfkYMLkQF/FvLSUVURS6OLINYPvDOet6VUmCv9f SzSEzPdjlEttxdW974SIkcNc/3O4qROCJmTEq0nxmxIjI4VDwETw+xwRrfpAypSrUC5/0mC9W wxVV+S+j1FUJPtdoEUttfn7oLM3PpL4S5gnP51t3oCwRygj0j8iHFKmiwCiNm/clwbpL/f9ow 5MZu9HP/tbE2u91uwK8KlAtZK8BXKe7Ko4yl8s2YHt/Z55h+WDYpgu/T+j+zM3/Ygdcsvx4PY twYBN4D1yfq80CiR2SSG9PjjWef0/dRr0EhkV2pq13MWIZbyG2C8epo1A6emPALs99Q0JJqcs Ut7e7h4f3Z5UCYwzLyfLSU6uVCBVgghSmEmOm0pQXiyrZegc0GumP+SquqQ47IynPQ4QLK4ss 8p5uDFuW/0haVBKqy4SsQiX8V806OUzp59yUZB07wW6UzUyMwOpczyZiJ+ltxaoP55UeOhtJV m8LWjdcRV6K6/I8RatKCoAFgqiIG9/TjBhk+yI7Mzdwq2txTXH2yQbjPBkIKg3p8JIAEweLab IDIRQj47k/0erB5yHxNV4ihUnhWc1KKNRGy9jD8onAGrBBcvR00am9V3MhYmfK3H6dgGpEbxk dbSm8rltK4XvUH9XbFddIYNpAO6lXbDDuGO+2zKPL4+e9HVpqePHoA4BSCNuwE06JdF13IKz/ 1gWM+IP2haKdgBZtOJXfuGuvVimy8I+BEpZN/YLiOhY1FPcnLZ1Y1q2DXC2/vT4P8CWWjoDE2 ACggm56a0mE+TLDeyLrzu06wiuQguOJwjkiULMz05Uh8aIYn2tI1pZm7rx5oG/Tx4= From: mails@thomasbley.de (Thomas Bley) > Sebastian Bergmann hat am 11.09.2025 08:33 CEST gesch= rieben: >=20 > =20 > Am 10.09.2025 um 15:23 schrieb Jakub Zelenka: > > If __sleep is used to serialize private properties (not all but just=20 > > some), then those property names are stored in the mangled format=20 > > ("\x00" . self::class . "\x00" prefix). It means to make it compatible = in=20 > > __serialize, the application has to mangle property names - this can be= =20 > > done either manually prefixing the name or using=C2=A0get_mangled_objec= t_vars=20 > > and filter the mangled names. Alternatively it could use=C2=A0__seriali= ze with=20 > > the new names but then it will need to deal with new and old (mangled)= =20 > > formats in __unserialize. In any case it means that the users will be= =20 > > required to deal with the mangled property name and get some understand= ing=20 > > of mangling. >=20 > On the off-chance this might be useful for somebody following this thread= ,=20 > this is what the prefixing approach looks like: >=20 > https://github.com/sebastianbergmann/php-code-coverage/blob/12.3.7/src/Co= deCoverage.php#L92-L110 This serialize is currently not very optimal. E.g. Pest uses "--coverage-ph= p" and in my setup SebastianBergmann\CodeCoverage\Report\PHP::process() the= n consumes gigabytes of ram, >500M on disk and >20s extra time to get the c= overage report. Regards Thomas