小编mku*_*gla的帖子

如何在执行的phar中获取phar归档元数据?

我已经将PHP应用程序打包成可执行的Phar存档,并且在一个Class内部有一个方法,该方法应该访问已执行的Phar archive元数据.

我可以获得如下所示的元数据,但是为了获得它的元数据,我PharPhar archive执行中加载相同的内容似乎很奇怪.

那么,有没有正确的路怎么走执行的Phar的元数据?也许读它并在Phar的Stub里面定义一些东西.

<?php
namespace MyPhar;
use \Phar;

class InsideThePhar {
    public function getPharMetaData() {
        $phar_self = new Phar(Phar::running(false));
        $metadata = $phar_self->getMetadata();
        var_dump($metadata);
        exit();
    }
}
Run Code Online (Sandbox Code Playgroud)

php metadata phar

6
推荐指数
1
解决办法
177
查看次数

如何检查数组键是否存在于已定义的常量数组中[PHP 7 define()]

PHP7带来了使用define()定义数组常量的可能性.在PHP 5.6中,它们只能用const定义.

所以我可以define( string $name , mixed $value ))用来设置常量数组,但它似乎忘了带来升级,defined ( mixed $name )因为它仍然只接受string价值或我错过了什么?

PHP v: < 7我不得不分别定义每个动物define('ANIMAL_DOG', 'black');,define('ANIMAL_CAT', 'white');等,或序列化我的动物园.

PHP v: >= 7我可以定义整个动物园,这是令人敬畏的,但我在动物园找不到我的动物,因为我可以找到单一的动物.这在现实世界中是合理的,但如果我没有遗漏某些内容,这里是补充问题.

这是故意定义的(); 不接受数组?如果我定义我的动物园......

define('ANIMALS', array(
    'dog' => 'black',
    'cat' => 'white',
    'bird' => 'brown'
));
Run Code Online (Sandbox Code Playgroud)

......为什么我不能简单地找到我的狗defined('ANIMALS' => 'dog');

1.始终打印:The dog was not found

print (defined('ANIMALS[dog]')) ? "1. Go for a walk with the dog\n" : "1. …
Run Code Online (Sandbox Code Playgroud)

php arrays constants defined php-7

4
推荐指数
1
解决办法
2160
查看次数

标签 统计

php ×2

arrays ×1

constants ×1

defined ×1

metadata ×1

phar ×1

php-7 ×1