變量中類,我有一些文件test.php的如何包含在PHP
<?PHP
$config_key_security = "test";
?>
和我有一些類
test5.php
include test.php
class test1 {
function test2 {
echo $config_key_security;
}
}
變量中類,我有一些文件test.php的如何包含在PHP
<?PHP
$config_key_security = "test";
?>
和我有一些類
test5.php
include test.php
class test1 {
function test2 {
echo $config_key_security;
}
}
class test1 {
function test2 {
global $config_key_security;
echo $config_key_security;
}
}
或
class test1 {
function test2 {
echo $GLOBALS['config_key_security'];
}
}
讓你的類依賴全局變量並不是最好的實踐 - 你應該考慮把它傳遞給構造函數。
另一種選擇是在test2方法中包含test.php。這將使變量的作用域爲本地函數。
class test1 {
function test2 {
include('test.php');
echo $config_key_security;
}
}
儘管如此,仍然不是一個好的做法。
使用__construct()方法。
include test.php;
$obj = new test1($config_key_security);
$obj->test2();
class test1
{
function __construct($config_key_security) {
$this->config_key_security = $config_key_security;
}
function test2() {
echo $this->config_key_security;
}
}
讓你的配置文件創建一個配置項目數組。然後在你的類的構造函數中包含該文件,並將其值作爲成員變量保存。這樣,所有的配置設置都可用於課程。
test.php的:
<?
$config["config_key_security"] = "test";
$config["other_config_key"] = true;
...
?>
test5.php:
<?
class test1 {
private $config;
function __construct() {
include("test.php");
$this->config = $config;
}
public function test2{
echo $this->config["config_key_security"];
}
}
?>
這應該是選擇的答案 – lloop 2017-10-04 16:57:35
我喜歡做的方式是這樣的:
在test.php的
define('CONFIG_KEY_SECURITY', 'test');
然後:
在test5.php
include test.php
class test1 {
function test2 {
echo CONFIG_KEY_SECURITY;
}
}
你可以使用$ GLOBALS變量數組,並把你的全局變量元素吧。
例如: 文件:configs.php
<?PHP
$GLOBALS['config_key_security'] => "test";
?>
文件:MyClass.php
<?php
require_once 'configs.php';
class MyClass {
function test() {
echo $GLOBALS['config_key_security'];
}
}
只要它不被濫用,這是一個非常有用的方法允許類的運行時配置。它還允許您通過拉出函數的「模板」部分並將其放入包含中來將程序邏輯與演示分開。 – 2009-04-28 12:08:29