Phar->commitとは? わかりやすく解説

Weblio 辞書 > コンピュータ > PHP関数リファレンス > Phar->commitの意味・解説 

Phar->commit

(No version information available, might be only in CVS)
Phar->commit — Phar の変更トランザクションを終了し、Phar アーカイブをディスクに書き込む

説明

void Phar->commit ( void )
技術的には必須ではありませんが、begin() メソッドを使用すると、大量のファイルを含む Phar アーカイブの作成や変更が非常に高速になります。 通常は、Phar アーカイブ内のファイルが作成あるいは変更されるたびに Phar アーカイブ全体を改めて作り直します。 これによって、アーカイブが常に最新の状態となります。
しかし、単に新しい Phar アーカイブを作りたいときや アーカイブ全体を一度に書き出したいときなどは、これは不要です。 同様に、いくつかの変更を行うときに、 すべての変更がうまくいったことを確認してから実際にディスクに書き込みたい ということもあるでしょう。 これは、ちょうどデータベースのトランザクションの概念と同じようなものです。 begin()/commit() の両メソッドが、このような場合のために用意されています。
Phar のトランザクションは、アーカイブ単位で管理されます。 Phar アーカイブ foo.phar 上のトランザクションが、Phar アーカイブ bar.phar に影響をおよぼすことはありません。

エラー / 例外

変更をディスクに書き出す際に何らかの問題が発生した場合は PharException がスローされます。

例 1693. Phar->commit() の例

<?php
$p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
$p['file1.txt'] = 'hi';
$p->commit();
var_dump($p->getStub());
$p->setStub("<?php
function __autoload(\$class)
{
   include 'phar://' . str_replace('_', '/', \$class);
}
Phar::mapPhar('brandnewphar.phar');
include 'phar://brandnewphar.phar/startup.php';
__HALT_COMPILER();");
$p->commit();
var_dump($p->getStub());
?>
上の例の出力は以下となります。

string(24) "<?php __HALT_COMPILER();"
string(195) "<?php
function __autoload($class)
{
    include 'phar://' . str_replace('_', '/', $class);
}
Phar::mapPhar('brandnewphar.phar');
include 'phar://brandnewphar.phar/startup.php';
__HALT_COMPILER();"

    


参考

Phar->begin()



このページでは「PHP関数リファレンス」からPhar->commitを検索した結果を表示しています。
Weblioに収録されているすべての辞書からPhar->commitを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からPhar->commitを検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Phar->commit」の関連用語

Phar->commitのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Phar->commitのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
PHP Documentation GroupPHP Documentation Group
Copyright © 1997 - 2024 by the PHP Documentation Group.

©2024 GRAS Group, Inc.RSS