![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Developerzy Postów: 823 Pomógł: 12 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Klasa tagów.
Jako że tagi były zmorą programistów, pozwoliłem sobie napisać klasę, będę jej potrzebował do dalszych eksperymentów, więc daje do oceny Wam drodzy Forumowicze. Klasa tagów: http://www1.speedyshare.com/data/272766545...Cloud.Class.php Instancja i poziomy tagów Klasa nadaje poziomy (levele) słowom (tagom) które są ustanawiane przez użytkownika. Domyślnie jest 10 poziomów tagów. Możemy ustawić sobie 6 poziomów (chociażby dla nagłówków HTML). Ilość poziomów definiujemy w konstruktorze klasy, parametru nie musimy podawać, domyślnie posiada wartość 10):
Dodawanie tagów Do dodania tagów służą metody __set() (jako metoda magiczna z odwołaniem do klasy) oraz set(); Tagi zapisujemy jako NAZWA_TAGU => ILOŚĆ WYSTĘPOWAŃ W BAZIE. Pamiętajmy, że przy użyciu metody magicznej __set() tag musi spełniać normy nazw zmiennych (tylko litery i cyfry włączając znak _, nie zaczynając od liczby). Jeżeli mamy potrzebę nazwania tagu ze spacją, bądź jakimś znakiem, jesteśmy zmuszeni użyć metody set().
Przeglądanie tagów Możemy pobierać ilość występowań tagu (analogicznie do __set() i set()), jeżeli w metodzie get() nie podamy parametry, zwracana zostaje tablica ze wszystkimi tagami. Usuwanie tagów Usunąć tag możemy poprzez analogiczne użycie metody __get() z funkcją unset() lub poprez metodę remove().
Sprawdzanie istnienia tagów Sprawdzić tag możemy poprzez analogiczne użycie metody __get() z funkcją isset() lub poprzez metodę has(). Inicjowanie chmurki Całość inicjujemy metodą init() (initialize), metoda zwróci tagi z ich realną wagą w skali 1 - 10 (domyślnie) lub 1 - WYBRANA WAGA w konstruktorze klasy.
$aInitialized teraz posiada budowę TAG => WAGA Dostęp Klasa implementuje ArrayAccess, Iterator i Countable, jest klasą finalną, wykorzystuje wyjątki klasy VtagCloud Exception dziedziczącej po Exception Przykłady zastosowań:
Proszę o ocenę i podanie tego co Was gryzie, co by się przydało, co przeoczyłem ![]() -------------------- Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 422 Pomógł: 0 Dołączył: 14.12.2005 Skąd: Wałbrzych Ostrzeżenie: (0%) ![]() ![]() |
Hm testuje właśnie, jest ciekawie, ale moim zdaniem wielkości czcionki tagów powinny być generowane w ustalonym zakresie bo teraz to nie ma sensu
![]() ![]() A gdyby było ustalanie zakresu wielkości fontów to klasa by była super ![]() -------------------- Postura wielka i morda wredna, jestem Balon, kozak z osiedla !
bzdury.pl - Królestwo rozrywki |
|
|
![]()
Post
#3
|
|
![]() Grupa: Developerzy Postów: 823 Pomógł: 12 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
@Balon, klasa ranguje tylko tagi, co z tymi rangami zrobisz - Twoja sprawa... ja na przykład wrzucam to do klas i css sie tym zajmuje (wielkość i kolor czcionki)
![]() -------------------- Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 225 Pomógł: 0 Dołączył: 1.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Klasa implementuje ArrayAccess, Iterator i Countable mógłbyś pokazać w przykładach po co to... Proponowałbym zmienienie (__)get-a tak, aby zwracał już levele tagów i tak samo przy pobraniu przez ArrayAccess, a ilość występowań tagu przez inną metodę np. getCount() albo coś takiego. Można by wtedy wywalić init, albo zmienić na private i żeby zapisywał wynik do pola w obiekcie, a odbywało by się to przy pierwszym wywołaniu (__)get-a albo którejś metody ArrayAccess-a -------------------- (\.../)This is Bunny
(O.o)Copy Bunny into your signature to help him... (> <)...on his way to world domination |
|
|
![]()
Post
#5
|
|
![]() Grupa: Developerzy Postów: 823 Pomógł: 12 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat mógłbyś pokazać w przykładach po co to... Rób z tym co chcesz... generalnie chodzi o to ze moze zdarzyc sie sytuacja, gdzie nie mamy juz dostepu do zrodla tagow (bo zamknelismy), a jakis odczyt musi byc... po to jest ArrayAccess ![]() Cytat Proponowałbym zmienienie (__)get-a tak, aby zwracał już levele tagów i tak samo przy pobraniu przez ArrayAccess, a ilość występowań tagu przez inną metodę np. getCount() albo coś takiego. Można by wtedy wywalić init, albo zmienić na private i żeby zapisywał wynik do pola w obiekcie, a odbywało by się to przy pierwszym wywołaniu (__)get-a albo którejś metody ArrayAccess-a Levele tagów MUSZĄ - podkreślam - wystapic PO metodzie inicjowania. Dlaczego? A po co inicjiować to samo przy kazdym dodaniu tagu ? Zbedny czas a innej symulacji nie ma. Więc uwagę porzucam ![]() -------------------- Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij |
|
|
![]() ![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 225 Pomógł: 0 Dołączył: 1.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat A po co inicjiować to samo przy kazdym dodaniu tagu ? A czy ja mówię, że masz inicjować przy każdym dodaniu tagu? Wyraźnie chyba napisałem Cytat Można by wtedy wywalić init, albo zmienić na private i żeby zapisywał wynik do pola w obiekcie, a odbywało by się to przy pierwszym wywołaniu (__)get-a albo którejś metody ArrayAccess-a
-------------------- (\.../)This is Bunny
(O.o)Copy Bunny into your signature to help him... (> <)...on his way to world domination |
|
|
![]()
Post
#7
|
|
![]() Grupa: Developerzy Postów: 823 Pomógł: 12 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Można by wtedy wywalić init, albo zmienić na private i żeby zapisywał wynik do pola w obiekcie Tak, ale nie ma mozliwosci wyliczenia wagi tagu przed dodaniem ich wszystkich... tak czy siak, init musi być ![]() ![]() Przykłady: http://forum.php.pl/index.php?s=&showt...st&p=367004 http://forum.php.pl/index.php?s=&showt...st&p=362528 @Hacker, Jak masz jakieś pomysły to śmiało wal i pokazuj kod ![]() ![]() -------------------- Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 225 Pomógł: 0 Dołączył: 1.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
ok rzucę, więc kodem...
http://www.speedyshare.com/941383315.html Zmiany: init - private get - zwraca obliczony poziom tagu Dodanie private initOne - initializuje jedynie 1 tag public getCount - dawny get public addAll - dodaje wszystkie tagi z tablicy Edit: Kod już bez błędów Ten post edytował Hacker 12.06.2007, 17:42:50 -------------------- (\.../)This is Bunny
(O.o)Copy Bunny into your signature to help him... (> <)...on his way to world domination |
|
|
![]()
Post
#9
|
|
![]() Grupa: Developerzy Postów: 823 Pomógł: 12 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat ok rzucę, więc kodem... Faktycznie rzuciłeś, nawet nie raczyłeś sprawdzić, czy dobrze napisałeś... parse i undefined varibles - to jest to ;] Cytat get - zwraca obliczony poziom tagu I co? tak czy siak... i tak Initujesz (liczysz od nowa wszstkie tagi i jego poziom). A co gdy na przykład pobiorę sobie wage tagu potem dodam nowy i stare dane nie są aktualne? Hę? Od tego jest u mnie Init(). Tak więc nic nie wniosłeś do tematu, a wykłócałeś się klika postów... bez komentarza... Daj sobie chłopie siana. Nawet zmienne Ci się nie zgadzają ![]() Pozdrawiam, Athlan ![]() ------ Cytat Daj sobie chłopie siana. Bez takich ![]() -------------------- Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij |
|
|
![]()
Post
#10
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 789 Pomógł: 41 Dołączył: 30.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Tak, tylko po co mi to?
![]() ![]() ![]() ![]() ![]() Kod ciekawy, ale nie przydatne jak dla mnie ![]() |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 57 Pomógł: 3 Dołączył: 23.10.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Bardzo fajna zabawka
![]() ![]() konkretnych zastosowań nie widzę ale jako silniczek wspierający jakieś inne funkcje fajnie ![]() |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 367 Pomógł: 10 Dołączył: 20.05.2005 Ostrzeżenie: (0%) ![]() ![]() |
Athlan liczenie rangi nie działa u Ciebie prawidłowo.
Zerknij na moje rozwiązanie (ostatni post): http://forum.php.pl/index.php?showtopic=10...t=0#entry513167 --edit (@ociu) Powinieneś dostać ostrzeżenie, za odkopywanie starych tematów. To jest ostatnie moja taka wiadomość. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.06.2025 - 03:52 |