Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:130491 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 E05AD1A00BC for ; Mon, 30 Mar 2026 09:51:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1774864299; bh=akfLFK7L/x9XWQjtBj99o9O+IbKafcNNWjQtmoq2Wr0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=V83ivzzlQ74JwyC147oOzjAvUFDlNVzKNgdijQ1/75SpC2x4zjuS1gBbNsq9U+QCH Vva1xoNQgx966KGTbW3jmeug5AX2ywnefAxLBqblEMBoToUyM131rnKTia5EhtGy/q E74zRwklyqIz9rP4RgFCWg6GRhr3DvwSEyr7goPgChZHhxTuPPMMiQz5kGYuhYSYfP Tt0iJJVlkkDp1jHaG5w1wpTNrt1x1qbp1RRl6tLiWu8Tl/TeyQNaxCZ1z3VuOvzyo7 y8IjIGOjX/4GlbQj/Of/paxnk5GOQsBPc4nE4RRMTU0uqFC7jZMh7Mn4jvoa6Ojnhf OcSb3JGwFGn2A== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 9E7F21801E5 for ; Mon, 30 Mar 2026 09:51:34 +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=1.6 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,FORGED_SPF_HELO, FREEMAIL_FROM,SPF_HELO_PASS,T_SPF_TEMPERROR autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: No X-Envelope-From: Received: from sonic.asd.mail.yahoo.com (sonic-euwe4-0022.asd.mail.yahoo.com [34.2.86.21]) (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 ; Mon, 30 Mar 2026 09:51:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.de; s=s2048; t=1774864287; bh=t80bXhSmvyhFVZvypeFAvEIa42SvhZCtL2opMMISDSQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From:Subject:Reply-To; b=QpVKahnBniiRTiPwoMEJFiW9LcBbybFQZ6OG1RmR6F+z3pOE2IujxJuJ91UnF4ilciGZy3AdMKweipVwjqh5F+eg996IDPhD0sBLQz9BwHdnftTTCGspauXIXtCsK6T2ql7cBXsD8+RtCqb3NCRLEZm6CeyBTrDz/xXUsxnPIMeSLHSkiEZQt9n4+tedNZh9cpsmxSk1e54azwr0sshgYnLc26I4Gl4RpyYHVVyzJC8COH3OEGWE2Z/9mv/RREE5YB2CRkVeTC3hD8wFFbRYDpt/mZhrcJmHcxPJp2N18NKswmAA7gZDKObbGuDuJgIoLVG7JbTCGS6slPjb6g8P/g== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1774864287; bh=XACtYIEndW31upZHOGSZ4ui32pSBqoeHQJ6dekzn8d7=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=V8obE05q1slpOi93gWjyGcnaHb/WbuxjlWW+5JAw16K4YIi12Ue9d0AvjKbJoVuwlReDtt5MjHCdrH89WDbja8ZRZvCGhWpqXYFWSKz+6deA3ibLMIMGUMwkU9i7OgdJBvIjs7eclPGGsuVfgzwiwtg7eBAfkN+JaZQYmdevORANi92EKM5gIhJQWkLLSfHWl0lA+kOjhVAvJMnKCi8cLd+qHqpPQvpb/CA4hbJicC/Vexi9CLNZ44GkAqPHItZ3AjlWEXHICMeoy3KgvC2RS/XgqJrpun75GqTGJA1HMgClycH5rI5dlqg4hKCbxpKtnCfuvAYnUBgbaKSOvQubzw== X-YMail-OSG: geKov3wVM1kcQAIz.jso7dahuecZGVX9a5TujAWNrl9PNy3b1WOxZN11BhXDUGy 6eyB1CdsGTc9LlO4eZqg15X5LDWW35WFFlC491ubDLLVNSFKZY0hl_5ay6F_xVWIaJQG9VLin49w MkVJMcV_7QlMd3eM5bC.0YwevNiaJo1sFqhXUhvARtyOq08s91IEbtyZs1Uyafc1SSLg9bD.nOYq 8RZHlHZ4xIse9w5B_eAGLmcJCXdEuYOz3uoPpwMtBuQRfjpTcZ_QFJZItT8q1UQB_vMj6fGE9dbQ 2nSjokPQXR5dPEgljm1OOu8symZRMv1XpgxkUwasLge5z21oHoqg_WWAnq3jmH0TnZn0JOxNrHwk TBswBiq9Q0ze28LCaAuql2U1zNsIvvGoT6FhXplp.jBWXo_mGm8EcLRpd1f9YlfkKsB83TQ_HeQF LRZxOPaFYnowNu7jMNY5_o93gGnUcF2_8axFwnTnqs3uSYdk_HYk7XDCxkD0VHRY8dTm_vToWiHA MK42HYkMdIHGLSBOG4MUFWhQAv2cxrxLMOcesDnKqIfjffLFhlJtqcbNhe9Ps7maLXCK.vbEQTun P8kTlV3OY55SAHiPeECSBPQq6jE3dHQNd11Kea.7kvgFobQvbjeLte5T6ImFjxy9A0z47Wc.rCi9 Me1qtB9wNopYu5_En6lCpaCzap8UlH7_esEYAOXR4jc7UHYusbGDHqfkp05P3Gyx9P1_V1ZMeA9E _nXWCilts129sb7aEwdqkyeVc6UZLAISdfGZkXlZ5LZ6BArI9HoLKN3y8ZclagTueGg0dwxTNLuW OMaIx0RUmgCU0IQHBCAj0bWDnAmB6qoCY6AnFnbSQH4r7NftQj3VY._2WRd_1ZMUhFhizQeN4yR0 mdYPtjriLP5vqqoprnRShpxu25Pe29NqtJOMPcy3cgt7OOTlCIArR_YIxW298PNrMCPzFY41FKyL 7FwmemxiWSnY2bpEef1tRt3iGgXXaZ0hp4xkxFz4YZTvgyecOSRX2VbwioEDclYy4mIDJdipdIp9 JPMRZdq.Vta13M29JuMkAn_F9ONz2LdN57iNliFjKmshnMwF3CqLSNwYL6kb359e0W3yx7Sgvse0 dodZsrmz2cfVwuKSq0spNz.78Vz4DxzxwIZ1qMCiFkGwyi.r7AYf4BaSg7GCEnGYEb0APesg1OVU 5kOccaJ.btoF1BO_CJjmRHQbgL44eKT.BPRl6yPjPwzolcnd2wfpfjvICXqm3sEuRGPjulMByU7_ 4TomjrM3LSfdBuTgPJpFOHu01r8xLocAa7jvECzW.3uAHF8gHJt8Rl8u04ylB0J2ReAPPmmhXd.E PWWylpyrW2HCBZl4_bGp7MN1O6v6A1WfC9I_w.Usqjkn.akFHQhTKweAFTmFwtREhr9m9QiKh9tb KlkrGQdxxVWNwyECM8ZWRTJq0AsBBc8OMHjvx8Eq_pCPOyglz1t8PP0UOlssBbtOcVzmjNt.sFxJ ceqcKcb.c4stEYK4GXZHSAXeOdSNXDIpk5xf2sxfkMt6KXMlNpQtH_VFdR1qieCCUijy0zfODheF MZlbagFcfYq3AV1kdTE8b2Hr7I.m8RTaXYXsjjDnbU1ZZ.cc8Fztgg9gqFt5.Ax9M3ivd7mvR2oF ycXCV0F0FygThjd5HN7_C_rKSY5DxVzn5uugzTR9qZgrKjdiOsJJE3ChAfIPEbY6T0JCA0k8ItSy XlDN53imarqUnXGrzQ4yEuimZMPpXKcrrPcPL_Ep35utk_JjpmQaACDXwKlJAsVSIDSL8rJpAUQl ZUGcM9ZidybLNY.j7oCl371lcB7bQ1cSFpYE7NLCz4Tu2VjiyQ7wdX47ZwCoA87pvLK6D31gr0Xc minFSRSzkpFxcQSMVHWEX8ubbn9FneNlu75HfUBJYy5cKM7NDOb8E2kt1dDjHUs.YusPwtjGJUq0 21z1D.9Xrt3FPJ64Sy0OLrAnKTKEEknSA6k5ug9g7FzZpmDbrlataQuoJ.bE- X-Sonic-MF: X-Sonic-ID: 52ebb243-0aab-469a-8ce0-008317e8ffb6 Received: from sonic.gate.mail.ne1.yahoo.com by mail-asdoutdeli-p-cin-euwe4-prod-sonicconsumer-svc-101 with HTTP; Mon, 30 Mar 2026 09:51:27 +0000 Received: from dip179.lsn.ir2.yahoo.com ([87.248.99.188]) by hello (SMTP) with SMTP ID cd9124778961155b2fcc60acb8d6aae2; Mon, 30 Mar 2026 09:51:23 +0000 (UTC) Content-Type: text/plain; charset=utf-8; format=flowed Message-ID: <1774862880709.2052150140.1267250908@yahoo.de> To: imsop.php@rwec.co.uk Cc: internals@lists.php.net Subject: Re: [PHP-DEV] RFC proposal: Invokable interface Date: Mon, 30 Mar 2026 09:51:22 +0000 In-Reply-To: References: X-Mailer: Vivaldi Mail User-Agent: Vivaldi Mail/7.9.3970.45 Content-Transfer-Encoding: 7bit Precedence: list list-help: list-unsubscribe: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 From: hanskrentel@yahoo.de (Hans Krentel) On Monday 30 March 2026 10:37:49 (+02:00), Rowan Tommins [IMSoP] wrote: > On 30 March 2026 08:58:03 BST, Rob Landers wrote: > >I'd prefer if the interface forced an empty argument set. You can add arguments so long as they're optional. But generally speaking, there is no need for arguments on an invokable class -- that is what constructors and properties are for. > > An invokable class can be used for all the same things as any other callable - I've seen them used for event handlers, middleware, comparison for sorting, and so on. When you spotted those, were they also with such a generic invocable interface as in this idea in their interface hierarchy?