Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Вот зачем нужно: http://habrahabr.ru/blogs/symfony/118011/ Ну или: http://silex-project.org/installation
аналог JAR в Java
В статье действительно очень хорошо описано как распаковывать и запаковывать
$phar->setStub('<?php
Phar::mapPhar("Lagger");
function autoloadLaggerByDir($class) {
if(strpos($class, "Lagger_") === 0) {
require_once("phar://" . str_replace("_", DIRECTORY_SEPARATOR, $class) . ".php");
}
}
spl_autoload_register("autoloadLaggerByDir");
__HALT_COMPILER();
');Было бы здорово включить в статью элементарное объяснение зачем это нужно. Кроме очевидного «один файл вместо кучи»
Phar::ConvertToData(), который принимает три параметра: формат (Phar::TAR, Phar::ZIP), сжатие (Phar::NONE, Phar::GZ, Phar::BZ2) и расширение (.tar, .tar.bz2, .tar.gz, .zip).Вот это обстоятельство вызывает мои наибольшие опасения. Формат JAR, по крайней мере, всегда был переименованным ZIPом, так что от него было ясно, чего ждать. А тут получается, что пакет PHAR может даже иметь расширение .zip, но при этом внутренний формат сжатия — gzip
Phar::isCompressed ( void )
Замечание: This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown.
Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on). Zip-based phar archives cannot be compressed as a file, and so this method will always return FALSE if a zip-based archive is queried. include_once(‘some_archive.phar’);
.phar — исполняемые PHP-архивы