Ik ben bezig met een webshop te programmeren in OOP, en ik heb de volgende structuur:
Ik denk dat ik het principe van extends niet helemaal snap. Volgens mij kan ik de verschillende niveaus niet 'extenden' aan elkaar omdat ze niet dezelfde basiseigenschappen hebben.
Hoe kan ik in PHP een diepte aangeven op de manier hierboven?
Ik heb nu (samengevat) het volgende:
De website is opgebouwd uit frames en ik wil het aantal queries een beetje beperken. Ik wil dus zo veel mogelijk gegevens in het geheugen zetten zodat er niet opnieuw naar de database hoeft 'gequeryt' te worden.
Als ik bijvoorbeeld een pagina opvraag en alleen de id van het product weet (onderste niveau), wil ik dus een Shop object maken die alleen de categorie en subcategorie bevat van het opgevraagde product.
Is dit de goeie keuze? Hoe kan ik dat het beste uitwerken?
Ik weet dat je met JavaScript met sommige objecten referenties hebt naar de parents of grandparents, bijv. met form elements een referentie object naar het form element.
Kan zoiets ook met PHP? Is het wel handig om daarmee te werken?
code:
1
2
3
4
| Shop Category Subcategory Product |
Ik denk dat ik het principe van extends niet helemaal snap. Volgens mij kan ik de verschillende niveaus niet 'extenden' aan elkaar omdat ze niet dezelfde basiseigenschappen hebben.
Hoe kan ik in PHP een diepte aangeven op de manier hierboven?
Ik heb nu (samengevat) het volgende:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
| class Shop { var $categories; function Shop($categories = array()) { $this->categories = $categories; } } class ShopElement { var $id; var $title; function ShopElement($id, $title = "") { $this->set_id($id); $this->set_title($title); } // // General functions // function get_id() { return $this->id; } function set_id($id) { $this->id = $id; } function get_title() { return $this->title; } function set_title($title) { $this->title = $title; } } class ShopCategory extends ShopElement { var $id; var $title; var $subcategories; var $filename; var $icon_filename; var $description; function ShopCategory($id, $title = "", $subcategories = array(), $filename = "", $icon_filename = "", $description = "") { parent::ShopElement($id); $this->title = $title; $this->subcategories = $subcategories; $this->filename = $filename; $this->icon_filename = $icon_filename; $this->description = $description; } } class ShopSubcategory extends ShopElement { var $id; var $title; var $products; var $description; var $img_filename; var $thumbnails; function ShopSubcategory($id, $title = "", $products = array(), $description = "", $img_filename = "", $thumbnails = array()) { parent::ShopElement($id); $this->title = $title; $this->products = $products; $this->description = $description; $this->img_filename = $img_filename; $this->thumbnails = $thumbnails; } } class ShopProduct extends ShopElement { var $id; var $title; var $price; var $description; var $quantity; var $status; var $img_filename; var $rel_combo_id; function ShopProduct($id, $title = "", $price = false, $description = "", $quantity = false, $status = false, $img_filename = "", $rel_combo_id = false) { parent::ShopElement($id); $this->title = $title; $this->price = $price; $this->description = $description; $this->quantity = $quantity; $this->status = $status; $this->img_filename = $img_filename; $this->rel_combo_id = $rel_combo_id; } } |
De website is opgebouwd uit frames en ik wil het aantal queries een beetje beperken. Ik wil dus zo veel mogelijk gegevens in het geheugen zetten zodat er niet opnieuw naar de database hoeft 'gequeryt' te worden.
Als ik bijvoorbeeld een pagina opvraag en alleen de id van het product weet (onderste niveau), wil ik dus een Shop object maken die alleen de categorie en subcategorie bevat van het opgevraagde product.
Is dit de goeie keuze? Hoe kan ik dat het beste uitwerken?
Ik weet dat je met JavaScript met sommige objecten referenties hebt naar de parents of grandparents, bijv. met form elements een referentie object naar het form element.
Kan zoiets ook met PHP? Is het wel handig om daarmee te werken?
[ Voor 20% gewijzigd door Verwijderd op 15-07-2004 23:03 ]