Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:119807 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 37396 invoked from network); 31 Mar 2023 08:57:04 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 31 Mar 2023 08:57:04 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id E7EB21804AA for ; Fri, 31 Mar 2023 01:57:02 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) 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,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS15169 209.85.128.0/17 X-Spam-Virus: No X-Envelope-From: Received: from mail-oa1-f54.google.com (mail-oa1-f54.google.com [209.85.160.54]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Fri, 31 Mar 2023 01:57:02 -0700 (PDT) Received: by mail-oa1-f54.google.com with SMTP id 586e51a60fabf-17683b570b8so22466886fac.13 for ; Fri, 31 Mar 2023 01:57:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680253021; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=6SbWZBIc9w87+4mHLutsUfgFBXMadn6oi0vDTbMKqwo=; b=Ay1umUXSOBTLUzbhviXGBXkSoeB/d6moz6X1DYZAjCPmlpkRjA10bupnbLVkjqQXpE YHQPfU8H3JS6K3FWU8qooGZOynTgcgST3f56Bq3DiDGfi2NGz9niFueLu/TOZ8Opa8Uo YXEQHj5s0fIGRyVW7pmw7Z21HNNKPWDXF9n4Z9/v2+shITvtpiUBLooeR7Zt2qbzkEIo VhrCBL/cT2n9dWeEDXIi2BOwVfBkpEMsKbIiquZinTMjB/FBhucujxyBS255WFdoKbBg ZnYf30dbKqMnmBoqHMNfXq89LHnt4DXYZVLKw5GGApSZMm3og1GpZp70z9360HEib94M S6Bw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680253021; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=6SbWZBIc9w87+4mHLutsUfgFBXMadn6oi0vDTbMKqwo=; b=a4x54oK0wIcawlnR8XEZF53hOdlFlyuLA4ypQLr19XiEuPwhN5K3K39Zp3dz3MR/4u P+mnfuorTiGiuKflRBFc1CG8QXcXziczGMsXGy9DyHhlNGJIz4Iy52uLySsKKnynsKsK dfWzaP87KklFIXDyQrJHRFeU2DZuA1Z4ymnMibaQ8PsLypDZ+JFNW/8s9Plu2HYpavEB mjlR78fMss8EEx4N86Th/Ipf4Mqs2dF0nt4e56b+tMBvlhPHoVB2rkhXHeoucacD4s+R UuxkayXvuAjCLFTSspSVCt9UYcg7kbEjo/cmBouzgLfUtzuwIT5XFU3Q9/H3Ky008il4 vt3w== X-Gm-Message-State: AAQBX9ctGL//j6dHcBmqHZ0rAw05VUaMdTue3BmcJPhls2u3X8GGVJzP 4k7c2RuNINYxaLnicQQCXhBf9HnI7XrP6t4qbNCCtNnK3SsHTg== X-Google-Smtp-Source: AKy350Zf/0JDkCg49IPiQWuELgOJppDBOmkAB837tz20LKHBcMtEoN1sNHRrlyeGxGhyZTL986JJerPe0r2LWEmIxoU= X-Received: by 2002:a05:6870:df85:b0:17f:6fc4:6dd6 with SMTP id us5-20020a056870df8500b0017f6fc46dd6mr4088080oab.9.1680253021621; Fri, 31 Mar 2023 01:57:01 -0700 (PDT) MIME-Version: 1.0 Date: Fri, 31 Mar 2023 10:56:50 +0200 Message-ID: To: internals , Ilija Tovilo , Larry Garfield Content-Type: text/plain; charset="UTF-8" Subject: Property Hooks Discussion From: landers.robert@gmail.com (Robert Landers) Hello, I couldn't find the thread about Property Hooks (https://wiki.php.net/rfc/property-hooks) -- I think it got embedded in various places? Or maybe my search-fu in gmail is failing me. Anyway, I was reading it carefully and I had a couple of questions. What would happen with the following class: class BigNumbers { public \Gmp $myNumber { beforeSet(int|string $value) { return gmp_init($value); } } } Would $bigNumber->myNumber = gmp_init('25') throw an error because it isn't a `string|int`? Can hooks only accept the type they are setting or any type? In other words, will it be possible for this to no longer be true (I'm not sure it is always true now, fwiw): $x = $y = $z = 1; $x === $y && $y === $z; This looks like a very powerful change to the language and I'm really looking forward to using it! Robert Landers Software Engineer Utrecht NL