Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:59559 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 99823 invoked from network); 9 Apr 2012 21:24:48 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 9 Apr 2012 21:24:48 -0000 Authentication-Results: pb1.pair.com header.from=tom@punkave.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=tom@punkave.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain punkave.com designates 209.85.217.170 as permitted sender) X-PHP-List-Original-Sender: tom@punkave.com X-Host-Fingerprint: 209.85.217.170 mail-lb0-f170.google.com Received: from [209.85.217.170] ([209.85.217.170:39320] helo=mail-lb0-f170.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id B2/6E-34074-F93538F4 for ; Mon, 09 Apr 2012 17:24:48 -0400 Received: by lbbgf7 with SMTP id gf7so2194426lbb.29 for ; Mon, 09 Apr 2012 14:24:45 -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=JH2kJb9zZpeRXxqlpMNzE3i9ioD2KvuXvNxWHOp/b08=; b=ofhhJwYg4baPlfYqt4blTWsPwLgfeMacDFs7cH+m7Lao2qMXo2wfVTmRc2KppPwO9h GNUtIFvUHMIIWgRV0S7KlMp8zNPpmKW81pAtJIlIkbu7kXijO+YgKg7eoSOKhmr80u8+ CJJ7l2YUy4PVjcHtLJtxZ4M1RX0GhcFwfpisOBg3Q+4xbD9oJaf6B62O+frwWkbp326A hXyVnddYIajRUhp4sOXQOAc1PgG2jKHWM8kV6wVAkwt2D89ClvT2qVo3qfqUNbhxcSVp H0E3JsJmsZTUMi9woj8LAIt/xLW9fIZxyKjavNJSD74sw3MGDo1d2mjwVVBzSv2RKUwb /shg== MIME-Version: 1.0 Received: by 10.112.83.163 with SMTP id r3mr326653lby.80.1334006684875; Mon, 09 Apr 2012 14:24:44 -0700 (PDT) Received: by 10.152.19.106 with HTTP; Mon, 9 Apr 2012 14:24:44 -0700 (PDT) In-Reply-To: References: <-5877502932356715576@unknownmsgid> <-3647345967307864634@unknownmsgid> <4F831FAE.2030208@ralphschindler.com> <4775322189440202047@unknownmsgid> <4F833682.2000301@ralphschindler.com> <4F833AB0.2060306@sugarcrm.com> <4F8340E6.90005@sugarcrm.com> <4F834D82.4030601@developersdesk.com> Date: Mon, 9 Apr 2012 17:24:44 -0400 Message-ID: To: PHP Internals Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Gm-Message-State: ALoCoQlHTQ5ujP5m7v74iGTuSLINKCMkQBNHCQj0+ZN8FrsIVSNlSzDwhe/rEoI5GaZZlERfYOrD Subject: Re: [PHP-DEV] RFC: source files without opening tag From: tom@punkave.com (Tom Boutell) I'm not sure you're wrong about this, but it's definitely an ironic suggestion (: On Mon, Apr 9, 2012 at 5:22 PM, Kris Craig wrote: > > > On Mon, Apr 9, 2012 at 2:03 PM, Tom Boutell wrote: >> >> As others explained before the RFC was drafted, file extensions should >> not be directly respected by PHP because environments differ too much. >> Instead a convention, NOT enforced at the code level, would be >> published and encouraged: .phpc for files that start out in PHP mode, >> and .php for files that start out in HTML mode. PHP would NOT enforce >> this, it would just be an encouraged practice in the writing of >> autoloaders and so on. (Note that autoloaders are already concerned >> with file extensions. They have to be in order to transform a class >> name into a filename.) >> >> The RFC does not call for putting an end to the traditional use of PHP >> for templates at all, that is still the default behavior when parsing >> PHP. There is an entirely separate RFC that calls for that, but that's >> another thread. >> >> On Mon, Apr 9, 2012 at 4:58 PM, Rick WIdmer >> wrote: >> > On 4/9/2012 2:41 PM, Kris Craig wrote: >> >>> >> >>> >> >> Honestly, I would suggest just getting rid of "Option 1" altogether. >> >> =A0It >> >> would end up over-complicating this to such a degree that any >> >> usefulness >> >> it >> >> might serve would be considerably diminished. >> >> >> >> As for embedded HTML, if you allow the ?> =A0tag in these .phpp files= , >> >> then >> >> that pretty much negates the entire purpose of having them to begin >> >> with. >> >> Essentially, you'd just be changing it so that, instead of defaulting >> >> to >> >> "?>" when no tag is present, it defaults to"> >> any >> >> value in that as a developer. >> >> >> >> A developer should *not* be including in a .phpp file classes that >> >> contain >> >> HTML within the ?> =A0tag, period. =A0If they need to include somethi= ng >> >> that >> >> has >> >> that, they should do it in a regular .php file. =A0An "HTML-less" PHP >> >> file >> >> needs to be exactly that; no direct HTML allowed. =A0Otherwise, the R= FC >> >> is >> >> completely and utterly pointless IMHO. >> >> >> >> >> >> I think this would be awesome for PHP 6, but I'll have to vote agains= t >> >> it >> >> if you settle on using "Option 1" and/or allow ?> =A0content to be >> >> embedded/included in .phpp files. =A0If we differentiate based solely= on >> >> the >> >> file extension and keep ?> =A0tags out of it, then I'll definitely >> >> support >> >> it! >> > >> > >> > >> > >> > Please forget about file extensions. =A0PHP should not consider file >> > extensions. =A0The only reason .php files are executed by PHP is becau= se >> > the >> > web browser is configured to pass that extension to PHP rather than >> > handle >> > it internally. >> > >> > >> > I sincerely hope that any suggestion to eliminate the ability to use P= HP >> > as >> > a template engine will be met with a veto by the core developers, or >> > maybe >> > even another suggestion by the trademark owner of PHP that he will not >> > allow >> > the PHP name to be used on such a language. >> > >> > >> > >> > >> > >> > >> > >> > >> > -- >> > PHP Internals - PHP Runtime Development Mailing List >> > To unsubscribe, visit: http://www.php.net/unsub.php >> > >> >> >> >> -- >> Tom Boutell >> P'unk Avenue >> 215 755 1330 >> punkave.com >> window.punkave.com >> >> -- >> PHP Internals - PHP Runtime Development Mailing List >> To unsubscribe, visit: http://www.php.net/unsub.php >> > > Hmm yeah I see your point.=A0 Requiring a separate file extension would f= orce > configuration changes to the webserver.=A0 And since not everybody has ac= cess > to that, it would mean that any projects that contain these files would n= ot > be able to run on hosts like that. > > Ok you've convinced me on the file extension issue, just based on that.= =A0 But > I still don't like the new require_* keywords or allowing ?> to be mixed-= in > with PHP scripts that are supposed to be pure code.=A0 Again it just come= s > down to a question of usefulness and creating a solution in search of a > problem. > > What we need is a way to tell the parser that this file is pure PHP.=A0 W= e > can't use the file extension, so it has to be at the code level.=A0 If I'= m > interpreting your proposals correctly, it looks like your approach would = be > to have the including file make this determination.=A0 Personally, I thin= k we > should do the opposite; i.e. this should be defined in the PHP file itsel= f. > > Obviously, it would need to be at the top of the PHP file (whitespace > notwithstanding).=A0 Since we don't want any BC breaks, we at very least = need > it to start with " mean to be parsed.=A0 So how about we keep it simple and just use a singl= e, > " would be allowed after th= at. > Anything before that (in the file itself) would also be ignored and throw= a > warning. > > This sounds like the best approach, given the limitations involved with > webserver configurations.=A0 I'm still very much against though allowing = ?> > within one of these files (included or otherwise), as it really defeats t= he > whole purpose and would just encourage poor architecture without any > countervailing benefit. > > --Kris > --=20 Tom Boutell P'unk Avenue 215 755 1330 punkave.com window.punkave.com