Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:94675 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 4172 invoked from network); 24 Jul 2016 13:51:39 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 24 Jul 2016 13:51:39 -0000 Authentication-Results: pb1.pair.com smtp.mail=rowan.collins@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=rowan.collins@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 74.125.82.47 as permitted sender) X-PHP-List-Original-Sender: rowan.collins@gmail.com X-Host-Fingerprint: 74.125.82.47 mail-wm0-f47.google.com Received: from [74.125.82.47] ([74.125.82.47:35036] helo=mail-wm0-f47.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id BF/5E-05797-9E7C4975 for ; Sun, 24 Jul 2016 09:51:38 -0400 Received: by mail-wm0-f47.google.com with SMTP id f65so106783693wmi.0 for ; Sun, 24 Jul 2016 06:51:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding; bh=58MgJagatDyUceyo5Uq797ROHqtHwCgRb11Z2XOCtZc=; b=n/3ezTi/MM1ImSuQ0RpOnHdMUm6HCjDjar+M5I8JAEC2I8jiFc+4uTp/yR4PdQau+g 4siKJl1WEquK0dGjMldFH3eVJBr+eevs9Y7j333LSyZaaMMZs2bj/pLFkodOQqhAVTvE Dy4mYcKT71EzAEOrLlZ0qSiW4MDpRnM7Dc33WSlLcqKqsizixvtZAet7XrCyN1Jj55jg t4mJ55OJ7/aD0CUYafozYZtOjK0bt4287EQ/S7uF/MjtP42tjuac8uwbuGvFjaICbkdi oyMTlZ3UXnQcU4YBbUSBYiyoDdlzw35eNcMPwzaS21Jt5/38xHw7MV+25G/9MCa9AKs/ /ywg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=58MgJagatDyUceyo5Uq797ROHqtHwCgRb11Z2XOCtZc=; b=RaXmjd0y9Dk/315hCVoejz5dhjlPjzjaD4IXoJU0fuuDxl4JE0Sbp0zuKprzC5vVAF Gyaasgv9+Nmw8Pg6C/q/9899+63S3vlDWdq78IifWnn3Wvq+ZQSvlU3gpaxWxf7j1Lhk 4vOLtAIJJVAk4JhG9DZrq+FycuLUlTaVKqQWXvDBJfPV/DMVVVp+UiuY+qURdXjCiBTg KIhqrkVR2mm0uujohtn43ANbPM+tFdAgwjjjXXP4v97l8pOGIdi2lFB0JDFwkYjYHGq7 5hkrP3aXcE12j9Ar6pZ7Qhdyu60Yy9mLgtUe1szJZz6O+2WsMrLEf8Rnl9eP0M1QE1AO lqqQ== X-Gm-Message-State: AEkoouvGUuq7kG1vgJKRm7Zvk1JHBE6UCuxb5YdeLnSFqllHxRSylGguvoPoozbPibTqEA== X-Received: by 10.194.221.232 with SMTP id qh8mr10762189wjc.117.1469368294385; Sun, 24 Jul 2016 06:51:34 -0700 (PDT) Received: from [192.168.1.5] ([95.148.161.240]) by smtp.googlemail.com with ESMTPSA id i66sm22442201wmg.9.2016.07.24.06.51.33 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 24 Jul 2016 06:51:33 -0700 (PDT) To: internals@lists.php.net References: <8a39df34-4a23-c496-15f6-20a62d27fc59@gmail.com> <4920f683-9a4d-7153-b157-a7d7ce8cbfe7@gmail.com> <933449d0-90c2-0d7a-cb80-a171289d8286@texthtml.net> Message-ID: Date: Sun, 24 Jul 2016 14:51:31 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] [RFC] New operator for context-dependent escaping From: rowan.collins@gmail.com (Rowan Collins) On 23/07/2016 20:23, Michael Morris wrote: > PHP was a template engine at inception. [...] something has gone awry when people are > writing template engines inside of a template engine. At its inception, PHP was a handful of scripts including access logging and a guestbook form. You can take a look here: https://github.com/phplang/php-past/tree/0246ebc1bf5ae2e945d28961f975717774e6d287 Yes, at a stretch, it was a rudimentary template engine; but in a sense, so is any programming language that has variables, output, and some form of string interpolation. Smarty was created in 2000, and its first ever README makes clear reference to older templating engines: https://github.com/smarty-php/smarty/tree/497badbe646f73703b7130609e9ffe2cbd23fa42 When exactly did things go awry? In other words, that ship has sailed. The idea that everything that PHP has ever had a mediocre version of built in, should be forever embedded in and maintained by the default distribution, is absurd. PHP today is a programming language, and applications and libraries can be and are written in that programming language. Trying to build default functionality that would compete with a modern templating engine like Twig would be a lot of effort, and to what end? A kind of language nationalism, that "PHP does it all"? Regards, -- Rowan Collins [IMSoP]