PHP.mk документација

Phar::webPhar

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

phar.webphar.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека phar.webphar.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
Phar::webPhar

Референца за `phar.webphar.php` со подобрена типографија и навигација.

phar.webphar.php

Phar::webPhar

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

Phar::webPharРутира барање од веб-прелистувач до внатрешна датотека во архивата phar

= NULL

final public static function Phar::webPhar(
         ?string $alias = null,
         ?string $index = null,
         ?string $fileNotFoundScript = null,
         array $mimeTypes = [],
         ?callable $rewrite = null
): void

се добри места за почеток исто така. Ако дистрибуирате веб-базирана апликација, клучно е да знаете за служи како Phar::loadPhar може да се користи насекаде за вчитување на надворешна Phar архива, додека Phar::mapPhar треба да се користи во stub за вчитувач за Phar. за phar-и базирани на веб. Овој метод парсира $_SERVER['REQUEST_URI'] и рутира барање од веб-прелистувач до внатрешна датотека во архивата phar. Симулира веб-сервер, рутирајќи барања до правилната датотека, испишувајќи ги правилните заглавја и парсирајќи PHP датотеки по потреба. Во комбинација со и поврзаниот метод and Овој метод обезбедува едноставен и лесен начин за креирање шаблон што ќе изврши почетна датотека од phar архивата. Дополнително, може да се наведат различни датотеки за извршување на phar архивата од командната линија наспроти преку веб-сервер. Шаблонот за лоадер исто така повикува, секоја веб-апликација може да се користи непроменета од phar архива.

се добри места за почеток исто така. Ако дистрибуирате веб-базирана апликација, клучно е да знаете за треба да се повикува само од приклучокот на phar архива (види here за повеќе информации за тоа што е приклучок).

Параметри

alias

Алијасот што може да се користи во phar:// URL-и за упатување на оваа архива, наместо нејзината целосна патека.

index

Локацијата во рамките на phar на индексната директориум.

fileNotFoundScript

Локацијата на скриптата што треба да се изврши кога датотеката не е пронајдена. Оваа скрипта треба да ги прикаже правилните 404 HTTP заглавја.

mimeTypes

Низа што мапира дополнителни екстензии на датотеки до MIME тип. Ако стандардното мапирање е доволно, поминете празна низа. Стандардно, овие екстензии се мапираат на овие MIME типови:

<?php
$mimes
= array(
'phps' => Phar::PHPS, // pass to highlight_file()
'c' => 'text/plain',
'cc' => 'text/plain',
'cpp' => 'text/plain',
'c++' => 'text/plain',
'dtd' => 'text/plain',
'h' => 'text/plain',
'log' => 'text/plain',
'rng' => 'text/plain',
'txt' => 'text/plain',
'xsd' => 'text/plain',
'php' => Phar::PHP, // parse as PHP
'inc' => Phar::PHP, // parse as PHP
'avi' => 'video/avi',
'bmp' => 'image/bmp',
'css' => 'text/css',
'gif' => 'image/gif',
'htm' => 'text/html',
'html' => 'text/html',
'htmls' => 'text/html',
'ico' => 'image/x-ico',
'jpe' => 'image/jpeg',
'jpg' => 'image/jpeg',
'jpeg' => 'image/jpeg',
'js' => 'application/x-javascript',
'midi' => 'audio/midi',
'mid' => 'audio/midi',
'mod' => 'audio/mod',
'mov' => 'movie/quicktime',
'mp3' => 'audio/mp3',
'mpg' => 'video/mpeg',
'mpeg' => 'video/mpeg',
'pdf' => 'application/pdf',
'png' => 'image/png',
'swf' => 'application/shockwave-flash',
'tif' => 'image/tiff',
'tiff' => 'image/tiff',
'wav' => 'audio/wav',
'xbm' => 'image/xbm',
'xml' => 'text/xml',
);
?>
rewrite

Функцијата за препишување добива низа како свој единствен параметар и мора да врати string or false.

Ако користите fast-cgi или cgi тогаш параметарот што се поминува на функцијата е вредноста на $_SERVER['PATH_INFO'] променливата. Инаку, параметарот што се поминува на функцијата е вредноста на $_SERVER['REQUEST_URI'] variable.

Ако се врати низа, таа се користи како внатрешна патека на датотеката. Ако false се врати, webPhar() ќе испрати HTTP 403 Забранет код.

Вратени вредности

Не се враќа вредност.

Errors/Exceptions

). Ако повикот не успее, ќе врати PharException кога не може да се отвори внатрешниот датотека за излез, или ако е повикан од не-стаб. Ако се помине невалидна вредност на низата во mimeTypes или ако се помине невалиден повик во rewriteСодржи какви било информации за патеката обезбедени од клиентот што следат по името на датотеката на тековната скрипта, но предничат на низата за прашање, ако е достапно. На пример, ако тековната скрипта беше пристапена преку URI UnexpectedValueException се фрла.

Дневник на промени

Верзија = NULL
8.0.0 fileNotFoundScript and rewrite се сега null.

Примери

ако е овозможен колекторот за отпадоци, се добри места за почеток исто така. Ако дистрибуирате веб-базирана апликација, клучно е да знаете за example

Со примерот подолу, креираната phar ќе прикаже Hello World ако некој прелистува до /myphar.phar/index.php или на /myphar.phar, и ќе го прикаже изворот на index.phps ако некој прелистува до /myphar.phar/index.phps.

<?php
// creating the phar archive:
try {
$phar = new Phar('myphar.phar');
$phar['index.php'] = '<?php echo "Hello World"; ?>';
$phar['index.phps'] = '<?php echo "Hello World"; ?>';
$phar->setStub('<?php
Phar::webPhar();
__HALT_COMPILER(); ?>'
);
} catch (
Exception $e) {
// handle error here
}
?>

Белешки од корисници 1 белешка

hu60 dot cn на gmail точка com
пред 13 години
It seems that calling Phar::webPhar() from inside a function is a bad idea.  Doing so will cause global variables in included files to not be global.  For instance, do NOT try this:

<?php
$phar = new Phar('test.phar.php');
$phar['test.php'] = '<?php
$FOO = "globals work";
function test() {
  global $FOO;
  echo "test: $FOO\n";
}
test();
?>';
$phar->setStub('<?php
function _bootstrap() {
Phar::webPhar();
}
_bootstrap();
__HALT_COMPILER(); ?>');
?>

The output will be "test:", not "test: globals work".
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.