0

我被告知我必须创建一个 config.php 文件来保存所有的类。

例如,假设我有 3 个班级。

第一类:房子

第 2 类:我的汽车

第 3 类:道路

在 config.php 中,我称它们为:

$house = new house();

$mycar = new myCar();

$road = new Road();

然后我在每个页面中包含该 config.php 文件,例如 index.php。

但是现在,我想扩展类路。

我不能在那个类中包含 config.php 吗?或者在它已经包含在 config.php 中时将其他类文件包含在其中。

这是错误的课程设置方式吗?

如何在没有错误的情况下扩展类。

我必须每次都创建一个新对象吗?

例子:

而不是包括一个 config.php 我会这样做:

/**
 * Index.php
 **/
include("class/house.class.php");

$class = new House();

echo $class->echoMe("hey");

在每个文件中我都会做同样的事情,通过创建新对象,所以我可以在需要时扩展一些特定的类?

4

2 回答 2

2
function autoload($class) {
    if (is_file($file = 'www/content/includes/class/'.$class.'.php')) {
        require_once($file);
    }
}

spl_autoload_register('autoload');

在 config.php 文件中包含以下代码。确保在要加载类的每个文件中都包含配置文件。

确保该文件与您调用的类同名。举个例子

$house = new House();

将要求类文件名是 House.php

开始每个类文件

<?
    class House {

        function something() {

        }

    }
于 2013-05-02T12:16:07.187 回答
1

您可以使用spl_autoload_register()基本上,您创建一个函数,每次调用 PHP 以前没有遇到过的类时都会调用该函数。

/**
* config.php
*/
function classAutoLoad($class) {
    if (file_exists("class/$class.class.php"))
        include("class/$class.class.php");
}

spl_autoload_register('classAutoload');

/**
* someFile.php
*/
reauire_once('config.php');
$house = new House();
于 2013-05-02T12:19:15.043 回答