Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:35009 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 60716 invoked by uid 1010); 29 Jan 2008 19:12:44 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 60701 invoked from network); 29 Jan 2008 19:12:44 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 29 Jan 2008 19:12:44 -0000 Authentication-Results: pb1.pair.com header.from=chris#@codewarehouse.NET; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=chris#@codewarehouse.NET; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain codewarehouse.NET from 75.160.109.235 cause and error) X-PHP-List-Original-Sender: chris#@codewarehouse.NET X-Host-Fingerprint: 75.160.109.235 hitme.hitometer.net Received: from [75.160.109.235] ([75.160.109.235:51838] helo=hitme.hitOmeter.NET) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id CF/0F-55338-AAA7F974 for ; Tue, 29 Jan 2008 14:12:43 -0500 Received: from hitme.hitOmeter.NET (localhost.hitOmeter.NET [127.0.0.1]) by hitme.hitOmeter.NET (8.13.8/8.13.8/HitOmeter Messaging Service!) with ESMTP id m0TJCYKN074443 for ; Tue, 29 Jan 2008 11:12:40 -0800 (PST) (envelope-from chris#@codewarehouse.NET) Received: (from www@localhost) by hitme.hitOmeter.NET (8.13.8/8.13.8/HitOmeter Messaging Service!) id m0TJCTaF074442; Tue, 29 Jan 2008 11:12:29 -0800 (PST) (envelope-from chris#@codewarehouse.NET) To: internals@lists.php.net MIME-Version: 1.0 Date: Tue, 29 Jan 2008 11:12:29 -0800 In-Reply-To: <479E1152.50301@chiaraquartet.net> References: <479E1152.50301@chiaraquartet.net> Message-ID: <92d09f77254d1b8fd92757770fd30c1b@hitOmeter.NET> X-Sender: chris#@codewarehouse.NET User-Agent: hitOmeter-mail/0.01 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit Subject: Re: [PHP-DEV] re-proposal of pecl/phar for inclusion in core From: chris#@codewarehouse.NET (chris#) On Mon, 28 Jan 2008 11:30:58 -0600, Gregory Beaver wrote: > Hi all, > > I have been working hard on pecl/phar to address several issues raised > last May when it was first mentioned on the list, and would like to > summarize where phar stands today with regards to those criticisms: > > Criticisms: > > * non-standard file format > * limited introspection > * no support for web-based applications > * by default, phar archives require the phar extension to run > * massive modification of php applications required to run them as a > phar archive > * no caching of phar files in opcode caches > * has write support in the extension > > Current status of phar addresses most of these criticisms: > > * full read/write support for tar and zip file formats plus original > phar file format > * introspection of phar-based archives is available via the "phar.phar" > command-line tool, and all standard tar/zip tools can introspect tar and > zip files > * web-based phar archives has been completed, 1 line of code is needed > to enable the web front controller. Concept proved by running > phpMyAdmin from its original tarball without code changes > * default stub for phar-based archives allows standard PHP applications > to run from a phar archive without the phar extension being present. > * interception of read-based file functions and include now allows most > php applications to run from a phar archive without any modification to > the original code > * Gopal committed code to APC that allows caching of files from stream > wrappers > * write support is disabled by default, and can only be enabled on the > system level, this has not changed. > > phar is also the first PHP extension to provide full read/write support > of the tar file format on windows (libarchive supports this on unix) > phar implements zip support with native PHP code, enabling some features > not present in ext/zip such as opendir() stream support, bzip2 > compression, file permissions stored in the zip archive, and greatly > improved efficiency on accessing just a few files within a large zip > archive. > phar also supports creating and running gzipped/bzipped tar or phar > archives without requiring decompression (this is done on the fly) at > the expense of the expected performance hit. > > Phar has no required dependencies, and optional dependencies on spl, > zlib and bz2 (zlib+bz2 are obviously required for > compressing/decompressing with those formats, spl is only required for > fancy-pants stuff, the stream wrapper, web front controller, and other > major features do not require spl) > > Development is still actively occurring on phar, to fix a few known > issues and increase code coverage in the unit tests. The enhancements > above are in CVS in the soon-to-be-released phar 2.0.0. > > If phar were in core, it would allow people distributing applications or > libraries to bundle unpacking code or installation code inside the > archive. Applications could also be designed to run right out of the > phar archive for users to try them out or even for final installation > using the standard tar/zip file formats. The phar file format has the > advantage of not requiring the phar extension in order to run. The > tar/zip file formats have the advantage that if the phar extension is > not present a simple "unzip" command (or the equivalent for tar or for > windows) allows easy installation. > > As such, I would like to ask for a second consideration of bundling phar > in core, as it has a huge potential for enhancing the distribution of > PHP applications. +1 for core inclusion. > > Thanks, > Greg > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php ///////////////////////////////////////////////////// Service provided by hitOmeter.NET internet messaging! .