Sim Posted June 7, 2020 Posted June 7, 2020 So: here's the two class files: <?php interface Item_Types { public function __construct($data = array()); public function getID(); public function getValue(); public function getName(); public function getPrice(); //return results or msg or whatevee you like, if type different from weapon, armour. public function useIT(); } ?> <?php class Weapon implements Item_Types{ public $desc = "Increases attack power"; public $itemType = "Weapon"; public $itemID = null; public $name = null; public $value = 0; public $price = 0; public $data = array(); //pass any data needed for item type to be used. public function __construct($data = array()) { $this->data = $data; $this->itemID = $data['id']; $this->name = $data['name']; $this->value = $data['value']; $this->price = $data['price']; } public function getID(){ return $this->itemID; } public function getValue(){ return $this->value; } public function getName(){ return $this->name; } public function getPrice(){ } //returns value. public function useIT(){ //was testing to see if could access properties global $db, $user; $user = new user(1, false); $user->set("US_money", $user->user->info->US_money + 10000); return $this->value; } } include $ItemTypesDir . "ItemTypes.interface.php"; include $ItemTypesDir . $iType["parentID"] . ".itemType.php"; Causes error: There was an error! File: /home/simmakew/public_html/GL/modules/installed/itemTypes/Types/ItemTypes.interface.php Line: 3 Error: Cannot declare interface Item_Types, because the name is already in use Type: E_RECOVERABLE_ERROR But if I do this: //include $ItemTypesDir . "ItemTypes.interface.php"; include $ItemTypesDir . $iType["parentID"] . ".itemType.php"; Comment the interface out. I get this error There was an error! File: /home/simmakew/public_html/GL/modules/installed/itemTypes/Types/Weapon.itemType.php Line: 3 Error: Interface 'Item_Types' not found Type: E_RECOVERABLE_ERROR I highly doubt that there is any variable or object named Item_Types. I changed it t to that after I received the error to see if maybe I did declare something "ItemType" before changing, but I don't use _____ in any variables classes or any other objects. This fixed the error. require_once($ItemTypesDir . "ItemTypes.interface.php"); require_once($ItemTypesDir . $iType["parentID"] . ".itemType.php"); Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.