我被告知必须创建一个包含所有类的config.php文件。
例如,假设我有3个班级。
第1课:众议院
第2课: myCar
第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");
在每个文件中我都会通过创建新对象来做同样的事情,那么我可以在需要时扩展一些特定的类吗?
答案 0 :(得分: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() {
}
}
答案 1 :(得分: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();