![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 202 Pomógł: 117 Dołączył: 13.04.2007 Skąd: 127.0.0.1 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Mam, powiedzmy, dwie klasy: STUDENT i COURSE. Obiekt STUDENT zawiera w sobie kolekcję obiektów COURSE, natomiast obiekty klasy COURSE zawierają kolekcje obiektów STUDENT. Czy takie coś jest poprawne? Ten post edytował ayeo 4.04.2008, 11:35:02 -------------------- |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 135 Pomógł: 0 Dołączył: 28.09.2003 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Oczywiście -- standardowy (akademicki ;-) przykład relacji wiele-do-wielu w relacyjnych bazach danych.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 1 566 Pomógł: 37 Dołączył: 14.05.2003 Skąd: Kraków ![]() |
Masz ponad 100 postów i dalej nie wiesz, jakie panują zasady na tym subforum? Proszę poprawić nazwę tematu , bo będę zmuszony zamknąć temat.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 202 Pomógł: 117 Dołączył: 13.04.2007 Skąd: 127.0.0.1 Ostrzeżenie: (0%) ![]() ![]() |
@M4chu, ja nie mówię o bazach danych tylko o rekurencji!
-------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
A co w tym nieprawidlowego?
Co najwyzej bedziesz mial problem z odsmiecaniem pamieci, bo PHP nie poradzi sobie z usunieciem tak powiazanych obiektow automatycznie - musialbys np. ze studenta, usunac najpierw kursy, zeby pozbyc sie cyklu referencji (zliczanie referencji itd.) -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 202 Pomógł: 117 Dołączył: 13.04.2007 Skąd: 127.0.0.1 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za odpowiedź, ale mógłbyś troszkę to rozwinąć (jaśniej) ?
edit: czy zastosowanie leniwej konkretyzacji coś tu pomoże? Mam na myśli taką sytuację: Obiekt STUDENT zawiera kolekcję obiektów COURSE, ale żaden z obiektów COURSE nie ładuje kolekcji obiektów STUDENT dopóki nie będzie to konieczne. Dziękuję z góry! ![]() edit2: Może ktoś rozwinąć ten temat... ? z góry dzięki za wszelkie informacje/wskazówki/sugestie Ten post edytował ayeo 5.04.2008, 22:19:54 -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Cykle + rekurencja: http://en.wikipedia.org/wiki/Garbage_colle...erence_counting
tylko ze to jest problemem gdy podczas 1 uruchoienia skryptu zuzywasz MASE pamieci (dla malego skryptu nie masz oc sie przejmowac; ostatnio przez ten problem przekraczalismy 500MB ramu ![]() A co do leniwej konretyzacji - nie rozumiem po co ci ona? bo do garbage collectora nic nie da jesli po pierwszy pobraniu kursow zapiszesz je (optymalizacja) w studencie. -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 202 Pomógł: 117 Dołączył: 13.04.2007 Skąd: 127.0.0.1 Ostrzeżenie: (0%) ![]() ![]() |
Proszę o łopatologiczne wytłumaczenie. Załóżmy, że mam obiekt STUDENT zawierający w sobie obiekt COURSE, a ten z kolei zawiera w sobie obiekt STUDENT. Czy, żeby usunąć taki obiekt z pamięci wystarczy w destruktorze (obiektu STUDENT) po prostu usunąć obiekt COURSE?
PS Jak sprawdzić zużycie pamięci pod kątem skryptu? Jak używam memory_get_usage() to mi wychodzi 480MB :/ -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 20:18 |