-1
Fatal error: Using $this when not in object context in plugins/newsarticles/controller/NewsArticleController.php on line 29
Je peux voir où il est erroring, la ligne 29 est cette ligne:
$sqlFetch = $this->model->getAllNewsArticlesByDate();
Ci-dessous j'ai soumis mon code, quelqu'un peut-il jeter tout lumière à ce sujet?
<?php
require_once("plugins/newsarticles/model/NewsArticleDB.php");
class NewsArticleController
{
private $model;
public function __construct()
{
$this->model = new NewsArticleDB();
} //end constructor
/**
*Grab all the News Articles using the function
*Filter by date
*return the most recent 10
*/
function newsArticleHome()
{
//Grab the News Articles by date
$sqlFetch = $this->model->getAllNewsArticlesByDate();
foreach ($sqlFetch as $row)
{
//Insert posts into an object array
$objNewsArticle[] = new NewsArticle($row['newsId'],$row['newsTitle'], $row['newsPreview'], $row['newsDisplayPicture'], $row['newsContet']." ".$row['newsCategories'], $row['newsSubmissionDate']);
}
//Count the array incase it's less than 10 posts
//If it's more than 10, then set to 10, if it's less then set to x
if(count($objNewsArticle) > 10)
{
$tempObjectCount = 10;
}
else
{
$tempObjectCount = count($objNewsArticle);
}
//Store them in an array for output
for($tempLoopNumber = 0; $tempLoopNumber<$tempObjectCount; $tempLoopNumber++)
{
$recentNewsArticles[$tempLoopNumber] = $objNewsArticle[$tempLoopNumber];
}
return $recentNewsArticles;
}
function newsArticleId($id)
{
//Grab the Posts by date
$sqlFetch = $this->model->getAllNewsArticlesByDate();
$tempOptions = $sqlFetch->fetchAll();
$tempOpNumber = count($tempOptions);
for($tempNewsArticleNumber = 0; $tempNewsArticleNumber<$tempOpNumber; $tempNewsArticleNumber++)
{
if($tempOptions[$tempNewsArticleNumber]['newsId'] == $id)
{
$singlePost = $tempOptions[$tempNewsArticleNumber];
}
}
return $singlePost;
}
} //end class
?>
Je fais appel depuis un autre fichier nommé testing
:
include_once("plugins/newsarticles/controller/NewsArticleController.php");
echo "out";
echo NewsArticleController::newsArticleHome();
Comment appelez-vous * cette fonction? –
Oh désolé lol, j'aurais probablement dû ajouter cela. C'est dans un autre fichier nommé testing Ci-dessous se trouvent les autres fichiers contenus complets include_once ("plugins/newsarticles/controller/NewsArticleController.php"); echo "out"; echo NewsArticleController :: newsArticleHome(); –
voilà. vous l'appelez comme une méthode statique. les méthodes statiques n'ont pas de '$ this'. vous ne pouvez utiliser que les appels de type '$ obj-> method()' si vous voulez utiliser '$ this'. –