xref: /PHP-7.4/ext/phar/phar/phar.php (revision 58b17906)
1#!/usr/local/bin/php
2<?php
3
4/** @file phar.php
5 * @ingroup Phar
6 * @brief class CLICommand
7 * @author  Marcus Boerger
8 * @date    2007 - 2008
9 *
10 * Phar Command
11 */
12
13if (!extension_loaded('phar'))
14{
15    if (!class_exists('PHP_Archive', 0)) {
16        echo "Neither Extension Phar nor class PHP_Archive are available.\n";
17        exit(1);
18    }
19    if (!in_array('phar', stream_get_wrappers())) {
20        stream_wrapper_register('phar', 'PHP_Archive');
21    }
22    if (!class_exists('Phar',0)) {
23        require 'phar://'.__FILE__.'/phar.inc';
24    }
25}
26
27foreach(array("SPL", "Reflection") as $ext)
28{
29    if (!extension_loaded($ext)) {
30        echo "$argv[0] requires PHP extension $ext.\n";
31        exit(1);
32    }
33}
34
35function command_include($file)
36{
37    $file = 'phar://' . __FILE__ . '/' . $file;
38    if (file_exists($file)) {
39        include($file);
40    }
41}
42
43function command_autoload($classname)
44{
45    command_include(strtolower($classname) . '.inc');
46}
47
48Phar::mapPhar();
49
50spl_autoload_register('command_autoload');
51
52new PharCommand($argc, $argv);
53
54__HALT_COMPILER();
55
56?>
57