长话短说,我有一些工作代码,现在却没有,而且因为它,我非常接近将一把刀插入我的气管。
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,即使我愿意去理解任何回复。
答案 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以缓解此类问题可能是一个好主意。