Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:60002 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 1575 invoked from network); 16 Apr 2012 13:35:19 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 16 Apr 2012 13:35:19 -0000 Authentication-Results: pb1.pair.com smtp.mail=tom@punkave.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=tom@punkave.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain punkave.com designates 209.85.161.170 as permitted sender) X-PHP-List-Original-Sender: tom@punkave.com X-Host-Fingerprint: 209.85.161.170 mail-gx0-f170.google.com Received: from [209.85.161.170] ([209.85.161.170:53229] helo=mail-gx0-f170.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 1D/46-05733-7102C8F4 for ; Mon, 16 Apr 2012 09:35:19 -0400 Received: by ggmb2 with SMTP id b2so2720399ggm.29 for ; Mon, 16 Apr 2012 06:35:17 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding:x-gm-message-state; bh=1hz8WNYqZMuXk45EIMggYrDlDHjps0x86bw/JdXCx3U=; b=dlRhi0nzOjZmRdRPd13B6JmxRujS79K+57exNyLV2qnj0JtFc1IIoU652MotyItd/9 5kUjSnLZSSi6+kMliEtOEQQzE0GhzLoB0IpE7NW9BkBBuNPVzb/KTo3s5tBmjUH/sLXy VduKP3EWpUiu5T6YSUgiqhPrsDXuSZONhYq+xsmYBdjfr9c3oz5pkUQ5RxzGdPrFBU3W ow88xSu1qhCgt299Ip3fu78Z91PL3KA2K0D2R3jf4+2sF8RkO6BIuPGsJGv0wa1J265P P6lPuXAh3btmDdw9HngVwScTBTk8/xNzB/SADM+4RRwnOw5LCOzXu0QJ2ED24PnTL45N xUdA== MIME-Version: 1.0 Received: by 10.101.129.3 with SMTP id g3mr3254462ann.9.1334583316897; Mon, 16 Apr 2012 06:35:16 -0700 (PDT) Received: by 10.101.57.14 with HTTP; Mon, 16 Apr 2012 06:35:16 -0700 (PDT) In-Reply-To: References: <4F876943.8030105@gmail.com> <4F877777.8050806@gmail.com> <4F8782CC.8030205@gmail.com> <4F87C9B0.4080809@gmail.com> <4F8AA9CF.6000003@gmail.com> <4CF91067-DBC4-4CD7-AF91-1814A6999EEF@punkave.com> Date: Mon, 16 Apr 2012 09:35:16 -0400 Message-ID: To: PHP Internals Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: quoted-printable X-Gm-Message-State: ALoCoQmZQx4JYhMU1s5RTr2g7YT9TjbP/G/ZdqX8pvRWZs/tOoGkgn0qH1XshJAeEdoIwAzCKpAL Subject: Re: [PHP-DEV] [RFC] New .phpp File Type for Pure-Code PHP Scripts From: tom@punkave.com (Tom Boutell) Also, Kris's proposal requires that an additional flag be tracked all the way down through the stack of requires and includes from the point where pure mode is first encountered, remembering that we're in pure mode. Note that this flag cannot be a global variable because .php files that were loaded before this .phpp file are still permitted to load things, including when acting as autoloaders on behalf of .phpp code... my head hurts. This cannot be the cleanest way to solve the problem. 2012/4/16 Tom Boutell : > Oh I see. Yes, this is one of the reasons I don't like the "pure can't > include non-pure" idea. > > Another reason: you can't write generic algorithms. PHP 5.4 has much > improved support for anonymous functions, so we should see an increase > in libraries that take a few functions as parameters and carry out an > operation via those functions. But what if one of those functions > requires something from a .php file? Whoops, I guess it's not a > generic sorting algorithm library I just released, it's a "generic > sorting as long as none of your functions touch a .php file" algorithm > library. And good luck figuring this out when it happens. > > Kris has pointed out that you could still load a .php file via a > function that was defined earlier in a .php file that later includes > .phpp. But this just means that, like my RFC, his RFC contains a > compromise about strictness. It's just that his compromise is more > confusing and less likely to be understood before the user gets > frustrated and declares the whole thing not worth messing with. I > think ".phpp files don't contain but can require and > include files that do" is a much clearer compromise, one that will get > us what we want (an ever increasing percentage of .phpp files) without > making enemies and generating opposition along the way to that better > place. > > On Mon, Apr 16, 2012 at 9:24 AM, Arvids Godjuks > wrote: >> 16 =C1=D0=D2=C5=CC=D1 2012=9A=C7. 16:09 =D0=CF=CC=D8=DA=CF=D7=C1=D4=C5= =CC=D8 Tom Boutell =CE=C1=D0=C9=D3=C1=CC: >> >>> These tools already strip >> support rolling in a .phpp file unmodified. Unless I am missing somethi= ng? >>> >>> Sent from my iPhone >>> >>> On Apr 15, 2012, at 5:30 PM, Arvids Godjuks >>> wrote: >>> >>> > I posted the bellow text in other thread, but i should have it post >>> > here, >>> > so i'm reposting it to this thread. >>> > >>> > Well, it's time for me to remind about the techique many use (and som= e >>> > frameworks provide it out of the box) - the application file >>> > concatination >>> > to speed up file loading. >>> > Yii framework provides a Yiilite.php file for this, that includes mos= tly >>> > used core classes in one big file.that loads much faster and is used = for >>> > production. Any other framework has user extentions or other type of >>> > solutions for this to speed up the application, and it makes really b= ig >>> > difference. >>> > So there is a good question - how the hell in a MVC framework would i >>> > combine my models, controllers, components and other stuff that will >>> > definetly be as in .php so in .pphp. And not every file will be cache= d >>> > like >>> > that - some will remain as distinct files even in production. >>> > >>> > The further discussion goes the more questions there is and less answ= ers >>> > there are. >> >> >> Yes they obviously do, but that's not what I'm concerned about. >> What I'm concerned is that code from .php and .pphp files get's mixed in >> together - template engine related stuff is used as much, as do controll= ers, >> session handling classes and bunch of other stuff that by definition is >> .pphp stuff, but the template stuff is .php and it includes templates. S= o >> basically everything just has to fall back to the embedded PHP mode to w= ork >> and we have no gain from the proposal what so ever - it just becomes >> useless. >> >> That's not counting other issues that people and I have been voicing and= to >> be honest, I never saw a reply to any of it. Maybe there is a reply to >> all=9Athose=9Aquestions, but they are under wall of text that usually go= es in >> reply - that just discourages to read it at all. > > > > -- > Tom Boutell > P'unk Avenue > 215 755 1330 > punkave.com > window.punkave.com --=20 Tom Boutell P'unk Avenue 215 755 1330 punkave.com window.punkave.com