Php 框架上下文中的名称空间

Php 框架上下文中的名称空间,php,frameworks,namespaces,Php,Frameworks,Namespaces,强制用户在框架上下文中使用名称空间是一种好的做法还是可能的做法? 我正在开发一个框架(是的,我知道,因为已经构建了那些很棒的框架,所以没有必要使用它;所以没有必要指出我是在无缘无故地重新发明轮子;这只是为了我自己;我需要能够构建一个与我自己和平相处的框架;),我想知道是否强迫用户使用类似以下的东西: $post = new Model\Post($id); // for models $html = new Library\Html(); // for library classes $ajax

强制用户在框架上下文中使用名称空间是一种好的做法还是可能的做法? 我正在开发一个框架(是的,我知道,因为已经构建了那些很棒的框架,所以没有必要使用它;所以没有必要指出我是在无缘无故地重新发明轮子;这只是为了我自己;我需要能够构建一个与我自己和平相处的框架;),我想知道是否强迫用户使用类似以下的东西:

$post = new Model\Post($id); // for models
$html = new Library\Html(); // for library classes
$ajax = new Helper\Ajax(); // for helpers
# ... and so on
可以接受。我需要它能够使用自动加载功能,并通过类的名称空间自动检入正确的类文件夹(model/、library/、helper/…等等)

或者我应该使用一个泛型的
$this
引用父控制器类并加载如下内容:

$post = $this->model('Post');
$html = $this->library('Html');
$ajax = $this->helper('Ajax');

如果是后者,我应该如何管理可以发送给该类构造函数的参数

使用名称空间。PHP 5.2不再受到积极支持,5.3版本被认为是稳定的。除非您试图支持遗留系统,否则不要使用旧方法编写新代码


名称空间是绝对推荐的,可以帮助解决很多问题,包括您提到的关于自动加载类的问题。

首先,名称空间是用反斜杠分隔的\n不是正斜杠/@DmitriSnytkine我发誓我知道,但感谢您指出这一点。我有点睡着了。