0

我试图弄清楚如何在 php.ini 中使用命名空间。我一直在阅读有关如何使用它的信息,但由于某种原因我无法让它工作。我有两个文件,一个存储在Applications/Database/Classes文件名中,另一个在文件内部DatabaseConnection.php调用的根目录中,我有以下代码:DB.phpDatabaseConnection.php

<?php
    function hello()
    {
        echo "hello";
    }
?>

这是 DB.php 文件内容:

<?php
namespace Applications\Database\Classes;
ini_set('display_errors', true);
hello();
?>

也许我完全错过了如何正确使用它,但是如果我设置一个命名空间与 using includeor相同require吗?我可能完全误解了如何使用它。我是 OOP 新手,在开始尝试学习 OOP 之前从未听说过命名空间?有人可以指出我做错了什么。

4

2 回答 2

1

命名空间用于组织代码,以便您可以划分组件并帮助提高可读性。例如,如果我有一个类Pittbull和另一个类,Dashund我可以将它们放入一个命名空间中,如下所示:

Animals.Dogs.Pittbull
Animals.Dogs.Dashund

这也有助于解决潜在的冲突,如下所示:

Animals.Dogs.Misc
Animals.Cats.Misc

该类Misc在此实例中存在两次,但不会出现Misc使用哪个冲突,您可以为两个类使用相同的类名(并且在它们内部具有不同的属性和方法),而不是与哪个类发生冲突想用。

关键字是一个完全不同的require概念,用于将实际文件加载到执行脚本中。

于 2013-09-21T19:46:59.177 回答
0

说明如何在 PHP (PSR-0) 中使用自动加载:
https ://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md

于 2013-09-21T19:42:45.757 回答