找不到课 - 在结束时

时间:2014-03-09 13:21:25

标签: php class

长话短说,我有一些工作代码,现在却没有,而且因为它,我非常接近将一把刀插入我的气管。

PHP中最简单的事情我知道,包括一个包含一个类以供以后OOP使用的页面。

以下是相关代码:

<?php 
session_start();
include_once 'backend/shapecollectionclass.php';

//POST name and colour
$name = $_POST["name"];
$colour = $_POST["colour"];

/ * ** * SQUARE * ** * ** /

switch($shapename)
{
case "square":{
$side=$_POST["side"]; 
$sq1 = new Square("Square", $colour, $side);
$shapes->app($sq1);}

?>

在目录中,上面代码退出的文件是文件后端,它包含文件shapecollectionclass.php,其中包含另一个文件中的Shape类,在另一个文件中由Square扩展。

* shapecollectionclass.php * ** * *

<?phpinclude_once 'shapeclass.php';?>

* shapeclass.php **

<?php
abstract class Shape
etc...
?>

* squareclass.php * *

<?php
class Square extends Shape
etc...?>

我知道这个问题的格式不合理/合理。我只是不知道该怎么做。代码有效。我不记得触摸它,现在它没有,并且现在甚至没有在任何地方修改的旧版本甚至都不起作用。

在我放弃这项任务之前,必须至少尝试使用stackoverflow,即使我愿意去理解任何回复。

1 个答案:

答案 0 :(得分:0)

你的问题不是很清楚,所以我做了最好的猜测。

您需要在某处包含squareclass.php,最有可能在shapecollectionclass.php。目前你没有在任何地方加class Square因此我没有定义,如果我正确理解你的问题。您的文件应如下所示:

<强>的index.php

<?php
session_start();
include_once 'backend/shapecollectionclass.php';

// Etc...

$square = new Square(/* ... */);

<强> shapecollectionclass.php

<?php
include_once 'squareclass.php';

<强> shapeclass.php

<?php
abstract class Shape {
    // Etc...
}

<强> squareclass.php

<?php
include_once 'shapeclass.php';

class Square extends Shape {
    // Etc...
}

目前还不清楚shapecollectionclass.php的用途是什么,因此在主文件中包含squareclass.php可能更有意义。

探索autoloading以缓解此类问题可能是一个好主意。