【发布时间】:2018-07-18 13:44:39
【问题描述】:
我有三个文件,foo.php、bar.php 和 baz.php,每个文件都由include接下来,如下:
foo.php
<?php
$missile_launch_codes = [
'missileA' => '...',
'missileB' => '...',
'missileC' => '...'
];
bar.php
<?php
require('foo.php');
function try_to_launch($launch_code) {
...
}
function launch_missile($missile_name) {
if (in_array($missile_name, $missile_launch_codes)) {
return try_to_launch($missile_launch_codes[$missile_name]);
} else {
return false;
}
}
baz.php
require('bar.php')
if (...) {
launch_missile(...);
}
baz.php 文件需要能够使用launch_missile(),但绝对不能访问$missile_launch_codes。我如何隔离从 foo.php 导入的 $missile_launch_codes 以防止它们落入 baz.php 之手?
【问题讨论】:
-
你听说过Object oriented Programming吗?其中,这个概念被称为
encapsulation。
标签: php dependencies dependency-management isolation