Visualizzazione dei risultati da 1 a 10 su 17

Visualizzazione discussione

  1. #6
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    56
    Grazie ragazzi, sono ancora agli inizi con i patterns e mi sono bloccato a questo punto:

    Visto che ho diversi oggetti che hanno un comportamento comune, ho pensato di fare una classe e di estenderla in questo modo. Peccato che non funziona.

    Codice PHP:
    abstract class Content
    {
        private 
    $data;
        private 
    $rules;
        public function 
    __construct()
        {
            
    $this->rules = array(
                
    'string'=>  function($v){return htmlspecialchars(trim($v));},
                
    'int'   =>  function($v){return filter_var($vFILTER_SANITIZE_NUMBER_INT);}
            );
        }
        public function 
    __set($p$v)
        {
            if(
    array_key_exists($pself::$typesRules))
                
    $this->data[$p] = $this->rules[self::$typesRules[$p]]($v); //ERRORE QUI
        
    }
        public function 
    __get($p)
        {
            return 
    $this->data[$p];
        }
    }
    class 
    Film extends Content
    {
        private static 
    $typesRules = array(
            
    'title'     =>  'string',
            
    'year'      =>  'int'
        
    );
    }
    class 
    Actor extends Content
    {
        private static 
    $typesRules = array(
            
    'name'      =>  'string',
            
    'surname'   =>  'string',
            
    'born_year' =>  'int'
        
    );

    Mi viene questo errore: Fatal error: Access to undeclared static property: Content::$typesRules in C:\wamp\www\patterns\controller.php on line 16
    Ultima modifica di iJoker; 25-01-2014 a 13:48

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.