I have a simple script that includes:
- abstract class
- regular class
- and an indes page
for some reason I get this error:
( ! ) Fatal error: Uncaught Error: Class 'Products' not found in
D:\xampp\htdocs\ds2\classes\GetAllProducts.php on line 4
( ! ) Error: Class 'Products' not found in D:\xampp\htdocs\ds2\classes\GetAllProducts.php on line 4
Call Stack
# Time Memory Function Location
1 0.4119 410648 {main}( ) ...\index.php:0
2 0.4129 414904 include_once( 'D:\xampp\htdocs\ds2\classes\GetAllProducts.php' ) ...\index.php:3
index.php
include_once 'abstract/Products.php';
include_once 'classes/GetAllProducts.php';
$customer = new GetAllProducts();
$customer->allData();
abstract/Products.php
<?
abstract class Products {
public $data = array(
array(
'id' => 1,
'title' => 'title 1',
'desc' => 'desc 1'
),
array(
'id' => 2,
'title' => 'title 2',
'desc' => 'desc 2'
),
array(
'id' => 3,
'title' => 'title 3',
'desc' => 'desc 3'
)
);
}
classes/GetAllProducts.php
<?php
class GetAllProducts extends Products {
public function allData() {
$this->data;
foreach($this->data as $product){
echo '
<article id="product-'.$product['id'].'" class="product">
<h2 product__title="">'.$product['id'].'</h2>
<picture product__image="'.$product['title'].'">
<source media="(min-width:768px)" srcset="https://picsum.photos/200/300">
<img src="https://picsum.photos/200" alt="Flowers" style="width:auto;">
</picture>
<button class="product__button" role="button">לצפיה במוצר</button>
</article>';
}
}
}
CodePudding user response:
You have to include the abstract class into the GetAllProducts.php
file because you are using the abstract class in that file, not in index.php
.
<?php
include_once 'abstract/Products.php';
class GetAllProducts extends Products {}
CodePudding user response:
What solved the issue was that abstract/Products.php
file began with <?
and not <?php