静态核心' class VS全局关键字

时间:2014-04-04 11:39:10

标签: php

我想尽快开设一个新网站。我真的不知道如何解释它,但我不知道应该选择什么。

我应该使用global.php,我在其中创建变量,并使用全局关键字,所以像这样:

global.php:

<?php
  $data = 'hello world';
?>

其他档案:

<?php 
global $data;
echo $data;
?>

或者我使用静态核心类:

core.php中:

<?php

class Core
{
  public static $data;

  public static function init()
  {
    $data = 'hello world';
  }
}

?>

其他档案:

<?php
  echo Core::$data;
?>

因为我被告知试图避免全球化,但我听到一些人我的'静态方法'被称为Singleton,它也不是很好。我不明白为什么不这样,有人可以给我解释一下吗?

1 个答案:

答案 0 :(得分:0)

这个问题有点开放,基于意见,但现在就开始了。

我会通过在你的类中制作不同的常量来解决这个问题。像这样:

class MyClass
{
    const MYCONSTANT = 'constant value';

    function showConstant() {
        echo  self::MYCONSTANT. "\n";
    }
}

您可以在这里定义sql-passwords,site-url等。所需的全局变量数量应该受到限制,因为您网站上的大多数元素都不依赖于它们。标题,内容,数据等将从视图变为视图,因此不应以任何方式成为全局变量。