brokerexchange/gloadals

加载简单的全局变量

v1.0.4 2018-10-25 15:03 UTC

This package is not auto-updated.

Last update: 2024-09-20 20:16:08 UTC


README

使用 "ini" 文件将简单的变量加载到 PHP 全局作用域中。

这意味着安装和使用的速度将会很快。

目前,可用的变量类型包括:单层数组(关联和数字)和标量。

显然,在将任何变量加载到全局作用域时,应特别注意,如果可能的话,请勿使用全局变量!请小心,不要覆盖其他全局变量。你已经得到了警告,你将自行承担使用此代码的风险。

许可证

本项目根据 MIT 许可证条款授权。有关更多信息,请参阅包含的 "License.txt" 文件。

用法

为了演示目的,ini 文件应命名为:'.gload.ini',但如果你愿意,可以使用不同的文件名。

1 - 通过 composer 安装包并要求自动加载

composer require brokerexchange/gloadals 

2 - 要求 composer 自动加载

require_once(<PATH_TO_VENDOR_DIRECTORY> . '/vendor/autoload.php' );

3 - 选项 (a) - 设置 ini 文件 ('.gload.ini')

;simple (one level deep maximum)
associative_array1[associative_index1] = "test_value1"  
associative_array1[associative_index2] = test_value2  
numeric_array1[] = "test_value3"  
scalar = test_value4

;multidimensional (when using ini - up to two levels deep *maximum* and must be placed after all simple variables)
[multidimensional]
levelone[leveltwo] = "testing"
levelone[another_leveltwo] = "testing testing"
levelone[yet_another_leveltwo] = "testing"  

3 - 选项 (b) - 设置 php 文件 ('.gload.php')

<?php

/* Can load associative arrays many-levels deep */
$associative_array = [
    'a_name1' => 'a_value1',
    'a_name2'=> 'a_value2',
    'a_name3' => 'a_value3',
    'a_name4' => [
        'leveltwo' => [
            'levelthree' => 'a_value4'
        ]
    ]
];

$numeric_array['n_name'] = ['value1','value2','value3'];

$scalar = [
    's_name1' => 's_value1',
    's_name2' => 's_value2',
    's_name3' => 's_value3'
];

4 - 使用并加载 Gloadals 类

use BrokerExchange\Gloadals

.
.
.
 
//(a) ini
Gloadals::load( <PATH_TO_INI_FILE> . '/.gload.ini' );

//(b) php
Gloadals::load( <PATH_TO_FILE> . '/.gload.php', 'php');

5 - 使用全局变量

print_r($GLOBALS);

(a) 当通过 ini 格式加载时

    .
    .
    .
    [associative_array1] => Array
        (
            [associative_index1] => test_value1
            [associative_index2] => test_value2
        )

    [numeric_array1] => Array
        (
            [0] => test_value3
        )

    [scalar] => test_value4
            
    [multidimensional] => Array
        (
            [levelone] => Array
                (
                    [leveltwo] => testing
                    [another_leveltwo] => testing testing
                    [yet_another_leveltwo] => testing
                )

        )        
)

(b) 当通过 php 格式加载时

    [a_name1] => a_value1
    [a_name2] => a_value2
    [a_name3] => a_value3
    [a_name4] => Array
        (
            [leveltwo] => Array
                (
                    [levelthree] => a_value4
                )

        )

    [n_name] => Array
        (
            [0] => Array
                (
                    [0] => n_value1
                    [1] => n_value2
                    [2] => n_value3
                )

        )

    [s_name1] => s_value1
    [s_name2] => s_value2
    [s_name3] => s_value3