La base del paradigma POO es una 'modelacion' mas precisa o cercana al mundo real. Por lo tanto La clase Productos deberia poseer una propiedad (variable miembro) que sea un objeto de la clase categoria.
Saludos.
PD: Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.
Código (php) [Seleccionar]
<?php
class Categoria {
static private $categorias = array('Zapatos', 'Carteras', 'Sombreros');
private $value;
public function __construct(){
//Constructor
return true;
}
public function existe($str){
if( in_array($str, self::$categorias) ){
return true;
}else{
return false;
}
}
function set($str){
if( $this->existe($str) ){
$this->value = $str;
return true;
}
return false;
}
function get(){
return $this->value;
}
function __toString(){
return $this->value;
}
}
class Producto {
public $nombre;
private $categoria;
function __construct(){
//Constructor
$this->categoria = New Categoria();
return true;
}
function setCat($str){
return $this->categoria->set("Zapatos");
}
}
$producto = new Producto();
$producto->nombre = "Tennis Nike SGF21";
$producto->setCat('Zapatos');
print_r($producto);
?>
Saludos.
PD: Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.