存储PHP OOP类

时间:2013-02-13 01:03:42

标签: php namespaces directory-structure

我有一个使用库文件lib.client.php的站点,该文件存储在我的标准网站根目录的php文件夹中,并包含我已经构建的一系列类。

库文件包含大约5个左右的类,我应该将此文件保留为一个还是将这些类分解为自己的文件并将它们全部包含在内?我应该为这些文件使用哪种最佳实践命名约定?

(正如你所看到的那样,我正在使用lib。我也使用inc。 - 只是因为我之前已经看过它几次了。)

更新:

我正在改造我的结构以符合PSR-0标准。我现在有:

  • CCall(供应商)
    • 核心
      • 连接
        • Gateway.php
        • GatewayDSN.php
        • GatewayException.php
    • 组件
      • Environment.php
      • EnvironmentRequest.php
      • Centre.php
      • 访问
        • user.php的
        • UserSession.php
      • RenderException.php

我想在index.php中创建new Environment(),其__construct方法调用Gateway::checkInstance()

  1. 如何管理此模型中的命名空间使用?什么会有自己的命名空间,我在哪里定义它?
  2. 我如何使用带有这些命名空间定义的自动加载(以及在哪里?)
  3. 是否有方法和属性命名的等效标准?
  4. 我正在使用此https://gist.github.com/jwage/221634/download#

2 个答案:

答案 0 :(得分:0)

将类分解为自己的文件,并遵循PSR-0标准作为最佳实践。 http://phpmaster.com/autoloading-and-the-psr-0-standard/

答案 1 :(得分:0)

如果您使用的是PSR-0自动加载:

在Environment.php

中添加
namespace Components;

并添加对Gateway的引用

use Core\Connection\Gateway;

当然你需要在Gateway.php中使用这一行

namespace Core\Connection;

然后:

new Components\Environment();