Zugriff auf Klassenvariablen

Es ist das erste mal, dass ich OOP mit PHP 5.. also das ist mein problem..

Ich habe eine Datei disp.php enthält eine Klasse mit dem Namen class disp (Modell in MVC)

<?php
class disp{
public $n_pages;
public $current_page;
private $cmd2;

/***************SQL command generator*******************/
private function getCmd2($cmd1,$id,$first_entry,$perpage,$tri){
    $cmd2=str_replace('COUNT(*)','*',$cmd1);
    $cmd2=$cmd2.' ORDER BY '.$id.' '.$tri.' LIMIT '.$first_entry.','.$perpage;
    return $cmd2;
}


/********************Items display******************/
function dispItems($cmd1,$id,$perpage,$tri){
  require('global/connection.inc.php');
  try{

     foreach($pdo->query($cmd1)as $r){
       $n_pages=ceil($r[0]/$perpage);
           if (isset ($_GET['pg'])){
          $current_page=intval($_GET['pg']);
               if ($current_page>$n_pages){
                    $current_page=$n_pages;
               }
               if ($current_page<=0){
                   $current_page=1;
               }
           }
           else{
           $current_page=1;
           $_GET['pg']=1;
           }
    }


    $i=1;
    $first_entry=($current_page-1)*$perpage;

    $objet=new disp();
     $cmd2=$objet->getCmd2($cmd1,$id,$first_entry,$perpage,$tri);

    $data=array();
    $i=0;
    foreach($pdo->query($cmd2) as $r){
    $data[$i]=$r;
    $i++;
    }

  return $data;
  }catch(PDOException $e){}
}
}

dies ist die Datei news.php (controller in MVC):

require MODELS_DIR.'disp.php';
$objet=new disp();
$news=$objet->dispItems('SELECT COUNT(*) FROM tbl_nouveautes','ID_EVENT',10,'DESC');

$c_page=$objet->$current_page;
$n_pages= $objet->$n_pages;


require VIEWS_DIR.'disp-news.php';

in diesem code erstellt ein Objekt (objet) der Typ disp... ich möchte die Verwendung der deklarierten Variablen in der Funktion dispItems, ($n_pages und $current_page) in der Ansicht (disp-news.php)

also ich denke, dass die Klassen-Variablen werden die gleichen Variablen in der Funktion dispItems()... aber wenn man versucht auf Sie zuzugreifen aus dem controller ...mit dem Objekt. es zeigt mir einen Fehler :

Finden Sie unter:

Notice: Undefined variable: n_pages in C:\Program Files\EasyPHP-5.3.6.1\www\example\admin\global\news.php on line 14

Fatal error: Cannot access empty property in C:\Program Files\EasyPHP-5.3.6.1\www\example\admin\global\news.php on line 14

Trotz $n_pages und $current_pages als öffentlich in der Klasse disp

danke im Voraus

InformationsquelleAutor SmootQ | 2011-08-21

Schreibe einen Kommentar