0

我说过在我的网站中实现面向对象的设计。我正在使用php,遇到了一个问题。

按照我的倾向,我喜欢为每个文件定义一个类——仅此而已。通常,如果我没记错的话,在大多数语言中,如果类位于同一目录中,则可以调用它们,而不必显式链接到主程序(我可能是错的,或者是虚拟机独有的)。

现在,当我没有将类文件链接到主文件时,php 会发送错误。最重要的是,除非我定义到父类文件的链接,否则子类将不会执行。

我是否必须明确地将我的所有文件链接在一起?

以下是我的一些代码片段的详细信息:

<?php 



include_once 'VRC_Header2.php';
include_once 'UserService.php'; //Child class file of DB_MySQL.php
include_once 'DB_MySQL.php'; //Parent class
    //Without the two links above, this file will not execute

然后是子类:

class UserService extends DB_MySQL

{...

任何帮助表示赞赏。

4

2 回答 2

0

您必须将所有类文件相互包含。否则其他页面将无法理解该类的存在位置。

你可以使用namespace概念。

http://php.net/manual/en/language.namespaces.php

但是在这你必须包含类文件。

于 2012-09-22T06:05:20.597 回答
0

是的,在 PHP 中,您必须在实例化它们之前包含所有需要的类。

避免这种情况的一种方法是使用自动加载:

http://php.net/manual/en/language.oop5.autoload.php

它用于大多数 PHP 框架(例如 Zend 框架)。

于 2012-09-22T06:07:41.950 回答