J'ai donc une classe qui ressemble à ceci (exemple)des variables assignant à toute la classe [Best Practice?]
class Statistics extends Controller {
function __construct()
{
parent::Controller();
$data['title'] = 'Statistics';
//Locale
setlocale(LC_MONETARY, 'en_US');
date_default_timezone_set('America/Chicago');
//Require Login
$this->load->library('session');
if($this->session->userdata('affid'))
{
$this->load->view('userhead',$data);
}
else
{
header("Location: /network/login/submit");
}
}
//Index page. Show stat display options
function index()
{
$this->load->view('statoptions');
$this->load->view('footer');
}
//Stats by offer
function offer()
{
$this->load->library('statistics');
$this->_getvars();
if(!$getsort && $direction)
{
$sort = array('Stat.offer_id' => 'desc','Stat.revenue' => 'desc');
}
$stats = $this->statistics->aff_stats($affid,$startdate,$enddate,'Stat.offer_id',$sort);
$data['statdate'] = array('start' => $startdate, 'end' => $enddate);
$data['stats'] = $stats['data'];
$data['statview'] = 'offer';
$data['dir'] = 'desc';
if($direction == 'desc')
{
$data['dir'] = 'asc';
}
$this->load->view('statistics',$data);
#print_r($data['stats']);
}
//Stats by day
function daily()
{
$stats = $this->statistics->aff_stats($affid,$startdate,$enddate,'Stat.date',$sort);
$data['statdate'] = array('start' => $startdate, 'end' => $enddate);
$data['stats'] = $stats['data'];
$data['statview'] = 'daily';
$data['dir'] = 'desc';
if($direction == 'desc')
{
$data['dir'] = 'asc';
}
$this->load->view('statistics',$data);
#print_r($stats);
}
//Stats by Affiliate's SubID
function subid()
{
$stats = $this->statistics->aff_stats($affid,$startdate,$enddate,'Stat.affiliate_info1',$sort);
$data['statdate'] = array('start' => $startdate, 'end' => $enddate);
$data['stats'] = $stats['data'];
$data['statview'] = 'subid';
$data['dir'] = 'desc';
if($direction == 'desc')
{
$data['dir'] = 'asc';
}
$this->load->view('statistics',$data);
#print_r($stats);
}
}
Je les variables suivantes pour pouvoir être appelé dans toutes les fonctions au sein de ma classe .
$affid = $this->session->userdata('affid');
$startdate = preg_replace('/[^\d-]+/', '', $this->input->get_post('start'));
$enddate = preg_replace('/[^\d-]+/', '',$this->input->get_post('end'));
if(!$startdate)
{
$startdate = date("Y-m-d");
}
if(!$enddate)
{
$enddate = date("Y-m-d");
}
$getsort = htmlspecialchars($this->input->get_post('sort'),ENT_QUOTES);
$direction = htmlspecialchars($this->input->get_post('dir'),ENT_QUOTES);
if($getsort && $direction)
{
$sort[$getsort] = $direction;
}
Quelle est la meilleure pratique pour affecter des variables à l'ensemble de la classe?
C'est un contrôleur CodeIgniter par la façon dont
Pas agréable de modifier toute la question comme ça. –
@Robin Orheden, * d'accord. * Reprise de la question à sa version originale. @DevNull, si vous voulez supprimer une question, utilisez le lien 'delete' pour le faire. Bien que je ne suis pas sûr de savoir pourquoi vous devriez supprimer une question valide. –
@David Thomas: Selon son profil, il dit "Utilisateur non enregistré", je pense qu'ils ne voient pas le lien de suppression. – BoltClock