Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 338 Pomógł: 2 Dołączył: 4.03.2006 Skąd: Łódź Ostrzeżenie: (0%)
|
Witam,
Czytam tu i tam w sieci informacje nt. aplikacji php i czasem pojawiaja sie terminy przestrzeni nazw i kontenerow. Wiem, ze w C++ przestrzenie sa dosyc wygodne (domyslam sie, bo nie programuje w C++), ale po co stosowane sa w php i w jaki sposob? Podejrzewam, ze kontenery to inne okreslenie przestrzeni. Moge sie mylic. Pozdrawiam, Adrian. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%)
|
Hmm,
To jest pytanie z cyklu: "Powrót do przyszłości"? W php nie ma przestrzeni nazw. Mają się pojawić dopiero w PHP6, ale jak będzie nie wiadomo. |
|
|
|
Post
#3
|
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%)
|
Przestrzenie nazw zapobiegaja m.in. kolizji nazw klas, tak jak klasy umozliwiaja tworzenie "funkcji" o tej samej nazwie (wewnatrz innych klas).
|
|
|
|
Post
#4
|
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. |
Czy ktoś gdzieś nie pisał, że są przestrzenie nazw dla php5 jako rozszerzenie? Bo coś mi się o uszy (oczy raczej) obiło i teraz nie jestem pewien.
Pozdrawiam, |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 338 Pomógł: 2 Dołączył: 4.03.2006 Skąd: Łódź Ostrzeżenie: (0%)
|
Hmmm, zapomnialem napisac, ze wiem na czym polegaja przestrzenie nazw i to ze wiem ze w php5 ich nie ma, natomiast ze maja pojawic sie php6 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
We frameworkach pojawiaja sie przestrzenie nazw (implementacja). Np. w propozycjach Zend_Session. Adrian. Edit: Czytam http://framework.zend.com/wiki/display/ZFPROP/Zend_Acl i chyba widze po co stosowac kontenery. Ktos implementowal prawa dostepu w oparciu o kontenery? Ten post edytował Prph 15.08.2006, 08:02:44 |
|
|
|
Post
#6
|
|
|
Grupa: Przyjaciele php.pl Postów: 384 Pomógł: 6 Dołączył: 11.09.2004 Skąd: Grodzisk Mazowiecki Ostrzeżenie: (0%)
|
http://blog.dywicki.pl/2006/07/09/magiczne-namespace/
Tutaj po krótce opisane co i jak w php z namespace (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 359 Pomógł: 1 Dołączył: 16.04.2006 Skąd: Łódź Ostrzeżenie: (0%)
|
Hmm, no nie o to mi chodzi...
Przestrzeie i kontenery - stosowane we frameworkach... Ktos zna? |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 634 Pomógł: 14 Dołączył: 27.05.2006 Skąd: Berlin Ostrzeżenie: (0%)
|
to niema znaczenia czy to php czy nie, przestrzenie nazw (namespace), sa bardzo dobrym sposobem na organizacje aplikacji, to sie b. dobrze sprawdza w asp.net i napewno tez sie sprawdzi w php, np. w frameworkach (MVC?) b. pomoze w odzieleniu klas elemetow poszczegulnych akcji/widokow.
pozdrawiam |
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 338 Pomógł: 2 Dołączył: 4.03.2006 Skąd: Łódź Ostrzeżenie: (0%)
|
No powiem kolejny raz. Wiem co to przestrzenie nazw w c++. Ale chodzi mi teraz o cos co sie podobnie nazywa, ale nie jest tym o czym myslicie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Kontenery (byc moze namespaces) to np akcje. Wezmy Zenda, kontroller Nowosci, akcja Dodaj. Kontenerem bedzie tutaj Nowosci, ktory zawiera inne kontenery - akcje, np. Dodaj. Mozna w ten sposob zorganizowac ACL (access controll list - mechanizmy bezpieczenstwa). Zakladamy, ze uzytkownik ADMIN ma dostep do kontenerow Nowosci->Dodaj, Nowosci->Usun. Acl przeprowadza kontrole i w razie potrzeby, odrzuca zgloszenie. A w sesjach? Namespaces to cos w rodzaju instancji roznych sesji, np:
Dziekuje za odpowiedz na moje pytanie ;-) Pozdrawiam, Adrian. Ten post edytował Prph 18.08.2006, 09:27:17 |
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 6 Dołączył: 15.06.2006 Ostrzeżenie: (0%)
|
|
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%)
|
Nie bede pisal jakis dlugich wywodow ale to co czytam powoduje we mnie mdlosci (IMG:http://forum.php.pl/style_emoticons/default/tiredsmiley.gif)
A teraz krotko i zwiezle Cytat Kontenery (byc moze namespaces) to np akcje. Wezmy Zenda, kontroller Nowosci, akcja Dodaj. Kontenerem bedzie tutaj Nowosci, ktory zawiera inne kontenery - akcje, np. Dodaj. (IMG:http://forum.php.pl/style_emoticons/default/laugh.gif) Klasa kontenerowa to klasa przechowywujaca inne obiekty i nic wiecej - taka jest definicja i tyle. Przyklad - prosze bardzo ( odrazu kod )
newsCollection to kontener. I tyle o kontenerach (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Przestrzen nazw( ang. namespace ) to swego rodzaju kontener na nazwy. W obrębie dowolnej przestrzeni nazw każda nazwa musi być niepowtarzalna. Przestrzen nazw pozwala na utworzenie dwoch klas o takich samych nazwach, podobnie jest z funkcjami. Maly przyklad - niedziajacy w php
Tworzy sie to po to aby jesli w systemie znajda dwie te same klasy nie bylo konfilktu. Rowniez pozwala to docenic odmienne implemtancje danej metody czy inna algorytmu. A krocej - jest to to samo co w C++. Ten post edytował NuLL 21.08.2006, 19:58:46 |
|
|
|
![]() ![]() |
|
Aktualny czas: 9.06.2026 - 11:34 |