我说过在我的网站上实现面向对象的设计。我正在使用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
{...
感谢任何帮助。
答案 0 :(得分:0)
您必须将所有类文件包含在一起。否则其他页面将无法理解课程所在的位置。
您可以使用namespace
概念。
http://php.net/manual/en/language.namespaces.php
但是在这里你必须包括类文件。
答案 1 :(得分:0)
是的,在PHP中,您必须在实例化之前包含所需的所有类。
避免这种情况的一种方法是使用自动加载:
http://php.net/manual/en/language.oop5.autoload.php
在大多数PHP框架(例如Zend Framework)上使用。