Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:108587 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 84439 invoked from network); 14 Feb 2020 19:40:01 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 14 Feb 2020 19:40:01 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 47AAC1805F8 for ; Fri, 14 Feb 2020 09:54:43 -0800 (PST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS8075 40.64.0.0/10 X-Spam-Virus: No X-Envelope-From: Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12olkn2056.outbound.protection.outlook.com [40.92.23.56]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Fri, 14 Feb 2020 09:54:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=G3TW15/ya2OcPd17M9gx6+suH5b12CAworzxTpDEo5ScJO+JIJvahfXFYRFTzAyNL6sV2oAJ+pmRW4P1RrYkZ5eigU5uMaE+2CgUR33sYuVUZPHNzOj+zLuAICjDc2XiASqDSYVeF6qKM2biI40jZ+5qINMKnKQ0R6sl0Anr+VuqT1ecdiVRPiM5e2h+y8cYEDIqBk4V7LrnL+pVorutXrXrw8C8ckj3oPiSI77OwJqn24g8NWbH2FZJx1ksahC/Z0K4gaiVbhcRmz1EGISm8Nj4Sj45RYeb9bgr+0pFJwR/0rLdNFUgJQJ2dqAvn4i6R/YeQDKquCTMt1tOpJZ2fQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Ly4a/i8aeIB8Ef0Fv598Yw+FIlQkiBgbZqbMUX0/Q8c=; b=YAXvnMdFJUpZOwLRQvS2GP8n0k4wWAwLOZNqKpelTwFa/TgNMxPRAeE4d4a0vduOweehtMFSkhFtWzJu8sMDkmgaYdtaurSDm7fJ74REZJDtkVeiUdKuZfHyj3vFlCD2EBQmxl9hNn8QOGMkpXXAKH8wb1rf+1DB0OvD/cJf+nUbvGOLyDuOsfkhqFBxu3ETzE5RZTv7WQMa5RqmNRbqUrrzaaQu7PpDrem3HPywzci8cSkp98S/MvvHL1S9GI9EpOe0A8aM8cgvLtjrKa23+iwj+kw3VODSCyLZMH+mgbVgV6REVozVr9Sv1YzqQ9l00cRkd40v1G7+S6acUeQyRQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Ly4a/i8aeIB8Ef0Fv598Yw+FIlQkiBgbZqbMUX0/Q8c=; b=FAZ6WA8DfBxSypZzeL7/1SxxvuLI00HCIluwZfjt8T4mmjMqubP3YqqYbyd+Buv1r9UCKYy2WanroJpEmi5Gj3/ICJqnjnq6gxIdI97qDW48wBSgab4JyqZNNj2JtbsYdlTWsgC/Qc44uV46fvVC+ZcVhgFVMM60N1UWXWi3+A2dynC1Z3o+bsn6xVWEN3FbDQs5+YULHAx8M31fz9ZkAAGJN6Pveq5aL0oHpSQMWTF9EuYN8dz4g2P5oGgjVIDrTEKARJ4SzxZ9+VcRMDQ5qNtODsGLVzVigfvSNk4SZ7w+rlqCzS7GrfwBPLGa6c+DJgpjdnBSXGZc+TFeLaysDw== Received: from MW2NAM12FT053.eop-nam12.prod.protection.outlook.com (2a01:111:e400:fc65::3c) by MW2NAM12HT205.eop-nam12.prod.protection.outlook.com (2a01:111:e400:fc65::240) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2729.10; Fri, 14 Feb 2020 17:54:40 +0000 Received: from DM5PR07MB3067.namprd07.prod.outlook.com (10.13.180.58) by MW2NAM12FT053.mail.protection.outlook.com (10.13.181.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2750.12 via Frontend Transport; Fri, 14 Feb 2020 17:54:40 +0000 Received: from DM5PR07MB3067.namprd07.prod.outlook.com ([fe80::1133:bcac:caf1:d588]) by DM5PR07MB3067.namprd07.prod.outlook.com ([fe80::1133:bcac:caf1:d588%3]) with mapi id 15.20.2729.025; Fri, 14 Feb 2020 17:54:40 +0000 To: "internals@lists.php.net" Thread-Topic: [RFC] Allow calls to global functions in constant expressions Thread-Index: AQHV34pQKhYLJVyrNk2d5UBD297T9KgazPi/gAAyILI= Date: Fri, 14 Feb 2020 17:54:40 +0000 Message-ID: References: , In-Reply-To: Accept-Language: en-CA, en-US Content-Language: en-CA X-MS-Has-Attach: X-MS-TNEF-Correlator: x-incomingtopheadermarker: OriginalChecksum:A55BAEDF8FF792CBAAD4F13331EF9B98E4CA9BC1C2E6CB7A60456AE55BF1540E;UpperCasedChecksum:A7ABF2FDC387A24A3EB397772C2AECADF89E3BCB776F97204D8622DFDE839B76;SizeAsReceived:7092;Count:45 x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [ksZnQPIPgf6nGIeNyBGWzEatZ46HVrNc] x-ms-publictraffictype: Email x-incomingheadercount: 45 x-eopattributedmessage: 0 x-ms-office365-filtering-correlation-id: 28bce529-78b3-4df7-de08-08d7b176f6ef x-ms-traffictypediagnostic: MW2NAM12HT205: x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: LsAsDe7a9K02tZBGaJNDvceS7pEiolJI8Hya5ooPJDYPaxdo6lUPssoPiYlYEjwB3rSpt1dbYswuBM7NDMxg2N61OwxbAeYoHbci2rz6B3Zq7jGDMwkCezPjy0BQn2hauNVB5BOOD6NirYVY+7NZgvMvdEBJ+YADNsxZL2OwfB7Hy4qZ+V8WyaHRzz5vyJg9 x-ms-exchange-antispam-messagedata: phemh+cUSNJIZ3RbGAtJp4fZ0ijum0QwBQGx7SpLV8Uf0LWOA/tYAcbKL66prsbRO7azfoJrX4KMik9tIaCjSBRgSDYSk6C5vhMqXAPLsvz8fdkO+ov1kNH7FEYQOMfEQ8GDPeF9X0iDokTv4z8SpA== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: hotmail.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 28bce529-78b3-4df7-de08-08d7b176f6ef X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Feb 2020 17:54:40.2047 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW2NAM12HT205 Subject: Re: [RFC] Allow calls to global functions in constant expressions From: tysonandre775@hotmail.com (tyson andre) > - Solving the above two issues while continuing to throw for func_get_arg= s(), get_defined_vars(), etc.=0A= >=A0 =A0get_defined_vars() would throw for dynamic calls=0A= =0A= Then again, it's already possible to get function parameters through debug_= backtrace(), so implicitly creating a closure and call with 0 bind vars wra= pping the function calls might be an acceptable tradeoff.=0A= =0A= - Possibly leave that closure out for calls known to not be dynamic interna= l calls=0A= - It might make sense to blacklist known function names such as func_get_ar= gs(), get_defined_vars(), etc to prevent writing that type of buggy code, e= .g. in parameter default expressions =0A= =0A= Thoughts?=