我在PHP的面向对象编程方面相对较新,不确定我尝试做的事情是否可行或推荐。无论如何,我无法弄清楚。有没有任何教程或文档可以帮助我?
我有一个系统,每个用户都有若干个“库”。每个库包含若干个“元素”。
数据库设置如下:
user_libraries
- id (unique)
- user_id (identifies user)
- name (just a string)
elements
- id (unique)
- content (a string)
library_elements
- id (unique)
- library_id
- element_id
其中library_id
是来自user_libraries
的id,而element_id
则来自于elements
。
我想要能够访问给定用户的库以及他们的元素。
我已经设置好了库类,并可以使用它来检索库列表(或子列表)。
我是这样做的:
$mylibraryset = new LibrarySet();
$mylibraryset->getMyLibraries();
当我使用print_r时,它会返回:
LibrarySetObject (
[user_id] => 105
[data_array] => Array (
[0] => Array (
[id] => 1
[user_id] => 105
[type] => 1
[name] => My Text Library
)
[1] => Array (
[id] => 2
[user_id] => 105
[type] => 2
[name] => Quotes
)
)
)
现在,我想要做的是针对数据数组中的每个库(元素),检索所有元素。
目前我最好的想法是这样做:
foreach($mylibrary->data_array as $library) {
$sublibrary = new Library();
$sublibrary -> getAllElements();
}
其中Sublibrary是另一个类,它具有函数getAllElements
。虽然我不确定自己是否正确,但我无法使其正常工作...
是否有一种方法可以让我最终能够执行以下操作,以检索特定元素?
$mylibrary->sublibraries[0]->element[0]