cms with php-OOP

2019-03-03 18:55发布

问题:

i'm watching a tutorials about CMS with OOP - PHP & RainTPL

on control page : (articles.php)

<?php
require_once('globals.php');
require_once(CONTROLLERS.'ArticlesController.php');

$articlesmodel = new ArticlesModel() ; 

$catsmodel     = new ArticlesCatsModel();

$controller    = new ArticlesController($articlesmodel,$catsmodel);

$controller->show();

?>

globals.php:

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

define('ROOT',dirname(__FILE__));
define('INC',ROOT.'/includes/');
define('CORE',INC.'/core/');
define('MODELS',INC.'/models/');
define('CONTROLLERS',INC.'/controllers/');
define('LIBS',INC.'/libs/');

/*
core files
*/
require_once(CORE.'config.php');
require_once(CORE.'mysql.class.php');
require_once(CORE.'raintpl.class.php');
require_once(CORE.'system.php');

System::Store('db',new mysql());
System::Store('tpl',new RainTPL()); //class RainTPL
?>

ArticlesController.php

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);


require_once(MODELS.'ArticlesModel.php');
require_once(MODELS.'ArticlesCatsModel.php');


class ArticlesController
{

    private $articlesModel; //Articles Model Object
    private $articlesCatsModel; //Articles Cat Model Object
                               //object of ArticlesModel class
    public function __construct(ArticlesModel $articlesmodel,ArticlesCatsModel $catsmodel)
    {

        $this->articlesModel     = $articlesmodel ;
        $this->articlesCatsModel = $catsmodel ; 
    }


    public function Show()
    {
        // array of articles from model :D 
        /*
           he takes object from Articlesmodel.php
           like private articles model 
           then he  call the Get function 
           from  ArticlesModel Class 
        */

        $articles = $this->articlesModel->Get();
        $cats     = $this->articlesCatsModel->Get();


        //put them inside the template after getting them
        System::Get('tpl')->assign('articles',$articles)    ;   
        System::Get('tpl')->assign('cats',$cats)    ;   

        // show them in the templatee

        System::Get('tpl')->draw('blog');
    }

}

Blog Where articles should be shown

but there's no problem in Blog

the problem i think because the result is blank array doesn't contain the information from Database

The ArticlesCatsModel

ArticlesCatsModel includes/model

[The ArticleModel][3]

[3]: http://pastebin.com/z2dzcBVc it returns blank array i think even there are rows in DB