Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:70539 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 72296 invoked from network); 8 Dec 2013 18:44:22 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 8 Dec 2013 18:44:22 -0000 Authentication-Results: pb1.pair.com header.from=ellison.terry@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=ellison.terry@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 74.125.82.44 as permitted sender) X-PHP-List-Original-Sender: ellison.terry@gmail.com X-Host-Fingerprint: 74.125.82.44 mail-wg0-f44.google.com Received: from [74.125.82.44] ([74.125.82.44:34500] helo=mail-wg0-f44.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id A6/8A-01020-50EB4A25 for ; Sun, 08 Dec 2013 13:44:22 -0500 Received: by mail-wg0-f44.google.com with SMTP id a1so2511984wgh.11 for ; Sun, 08 Dec 2013 10:44:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type; bh=fhVju3CvM5Y/E0epPUnAJnOlA8kpDCL5QIDwI8hDb14=; b=RAkgVElsjSDYEROCWzWZG4vv2zAygayx3eaoyH8VIrIRjV2ZSXG/tGzFjIMQ6hi4Lz PNEUh2YyylNlrcPynJ5oPFeUb9Iq+zhd8oxRsm6Td+Vl2xkbKLRVm3A+awgAmP+hWZhu mz08t7yyAZErHebn+/j0cbP1oNfCiKqa94OvQiXhhxjtCpimXBvNTcmSqEHk34nf2iuW xgaUUs7CdXooyQA+HNw+utdkmvDJOsXB/w81O7xd8v6KCFrXUoFjk+odEgDf4gUMnl9k UCzyzH6FX/ShnTB9VNPzfmm/hX74An1zKDdW7Kb7GmLRW0t6QSQd4bDoWj0QLiRub8wa H1hg== X-Received: by 10.180.81.33 with SMTP id w1mr10944260wix.42.1386528258697; Sun, 08 Dec 2013 10:44:18 -0800 (PST) Received: from [192.168.1.91] (host81-152-194-204.range81-152.btcentralplus.com. [81.152.194.204]) by mx.google.com with ESMTPSA id pi6sm17436803wic.3.2013.12.08.10.44.17 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sun, 08 Dec 2013 10:44:18 -0800 (PST) Message-ID: <52A4BE00.5040208@gmail.com> Date: Sun, 08 Dec 2013 18:44:16 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.1 MIME-Version: 1.0 To: Alexey Zakhlestin CC: Felipe Pena , PHP Internals References: <52A4A6A1.3080206@gmail.com> <52A4A8DD.60106@gmail.com> <52A4B578.8060704@gmail.com> In-Reply-To: Content-Type: multipart/alternative; boundary="------------030708080901040702070203" Subject: Re: [PHP-DEV] Introducing pragmas into PHP? From: ellison.terry@gmail.com (Terry Ellison) --------------030708080901040702070203 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 08/12/13 18:12, Felipe Pena wrote: >> On 08/12/13 17:14, Alexey Zakhlestin wrote: >>>> I am suggestion the overload of constants of the form PHP_PRAGMA_XXX to >>>> define PHP / Zend compiler / executor behaviours... >>> we already have declare() for this purpose exactly. >>> http://docs.php.net/declare >>> >> Alexey, perhaps ... and mindfart following. > Looks like you misread Alexey's post. He was talking about declare > construct, not define() function. Apologies to you Alexey, as the point that you made was very relevant, and my reply was a response to a misreading as Felipe as kindly pointed out. Yes, extending declare would be a more elegant approach, but there is a problem with an extended the declare syntax -- statements such as: declare( allow_override_builtins = 1); would generate additional compiler warnings when used on all previous versions, and one of my aims was to enable B/C back to PHP 5.3 at least. Also as declare is a pure compiler construct that only applies to the source, there would be no equivalent mechanism for, say, defining a namespace-wide set of pragmas without further modifying every source file. --------------030708080901040702070203--