Hello Elizabeth,
Friday, March 28, 2008, 2:21:01 PM, you wrote:
> First of all Greg, thanks for all your hard work on phar - however I do
> agree that some of the API choices are going to cause confusion with
> "casual" phar users.
>> 1) if you want to know writability without Phar::canWrite(), you can
>> also use is_writeable('phar:///path/to/archive.phar/index.php') just
>> like you can with any other file
> However Phar::canWrite(); merely tells me if the readonly ini choice is
> flipped, correct? It doesn't relate to the actual file. While the
> is_writeable function will do what I want for a specific file - I agree
> that a $phar->isWriteable() method would be a nicer (and more intuitive
> for the OO nuts) option.
You are right about Phar::canWrite() however there is also
Phar::isWriteable(). All we have to do is overload it correctly so that it
returns SplFileInfo::isWriteable() && Phar::canWrite().
>> 1) file_put_contents('phar:///path/to/archive.phar/index.php', 'file
>> contents');
>> 2) $phar = new Phar('/path/to/archive.phar');
>> $phar->buildFromIterator(new DirectoryIterator('/some/path'),
>> '/some/path');
>> 3) $phar = new Phar('/path/to/archive.phar'); $phar['index.php'] =
>> file_get_contents('/some/path/index.php');
> I don't know about you, but the common way I work with archives is to
> build a directory structure and just shove it into an archive wholesale
> - although the second option allows this - it's very verbose! Any
> chance of a $phar = new Phar('/path/to/phar', '/path/to/archive');
> option for the lazy? Or even a shortcut static
> Phar::create('/path/to/phar', '/path/to/archive') - and no I don't want
> to have to do an iterator too unless I'm worried about filtering what's
> going in, extra steps are usually not a good thing. the option to have
> it is good, the choice to force it is not.
We liked the Phar::buildFromIterator() approach a lot :-)
Best regards,
Marcus
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php