基本上我需要创建一个方法addLibrosXCategoria(Libreria,codCategoria),这意味着addBooksXCategory(Libery,codCategory)。我已经创建了我的Books类和我的Category类,并用我编写的书填充了它。基本上我需要的是在Category类中填充属性listaLibros和我在dbListaLibros下创建的那些(dbBooksList)。我该怎么做?基本上在属性listaLibros(booksList)
下按类别保存书籍所以我得到了我的班级书籍和类别(西班牙语的Libros和Categoria)
CLASS BOOKS
class Libro {
var $codigo;
var $categoria;
var $titulo;
var $autor;
var $editorial;
var $imagen;
public function __construct($cod, $cat, $tit, $aut, $edi, $ima) {
$this->codigo = $cod;
$this->categoria = $cat;
$this->titulo = $tit;
$this->autor = $aut;
$this->editorial = $edi;
$this->imagen = $ima;
}
function getCodigo() {
return $this->codigo;
}
function getCategoria() {
return $this->categoria;
}
function getTitulo() {
return $this->titulo;
}
function getAutor() {
return $this->autor;
}
function getEditorial() {
return $this->editorial;
}
function getImagen() {
return $this->imagen;
}
}
CLASS CATEGORY
class Categoria {
var $nombre;
var $codigo;
var $listaLibros;
public function __construct($nom, $cod) {
$this->nombre = $nom;
$this->codigo = $cod;
}
function getNombre() {
return $this->nombre;
}
function getCodigo() {
return $this->codigo;
}
}
书籍清单
<?php
require 'clases/Libro.php';
class dbListaLibros {
var $db;
public function __construct() {
$this->db = array();
$libro1 = new Libro(00001, "Cocina", "Comiendo", "Juancito", "Test", "../images/image_01.jpg");
$libro2 = new Libro(00002, "Computacion", "Programacion", "Maria", "test", "../images/image_01.jpg");
$libro3 = new Libro(00003, "Redes", "Cisco", "Ramon", "test","../images/image_01.jpg");
$libro4 = new Libro(00004, "Electronica", "Circuitos", "Jose", "test","../images/image_01.jpg");
array_push($this->db, $libro1, $libro2, $libro3, $libro4);
}
function getLibros() {
echo"<table border=1>";
echo"<tr>";
echo"<td>Codigo</td>";
echo"<td>Categoria</td>";
echo"<td>Nombre</td>";
echo"<td>Autor</td>";
echo"<td>Editorial</td>";
echo"<td>Imagen</td>";
echo"</tr>";
foreach ($this->db as $libros) {
echo"<tr>";
foreach ($libros as $valor) {
echo"<td>$valor <br/></td>";
}
echo"</tr>";
}
echo"</table>";
echo"<ul>";
}
}
类别清单
require 'clases/Categoria.php';
class dbCategorias {
var $db;
public function __construct() {
$this->db = array();
$cate1 = new Categoria("FO001", "Fotografía");
$cate2 = new Categoria("CO001", "Cocina");
$cate3 = new Categoria("JA001", "Jardinería");
$cate4 = new Categoria("NO001", "Novelas");
$cate5 = new Categoria("HI001", "Historia");
$cate6 = new Categoria("CI001", "Ciencia");
$cate7 = new Categoria("TE001", "Tecnología");
array_push($this->db, $cate1, $cate2, $cate3, $cate4, $cate5, $cate6, $cate7);
}
}
答案 0 :(得分:0)
这可以在您的控制器逻辑(或接收用户输入的脚本)中完成。您可以将属性“libros”添加到Category类中,该类将是Book对象的数组。然后,您可以将以下方法添加到类别类中:
function getBooks() {
return $this->libros;
}
function addBook(Libro $libro) {
$this->libros[] = $libro;
}
我建议研究Data Mapper模式,以便为您的应用程序寻找长期解决方案。谷歌“PHP Mapper模式”应该返回大量的例子。