![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 0 Dołączył: 22.07.2004 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Chciałbym sie spytać czy w php5.1 jest możliwość sprawdzania poprawności używanych zmiennych. Mam zmienne generowane dynamicznie i nie moge pozwolić by któraś z nich została nadpisana, albo jej typ został zmieniony czy też w ogole usunięta z pamięci. -------------------- Udzielasz sie w PHP Pro?
Uważasz sie za profesjonaliste? Przeczytaj to |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
To można to zrobić najprościej. Zmienne nie są ogólnie dostępne i aby dostać się do jakieś z nich musisz napisac:
-------------------- Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 0 Dołączył: 22.07.2004 Ostrzeżenie: (0%) ![]() ![]() |
Myślałem o podobnym rozwiązaniu wcześniej ale niestety odpada bo wtedy cały system straci swoją prostote, myślałem że coś sie znajdzie w SPL ale niestety nie znalazłem tam niczego takiego.
-------------------- Udzielasz sie w PHP Pro?
Uważasz sie za profesjonaliste? Przeczytaj to |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 476 Pomógł: 1 Dołączył: 5.11.2005 Skąd: Bieruń city Ostrzeżenie: (0%) ![]() ![]() |
Ten post edytował dtb 11.12.2005, 20:42:30 -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
Przepraszam - ROTFL
Jak ty chcesz z tego korzystac w obrebie skryptu i czym to sie sie rozni od mojego rozwiazania pozatym jest mocno kulawe ? Za kazdym razem chcesz tworzyc nowa instancje tej klasy ? Ten post edytował NuLL 11.12.2005, 20:46:29 -------------------- Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 476 Pomógł: 1 Dołączył: 5.11.2005 Skąd: Bieruń city Ostrzeżenie: (0%) ![]() ![]() |
czytalem ze tworzac instancje klasy skrypt dziala szybciej (nie potrafie w tej chwili dac linku)
EDIT: i po co komu konstruktor i instance()? EDIT2: Cytat(webcity.pl) Jako ciekawostkę dodam, iż używanie elementów statycznych jest odrobinę wolniejsze od tworzenia i korzystania z normalnych obiektów
Ten post edytował dtb 11.12.2005, 21:07:58 -------------------- |
|
|
![]()
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%) ![]() ![]() |
To nie temat o szybkosci OOP
NuLL tworzy jeden obiekt (wzorzec Singleton), a dtb wiele. I co jest szybsze? Ja nadal nie rozumiem o co chodzi Cytat sprawdzania poprawności używanych zmiennych.
Mam zmienne generowane dynamicznie i nie moge pozwolić by któraś z nich została nadpisana, albo jej typ został zmieniony czy też w ogole usunięta z pamięci. -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 0 Dołączył: 22.07.2004 Ostrzeżenie: (0%) ![]() ![]() |
Chodzi o to że mam zmienne/tablice
$nazwaZmiennej I ona nie może zmienić typu string / array / int a nie może przybrać wartościu null czy być unsetowana. Jeżeli typ zostanie zmieniony to najlepiej by był wygenerowany wyjątek. -------------------- Udzielasz sie w PHP Pro?
Uważasz sie za profesjonaliste? Przeczytaj to |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 853 Pomógł: 25 Dołączył: 27.08.2003 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Cytat(Major @ 2005-12-11 21:19:02) Chodzi o to że mam zmienne/tablice $nazwaZmiennej I ona nie może zmienić typu string / array / int a nie może przybrać wartościu null czy być unsetowana. Jeżeli typ zostanie zmieniony to najlepiej by był wygenerowany wyjątek. imho najlepszym rozwiazaniem byloby to co napisal NULL + sprawdzanie typu -------------------- "If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 1 566 Pomógł: 37 Dołączył: 14.05.2003 Skąd: Kraków ![]() |
Moim zdaniem nie można czegoś takiego zrobić. Nie można sprawić, aby nie pożna było wykasować elementu z tablicy czy sprawić aby zmienna nie mogła przyjąć innej wartości etc.
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 476 Pomógł: 1 Dołączył: 5.11.2005 Skąd: Bieruń city Ostrzeżenie: (0%) ![]() ![]() |
Ten post edytował dtb 12.12.2005, 08:22:29 -------------------- |
|
|
![]()
Post
#12
|
|
![]() Grupa: Moderatorzy Postów: 1 566 Pomógł: 37 Dołączył: 14.05.2003 Skąd: Kraków ![]() |
vars i types powinno być array();
A poza konkursem. Co jeśli zmienie typ przed 'wywołaniem funkcji' __set ? kicha. Tak samo jak zrobisz obserwowanie unset() ? |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 28.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
możesz używać do tworzenia dynamicznego klasy eval() albo spróbować na stałych ale to jak rozumiem nie przejdzie...
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 188 Pomógł: 0 Dołączył: 23.05.2005 Ostrzeżenie: (0%) ![]() ![]() |
php wymaga od programistow samodyscypliny. Jesli jej nie bedziesz mial to nic ci nie pomoze :-). Przy dosc dobrze zaprojektowanym systemie (oop) jest to duzo latwiejsze niz przy wczesniejszych rozwiazaniach (np masa globalnych zmiennych, do ktorych mialo sie dostep w kazdym miejscu skryptu). Co tu duzo mowic: pilnowac, pilnowac i jeszcze raz pilnowac (sie).
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 17:34 |