Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:59839 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 60924 invoked from network); 13 Apr 2012 01:38:24 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 13 Apr 2012 01:38:24 -0000 Authentication-Results: pb1.pair.com smtp.mail=yohgaki@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=yohgaki@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.213.170 as permitted sender) X-PHP-List-Original-Sender: yohgaki@gmail.com X-Host-Fingerprint: 209.85.213.170 mail-yx0-f170.google.com Received: from [209.85.213.170] ([209.85.213.170:44760] helo=mail-yx0-f170.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 43/C1-00290-E83878F4 for ; Thu, 12 Apr 2012 21:38:23 -0400 Received: by yenl5 with SMTP id l5so1639951yen.29 for ; Thu, 12 Apr 2012 18:38:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type :content-transfer-encoding; bh=WYOFebUh/ow39vdM6fjFToyHI/Mqx91dlPOBuwzXqZ8=; b=UWFN0cj0ZFOk543YHYTnKC9R4yAYx7geEIJPl8ywYaDPLuAIlk+ijD0XJg9bQgot0p +hcYvIBPeUAPr5Ks/SVOpCgQ0kEQ2+JGD5PSRTpAawOrpjGKbyB/+xbLD3MHurg/rPuF dEU+j4DkWIfEWMUwuh2K6NtZ/9TyVgw8I0+0sBi8PacSSmZDV/F64+cm8hG9WWDIdpN/ eKzvJNh562TDlWNmaAA1vyew4TOMyaY5JD1syLNt14pJt/Ji36M1CBHKgap54WxRPJQa dZDXs7bXduqvMSVGQ7LSNvqM7ufq+0ueyoA9GLR5Czx9chPVgnpl4LG1iyYpEhmdktUC G/Jw== Received: by 10.236.190.42 with SMTP id d30mr101317yhn.77.1334281100047; Thu, 12 Apr 2012 18:38:20 -0700 (PDT) MIME-Version: 1.0 Sender: yohgaki@gmail.com Received: by 10.146.86.14 with HTTP; Thu, 12 Apr 2012 18:37:39 -0700 (PDT) In-Reply-To: References: <4F876943.8030105@gmail.com> <4F877777.8050806@gmail.com> Date: Fri, 13 Apr 2012 10:37:39 +0900 X-Google-Sender-Auth: BjdzAPIa6x_g19uLrknwf-LIKsw Message-ID: To: Arvids Godjuks Cc: Kris Craig , PHP internals list , David Muir Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: quoted-printable Subject: Re: [PHP-DEV] [RFC] New .phpp File Type for Pure-Code PHP Scripts From: yohgaki@ohgaki.net (Yasuo Ohgaki) 2012/4/13 Arvids Godjuks : > Well, i can say that any template engine that is not a pure php extension > does template inclusion via an include of a file with html and embedded p= hp > code. Because to make things fast you have to convert your templates from > tags and pseudo code to that state and cache the result so not to make > parsing on every request. > > And right now there is a standard for autoloading the libraries and > frameworks that most big players agreed on, that will make loading of 3rd > party stuff easy. Untill one converts to pphp and other does not. > Autoloadijg will just break because of mixed approaches. Good point. Although there may be name conflicts, script/script_once would be better and has more compatibility. Let just make types of include decided how it behave. Regards, -- Yasuo Ohgaki yohgaki@ohgaki.net > > Hm, you wrote that you have configured php only with IIS and Apache (any > *nix expirience?). Try nginx, see for yourself how different it is. > > 13.04.2012 3:05 =D0=CF=CC=D8=DA=CF=D7=C1=D4=C5=CC=D8 "Kris Craig" =CE=C1=D0=C9=D3=C1=CC: > >> On Thu, Apr 12, 2012 at 5:46 PM, David Muir wrote= : >> >> > =9AOn 13/04/12 10:04, Kris Craig wrote: >> > >> > >> > >> > On Thu, Apr 12, 2012 at 4:46 PM, David Muir >> > wrote: >> > >> >> =9AOn 13/04/12 09:38, Yasuo Ohgaki wrote: >> >> > Hi, >> >> > >> >> > 2012/4/13 Kris Craig : >> >> >> Per recent discussions, I have drafted an RFC for this. =9AThis >> >> >> proposal >> >> >> offers what I believe to be a more sane and realistic approach to >> >> >> addressing the question of incorporating a new breed of tag-less P= HP >> >> >> scripts. >> >> >> >> >> >> https://wiki.php.net/rfc/phpp >> >> > This may work for LFI issue for new codes. >> >> > Few questions. >> >> > >> >> > CLI may use .phpp as PHP script always. (i.e. execute w/o > >> > else) >> >> > It's like DOS, though. >> >> > >> >> > How do you enforce .phpp as script only for Web? >> >> > Is it a rule for configuration? or .phpp just never supposed to >> >> > locate >> >> > under docroot? >> >> > It relates previous question. How about bootstrap script for >> >> > frameworks? >> >> > >> >> >> A regular .php script cannot be included from a .phpp script. An >> >> E_WARNING will be thrown for include and an E_RECOVERABLE_ERROR will = be >> >> thrown for require; in both instances, the included file will be >> >> ignored. >> >> > Some people may try to make .phpp handled by web. >> >> > I cannot tell if this setting is going to be popular, but if it >> >> > does, isn't it the end of embedded PHP? >> >> > It might be good if PHP is more tolerant for this usage. >> >> > >> >> > Regards, >> >> > >> >> > -- >> >> > Yasuo Ohgaki >> >> > yohgaki@ohgaki.net >> >> > >> >> >> >> =9AThat's a huge WTF that a templating library can't be written as .p= hpp, >> >> because it then won't be able to load a template. >> >> >> > >> > That's actually not true. =9APlease refer to the diagram embedded in t= he >> > RFC. >> > >> > Basically, you can load a template just fine-- you just can't do it >> > directly from a .phpp file, which you shouldn't be doing, anyway. =9AT= he >> > .phpp file is, at least for the most part, intended to be included fro= m >> > a >> > regular .php file, which also would include whatever you're using for >> > your >> > templates. =9AIn other words, they can interact just fine; you just ca= n't >> > put >> > the template upstream from a .phpp file in the include stack-- which, >> > again, you really shouldn't be doing, anyway, as it's just bad >> > architecture. >> > >> > >> > >> > How is this bad architecture? Every framework I've seen that has some >> > kind >> > of templating layer that handles the scope and inclusion of the >> > template, >> > and it happens further down the chain from the controlling code. >> > >> > Zend_View, Twig or Smarty would have to remain as .php and not .phpp, >> > otherwise they wouldn't be able to render the templates. >> > >> > In the case of Zend Framwork, which I'm most familiar with, the >> > application, front controller, dispatcher, and action controllers, and >> > some >> > services would have to remain as .php so that templates could be >> > executed. >> > >> > Oh, and the autoloader can't be .phpp either. But then if it's .php, >> > then >> > the autoloader can't be called from .phpp files to include .php files. >> > >> > Cheers, >> > David >> > >> >> It's been awhile since I've used Smarty, but unless my memory is failing >> me, I'm pretty sure it's not restricted to being several points removed >> upstream as you described. =9AI'm not familiar with Zend_View or Twig so= I >> can't comment on those. >> >> Thing is, there's no reason why you can't hook any framework into this. >> Worst-case scenario, if the library you're hooking into has a rigid >> structure, just write a simple controller class layer to operate on top = of >> it, then use that same controller class to interface with the .phpp stac= k. >> Problem solved. =9AIt's really not as complicated or confusing as you're >> making it out to be. >> >> --Kris