Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00091 006062 13649805 na godz. na dobę w sumie
Flash i PHP. Podstawy - książka
Flash i PHP. Podstawy - książka
Autor: Liczba stron: 396
Wydawca: Helion Język publikacji: polski
ISBN: 83-7197-658-5 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> webmasterstwo >> php - programowanie
Porównaj ceny (książka, ebook, audiobook).
Możliwości PHP i Flasha wspaniale się uzupełniają. Oczywiście, Flash sam w sobie jest wspaniałym narzędziem, ale tworzenie zmieniających się, w pełni interaktywnych witryn Flasha wymaga zastosowania dodatkowych technik. PHP jest bezpłatnym i łatwym sposobem osiągnięcia tego celu. Lista jego funkcji jest długa, więc może on w znaczący sposób zwiększyć dynamikę witryny Flasha.

Niniejsza książka ma zaznajomić Czytelnika ze wspaniałymi możliwościami, jakie daje wykorzystywanie skryptów wykonywanych po stronie serwera podczas tworzenia witryn Flasha. Napisaliśmy ją, aby w odpowiednim tempie przeprowadzić go przez pierwsze próby tworzenia skryptów PHP.

Książka niniejsza skierowana jest do projektantów witryn internetowych, a w szczególności tych, którzy w swej pracy korzystają z Flasha. Naszym celem jest również zapoznanie Czytelników z językiem PHP w przyjazny sposób, szczególną uwagę koncentrując na praktyczne zastosowanie przedstawionych wiadomości. Mając na uwadze sposób omawiania przykładów w tej książce założyliśmy, że każdy Czytelnik dysponuje podstawową wiedzą na temat Flasha, a zastosowanie PHP ma pozwolić mu na zwiększenie możliwości tworzonych witryn. Pomimo tego w niniejszej książce uwzględnimy pełne wyjaśnienia odnoszące się do tego programu. Wyjaśnienia te pojawiać się będą w całej książce.

W każdym rozdziale omawiać będziemy:

Naszym celem nie było podawanie ogromnych ilości teorii i następnie pozostawienie Czytelnika samemu sobie. Dążyliśmy do praktycznego pokazania, w jaki sposób PHP wspomaga projektantów wykorzystujących Flasha.

W niniejszej książce dokładnie przedstawimy założenia PHP i, co ważniejsze, sposoby jego wykorzystywania podczas tworzenia coraz to bardziej złożonych i interesujących aplikacji sieciowych. W każdym rozdziale przedstawimy przykład prostego kodu, szczególnie zwracając uwagę na te elementy, które mogą okazać się przydatne podczas projektowania witryn. Zaprezentujemy zestaw 12 interesujących, atrakcyjnych aplikacji -- od filmów rejestracji i logowania aż po pełne forum stworzone we Flashu.

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

IDZ DO IDZ DO PRZYK£ADOWY ROZDZIA£ PRZYK£ADOWY ROZDZIA£ SPIS TRE(cid:140)CI SPIS TRE(cid:140)CI Flash PHP. Podstawy KATALOG KSI¥flEK KATALOG KSI¥flEK KATALOG ONLINE KATALOG ONLINE Autor: Steve Webster T‡umaczenie: Marek Korbecki ISBN: 83-7197-658-5 Tytu‡ orygina‡u: Przyk‡ady na ftp: 995 kB Foundation PHP for Flash ZAM(cid:211)W DRUKOWANY KATALOG ZAM(cid:211)W DRUKOWANY KATALOG Liczba stron: 392 TW(cid:211)J KOSZYK TW(cid:211)J KOSZYK DODAJ DO KOSZYKA DODAJ DO KOSZYKA CENNIK I INFORMACJE CENNIK I INFORMACJE ZAM(cid:211)W INFORMACJE ZAM(cid:211)W INFORMACJE O NOWO(cid:140)CIACH O NOWO(cid:140)CIACH ZAM(cid:211)W CENNIK ZAM(cid:211)W CENNIK CZYTELNIA CZYTELNIA FRAGMENTY KSI¥flEK ONLINE FRAGMENTY KSI¥flEK ONLINE Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl Mo¿liwo(cid:156)ci PHP i Flasha wspaniale siŒ uzupe‡niaj„. Oczywi(cid:156)cie, Flash sam w sobie jest wspania‡ym narzŒdziem, ale tworzenie zmieniaj„cych siŒ, w pe‡ni interaktywnych witryn Flasha wymaga zastosowania dodatkowych technik. PHP jest bezp‡atnym i ‡atwym sposobem osi„gniŒcia tego celu. Lista jego funkcji jest d‡uga, wiŒc mo¿e on w znacz„cy spos(cid:243)b zwiŒkszy(cid:230) dynamikŒ witryny Flasha. Niniejsza ksi„¿ka ma zaznajomi(cid:230) Czytelnika ze wspania‡ymi mo¿liwo(cid:156)ciami, jakie daje wykorzystywanie skrypt(cid:243)w wykonywanych po stronie serwera podczas tworzenia witryn Flasha. Napisali(cid:156)my j„, aby w odpowiednim tempie przeprowadzi(cid:230) go przez pierwsze pr(cid:243)by tworzenia skrypt(cid:243)w PHP. Ksi„¿ka niniejsza skierowana jest do projektant(cid:243)w witryn internetowych, a(cid:160) w(cid:160) szczeg(cid:243)lno(cid:156)ci tych, kt(cid:243)rzy w swej pracy korzystaj„ z Flasha. Naszym celem jest r(cid:243)wnie¿ zapoznanie Czytelnik(cid:243)w z jŒzykiem PHP w przyjazny spos(cid:243)b, szczeg(cid:243)ln„ uwagŒ koncentruj„c na praktyczne zastosowanie przedstawionych wiadomo(cid:156)ci. Maj„c na uwadze spos(cid:243)b omawiania przyk‡ad(cid:243)w w tej ksi„¿ce za‡o¿yli(cid:156)my, ¿e ka¿dy Czytelnik dysponuje podstawow„ wiedz„ na temat Flasha, a zastosowanie PHP ma pozwoli(cid:230) mu na zwiŒkszenie mo¿liwo(cid:156)ci tworzonych witryn. Pomimo tego w niniejszej ksi„¿ce uwzglŒdnimy pe‡ne wyja(cid:156)nienia odnosz„ce siŒ do tego programu. Wyja(cid:156)nienia te pojawia(cid:230) siŒ bŒd„ w ca‡ej ksi„¿ce. W ka¿dym rozdziale omawia(cid:230) bŒdziemy: podstawy okre(cid:156)lonego aspektu tworzenia skrypt(cid:243)w PHP; przyk‡ad zastosowania danego skryptu w aplikacji Flasha. Podane przyk‡ady s„ rozbudowane, mog„ by(cid:230) stosowane bezpo(cid:156)rednio lub adaptowane do innych potrzeb. Naszym celem nie by‡o podawanie ogromnych ilo(cid:156)ci teorii i nastŒpnie pozostawienie Czytelnika samemu sobie. D„¿yli(cid:156)my do praktycznego pokazania, w jaki spos(cid:243)b PHP wspomaga projektant(cid:243)w wykorzystuj„cych Flasha. W niniejszej ksi„¿ce dok‡adnie przedstawimy za‡o¿enia PHP i, co wa¿niejsze, sposoby jego wykorzystywania podczas tworzenia coraz to bardziej z‡o¿onych i interesuj„cych aplikacji sieciowych. W ka¿dym rozdziale przedstawimy przyk‡ad prostego kodu, szczeg(cid:243)lnie zwracaj„c uwagŒ na te elementy, kt(cid:243)re mog„ okaza(cid:230) siŒ przydatne podczas projektowania witryn. Zaprezentujemy zestaw 12 interesuj„cych, atrakcyjnych aplikacji (cid:151) od film(cid:243)w rejestracji i logowania a¿ po pe‡ne forum stworzone we Flashu. O Autorach ...................................................h...................................................h............9 Wstęp ...................................................h...................................................h....................11 Jak zbudowana jest ta książka ...................................................w............................................................11 Konwencje zastosowane w książce...................................................w..............................................12 Co jest potrzebne w trakcie lektury niniejszej książki ...................................................w.................12 Wsparcie — każdy go potrzebuje ...................................................w................................................13 PHP i skrypty wykonywane po stronie serwera ...................................................w.................................14 .................16 Klient i serwer ...................................................w...................................................w.......... Rozdział 1. Dynamiczne dane dla Flasha ...................................................h..............21 Wczytywanie danych zewnętrznych......................w...................................................w....................... ......21 Porady dotyczące polecenia loadVariables ...................................................w..................................24 Detektory zdarzeń klipów filmowych ...................................................w................................................25 Wysyłanie informacji z Flasha ...................................................w...........................................................29 Budowa formularza rejestracji...................................................w............................................................30 Skrypty działające po stronie serwera ...................................................w................................................35 Główny skrypt rejestracyjny ...................................................w........................................................37 Rozdział 2. Zaczynamy pracę z PHP ...................................................h.....................39 Typy danych ...................................................w...................................................w.............. Operatory...................................................w...................................................w................ Zastosowanie wyrażeń...................................................w...................................................w..... Nadawanie nazw zmiennym...................................................w...................................................w.. Kilka słów o konwencji nazewnictwa ...................................................w................................................40 .......................41 Komentarze...................................................w...................................................w............... .........................42 Zmienne ...................................................w...................................................w.................. ....43 ......................46 ...................47 ................51 ....................51 ......................57 ...........................61 Tworzenie tablic ...................................................w...................................................w......... ...............61 Przebieg pętli poprzez tablicę sekwencyjną...................................................w.................................63 Przebieg pętli poprzez tablicę niesekwencyjną ...................................................w............................64 Tablice wielowymiarowe ...................................................w...................................................w... Sortowanie tablic...................................................w...................................................w........ Przejdźmy do praktyki...................................................w...................................................w.... Selekcja ...................................................w...................................................w................. Iteracja ...................................................w...................................................w................. Tablice ...................................................w...................................................w.................. Rozdział 3. PHP w akcji...................................................h..........................................77 Wprowadzenie do funkcji...................................................w...................................................w.. ..............78 .......67 ...............68 .................69 4 Flash i PHP. Podstawy .............80 Zasięg zmiennych...................................................w...................................................w......... Czas istnienia zmiennych ...................................................w...................................................w. .........82 Przekazywanie danych do funkcji...................................................w................................................82 Zwracanie danych przez funkcje...................................................w..................................................83 Przekazywanie danych poprzez odwołania...................................................w..................................84 Dołączanie plików zewnętrznych ...................................................w.......................................................85 Aplikacja Tell a Friend ...................................................w...................................................w.. ..................87 Rozdział 4. PHP a obsługa informacji ...................................................h...................95 Podstawy...................................................w...................................................w................. .........................96 Znaki unikowe...................................................w...................................................w............ ...............96 Łączenie ciągów znakowych...................................................w...................................................w.....97 Stosowanie zmiennych w ciągach znakowych...................................................w.............................98 Funkcje związane z ciągami znakowymi ...................................................w.........................................100 ................101 print() i echo() ...................................................w...................................................w......... ................101 printf() i sprintf() ...................................................w...................................................w..... .................104 urlencode().........................................w...................................................w........................ ..................105 explode()...................................................w...................................................w................ .................106 implode() ...................................................w...................................................w................ ....................107 substr()...................................................w...................................................w................. ....................108 strlen() ...................................................w...................................................w................. .....................108 strstr() ...................................................w...................................................w................. str_replace()...................................................w...................................................w............ .................109 strtolower() oraz strtoupper() ...................................................w.....................................................110 stripslashes()...................................................w...................................................w........... .................111 Rozdział 5. Szukając wzorców ...................................................h.............................115 Proste dopasowywanie wzorców...................................................w......................................................116 Zaczynając i kończąc na......................................................w..........................................................116 Znaki zastępcze ...................................................w...................................................w.......... .............117 Ograniczenia...................................................w...................................................w............. ...............119 Dopasowywanie dowolnego znaku...................................................w............................................119 Kwantyfikacja sekwencji znaków ...................................................w..............................................120 ..........120 Zastosowanie OR ...................................................w...................................................w.......... .............121 .........122 Klasy znakowe i zakresy ...................................................w...................................................w.. Unikaj tego szaleństwa!..............................w...................................................w....................... Funkcje PHP wykorzystujące wyrażenia regularne ...................................................w.........................125 ereg() oraz eregi()...................................................w...................................................w...... ..............125 ereg_replace() oraz eregi_replace()...................................................w............................................126 split() oraz spliti()...................................................w...................................................w.... ................127 Archiwum wiadomości phpforflash.com ...................................................w.........................................129 Cookies ...................................................w...................................................w.................. PHP lubi ciasteczka... ...................................................w...................................................w... Rozdział 6. Zapisywanie informacji o odwiedzających ........................................143 ........................144 Restrykcje dotyczące cookies...................................................w.....................................................145 .................147 ...........147 ...........148 ...........149 .................151 ...........151 .......155 Tworzenie cookies...................................................w...................................................w........ Najczęstsze pułapki ...................................................w...................................................w...... Kto zjadł wszystkie ciasteczka?.....................w...................................................w........................ Czas istnienia cookies...................................................w...................................................w... Krótka historia time() ...................................................w...................................................w... Ścieżki i domeny cookies ...................................................w...................................................w. Cookies i bezpieczeństwo ...................................................w...................................................w. Flash Cookie Cutter ...................................................w...................................................w...... Dalsza rozbudowa ...................................................w...................................................w......... Spis treści 5 ......156 .................156 ..........164 Rozdział 7. Korzystamy z plików zewnętrznych ...................................................h165 Otwieranie plików ...................................................w...................................................w........ Niektóre akcje funkcji ...................................................w...................................................w... Ostrzeżenia ...................................................w...................................................w.............. Zamykanie plików ...................................................w...................................................w......... Wyświetlanie pliku ...................................................w...................................................w....... Odczyt z plików...................................................w...................................................w.......... fread() ...................................................w...................................................w.................. fgetc() ...................................................w...................................................w.................. fgets() ...................................................w...................................................w.................. file()...................................................w...................................................w................... .................167 ..........169 ................170 ................170 .................171 ...................174 ....................174 ....................175 ....................176 ......................177 Zapis do plików ...................................................w...................................................w.......... ...................179 Poruszanie się wewnątrz plików...................................................w.......................................................181 ..................182 ....................182 ................184 Więcej użytecznych funkcji...................................................w..............................................................184 rewind() ...................................................w...................................................w................. fseek()...................................................w...................................................w.................. ftell() oraz feof()...................................................w...................................................w...... Rozdział 8. Wprowadzenie do baz danych...................................................h..........199 Wprowadzenie do SQL ...................................................w...................................................w...... SQL na start!...................................................w...................................................w............ Tworzenie bazy danych ...................................................w...................................................w.... Tworzenie tabeli ...................................................w...................................................w......... Relacyjne bazy danych...................................................w...................................................w.... Historia MySQL w skrócie ...................................................w...................................................w. Teoria bazy danych ...................................................w...................................................w....... ...........200 ........200 ....201 ..........201 ......................202 .............203 ...................204 Typy danych...................................................w...................................................w.............. ..............205 Usuwanie baz danych i tabel ...................................................w......................................................210 Manipulowanie bazami danych i tabelami ...................................................w.......................................211 ................211 .............213 ..............214 ...............214 Przeszukiwanie baz danych i tabel ...................................................w...................................................215 ...............215 .....216 INSERT...................................................w...................................................w................... REPLACE ...................................................w...................................................w.................. UPDATE ...................................................w...................................................w................... DELETE...................................................w...................................................w................... SELECT ...................................................w...................................................w................... Zawężanie wyszukiwania...................................................w...................................................w... Rozdział 9. Integrowanie PHP z MySQL...................................................h............219 Współpraca PHP i MySQL...................................................w...................................................w... .........220 Połączenie z serwerem MySQL ...................................................w.................................................220 Zamykanie połączenia z serwerem MySQL ...................................................w..............................222 Wybieranie bazy danych ...................................................w...................................................w... Tworzenie bazy danych z poziomu PHP...................................................w....................................225 Usuwanie bazy danych...................................................w...................................................w..... .......227 Wykonywanie zapytań SQL poprzez PHP...................................................w.......................................227 Modyfikowanie tabel: CREATE, DROP ...................................................w...................................228 Manipulowanie danymi: INSERT, PLACE, UPDATE, DELETE ...............................................231 Manipulowanie danymi: SELECT ...................................................w.............................................233 ......223 6 Flash i PHP. Podstawy Budowa systemu zarządzania zawartością archiwum ...................................................w......................235 Rozdział 10. Przykład 1. — ankieta...................................................h.....................249 Od czego zacząć tworzenie ankiety...................................................w..................................................250 ..............250 Ustalając reguły......................................................w...................................................w...... Najważniejsze decyzje... ...................................................w...................................................w. ........251 Określenie praw administratora...................................................w..................................................252 ................252 Udoskonalanie za kulisami — skrypty...................................................w.......................................253 Tworzenie aplikacji ankiety...................................................w..............................................................254 Wykorzystajmy moc PHP ...................................................w...................................................w.... .........265 Interfejs użytkownika ...................................................w...................................................w.... Rozdział 11. Przykład 2. — terminarz ...................................................h................277 Planujmy...................................................w...................................................w................. Budowa części PHP...................................................w...................................................w........ .......................278 ...............291 Rozdział 12. Przykład 3. — forum...................................................h.......................303 Plan główny ...................................................w...................................................w.............. Widok forum ...................................................w...................................................w.............. Widok wątku ...................................................w...................................................w.............. Otwieranie nowych wątków...................................................w...................................................w. Widok odpowiedzi ...................................................w...................................................w......... Rejestracja ...................................................w...................................................w.............. .....................304 .............305 .............306 ...307 .........308 .................308 .............309 ..........310 ........310 ...........310 Film Flasha: kilka przemyśleń...................................................w..........................................................311 Skrypty PHP ...................................................w...................................................w.............. ....................328 Projektowanie układu tabel..........................w...................................................w........................ Tabela: forumUsers ...................................................w...................................................w....... Tabela: forumThreads ...................................................w...................................................w..... Tabela: forumPosts...................................................w...................................................w....... Dodatek A Instalowanie PHP i MySQL ...................................................h..............343 Instalowanie Apache i PHP w systemie Windows...................................................w...........................343 Instalowanie serwera Apache Web Server w systemie Windows.................................................344 Instalowanie PHP na serwerze Apache dla Windows...................................................w................348 Instalowanie Apache i PHP w systemie UNIX ...................................................w................................351 Instalowanie Apache w systemie UNIX ...................................................w....................................352 Instalowanie PHP w systemie UNIX ...................................................w.........................................354 Apache i PHP dla systemu Mac OS X ...................................................w.............................................358 Instalowanie, konfigurowanie i uruchamianie MySQL w Win32...................................................w....360 Instalowanie.......................................w...................................................w......................... Demon MySQL ...................................................w...................................................w.............. Monitor MySQL...................................................w...................................................w............ Zabezpieczenie MySQL ...................................................w...................................................w..... ................360 .........360 ..........362 .....362 Dodatek B PHP i programowanie zorientowane obiektowo ................................363 .........................363 ................364 ...............364 .................365 OOP ...................................................w...................................................w...................... OOP w przykładzie...................................................w...................................................w........ Właściwości..........................................w...................................................w....................... Metody ...................................................w...................................................w................... Spis treści 7 Tworzenie instancji ...................................................w...................................................w...... Konstruktory...................................................w...................................................w............. Dziedziczenie ...................................................w...................................................w............ ...........367 ...............368 ..............368 Koszyk w sklepie internetowym...................................................w.......................................................370 Dodatek C Zasoby ...................................................h.................................................383 Witryna WWW poświęcona książce ...................................................w................................................383 Strona Autora...................................................w...................................................w............ .....................383 Witryny WWW producentów oprogramowania...................................................w...............................383 Dodatkowe narzędzia ...................................................w...................................................w...... Edytory PHP ...................................................w...................................................w.............. Tablice ogłoszeniowe i fora dyskusyjne związane z PHP...................................................w................384 ........384 Zasoby PHP w sieci WWW...................................................w...................................................w... Firmy hostingowe obsługujące PHP...................................................w.................................................385 ..............384 ....................384 Skorowidz ...................................................h...................................................h...........387 W niniejszym rozdziale pokażemy, jak utworzyć:  główny plan złożonej aplikacji;  pełny interfejs Flasha dla forum dyskusyjnego, umożaliwiającego użytkownikom odczytywanie i publikowanie swoich wypowiedzi, odpowiadanie na istniejące wątki, a nawet rejestrowanie się;  skrypty obsługujące wypowiedzi, wątki i proces rejeastracji, przechowujące informacje w bazie danych MySQL i, w razie potrzeby, ich odczytywaanie. Podczas tworzenia tych wszystkich, wspaniałych aplikacji Czytelnik był prawdopodob- nie zbyt zajęty, aby zauważyć, że nasza długa podróż poprzez PHP dobiega końca. Wspaniałym uwieńczeniem nauki PHP będzie utworzenie najbardziej użytecznej apli- kacji — systemu obsługi tablicy ogłoszeniowej! Tak, oto nadszedł czas na obiecane forum Flasha. Będzie to bardzo istotny moment procesu zaznajamiania się z różnymi technikami. Wy- korzystamy tu bowiem kilka zarówno średnich, jak i zaawansowanych technik Action- Script po stronie Flasha. Będziemy jednak uwzględniać dokładne wyjaśnienia dotyczą- ce poszczególnych technik i przyczyn ich zastosowanaia. Zanim jednak zabierzemy się do pracy, trzeba omówić kilka koncepcji, które uwzględ- nimy tworząc omawianą aplikację.  Wypowiedź Wypowiedź jest pojedynczą wiadomością umieszczaną na atablicy.  Wątek Wątek jest zbiorem wypowiedzi dotyczących jednego taematu. Na przykład, jeśli pojawi się pytanie na temat średniej długości życia małp, taa wypowiedź oraz dotyczące jej odpowiedzi utworzą jeden wątek. Wykorzystanie koncepcji wątków umożliwia grupowaniea wypowiedzi na jeden temat i przedstawianie ich jako całej dyskusji. 304 Flash i PHP. Podstawy  Forum Forum jest zbiorem wątków. Niektóre tablice mogą zawaierać wiele forów, z których każde dotyczy jednego tematu, grupującego wiele wątaków. Tablica dyskusyjna, którą zbudujemy w tym rozdziale, będzie obsługiwała tylkoa jedno forum, a nasz przykład pozwoli na omówienie sposobu tworzenia obydwóch typaów tablic dyskusyjnych. Dwa w cenie jednego — jaśniej powiedzieć już się nie daa, nieprawdaż? Po tych wstępnych rozważaniach przyjrzyjmy się podstawowym etapom budowy apli- kacji. Warto zwrócić uwagę, że wszystkie elementy są omawiane bez rozważania spo- sobów implementacji, a zatem na tym etapie nie będziemy się zastanawiać, skąd będą pobierane dane, w jaki sposób i dokąd. Jest to bardzo dobra metoda projektowania apli- kacji, gdyż pozwala na wykorzystanie innego ogólnego projektu i zaimplementowanie go za pomocą innych technik. Poniżej przedstawiliśmy listę funkcji niezbędnych do parawidłowego działania aplikacji.  odczytywanie listy wątków na forum;  wyświetlanie zawartości forum;  wyświetlanie listy wypowiedzi po wybraniu wątku przaez użytkownika;  wyświetlanie wątków;  udostępnienie użytkownikowi przycisku umożliwiająceago powrót do widoku forum. Ponadto trzeba zapewnić możliwość rejestrowania nowych użytkowników, a także za- kładania nowych wątków i odpowiadania na już istnieające. Plan główny Czas ponownie wziąć do rąk kartkę papieru i pióro i zastanowić się nad wyglądem in- terfejsu użytkownika. Trzeba wziąć pod uwagę wszystkie etapy pracy aplikacji (według powyższego opisu) i wszystkim poświęcić należytą uwagaę. Rozdział 12. K Przykład 3. — forum 305 Z analizy listy etapów, sporządzonej w poprzednim punkcie, wynika, że interfejs użyt- kownika musi się składać z pięciu głównych sekcji:  widok forum;  widok wątku;  nowa wypowiedź;  odpowiedź dla wypowiedzi;  rejestracja. Omówimy teraz te sekcje po kolei. Widok forum Widok Forum View będzie prezentował listę wątków na danym forum. Oprócz wy- świetlania wątków trzeba dać użytkownikowi możliwość odświeżania listy. W ten spo- sób uzyska on możliwość sprawdzania, czy pojawiły się nowe wątki. Należy także umożliwić użytkownikowi tworzenie nowych wątków, a także zapewnić wygodny do- stęp do sekcji rejestracyjnej. Oczywiście, łatwo się zorientować, co będzie tu potrzebne, nieprawdaż? Potrzebny bę- dzie pasek przycisków! Zajmie on niewielką część u dołu interfejsu i będzie zawierał przyciski pozwalające sterować wszystkimi funkcjamia aplikacji. Spójrzmy na uproszczony schemat... Zawartość okna odpowiada dokładnie naszym wymaganiom.a Znaczną część tej sekcji wypełnia lista wątków otwartych na forum. Być może wkrótce nasze forum stanie się na tyle popularne, że wątków na liście będzie więcej, niż można wyświetlić w jednym oknie. Trzeba zatem uzupełnić je przyciskami przewijania, umoż- liwiającymi użytkownikowi przesuwanie listy. Należy to zaliczyć do zadań Flasha, a zatem wrócimy do tego później. 306 Flash i PHP. Podstawy Oczywiście, sposób prezentacji informacji zależy w zupełności od twórców aplikacji. Sądzimy jednakże, że najlepszym rozwiązaniem będzie wykorzystanie konwencjonalnego układu forum. Po co wymyślać koło na nowo, skoro można od razu zacząć je toczyć? Użyjemy więc takiego układu kolumn, jaki spotyka się na większości forum: temat dys- kusji, założyciel wątku, liczba wypowiedzi oraz dataa wysłania ostatniej wiadomości. Przyjęcie takiej konwencji ułatwi wskazanie informacji, jakie trzeba będzie przecho- wywać w bazie danych. Na naszej tablicy zastosujemy jeszcze jedno, standardowe roz- wiązanie: ostatnia przesłana wypowiedź będzie wyświetlana jako pierwsza. Działanie tej funkcji całkowicie zależy od sposobu przechowywania informacji w bazie danych — możemy zastosować dowolny układ — ale na pierwszym etapie lepiej będzie trzy- mać się konwencji. Żeby łamać zasady, trzeba je najpiearw poznać! Warto zwrócić uwagę przynajmniej na jeden element: pasek przycisków, z którego je- steśmy bardzo dumni. Będzie on zawierał różne przyciski, w zależności od uruchomio- nej sekcji aplikacji. Na przykład, jeśli użytkownik otworzy sekcję Post Reply (Wysyła- nie odpowiedzi), udostępnianie mu przycisku widoku forum nie miałoby sensu, gdyż aby wysłać odpowiedź, należy najpierw wybrać wątek. Jest to logiczne, ale będzie sta- nowiło o większej złożoności gotowej aplikacji. Widok wątku Omówiliśmy Widok forum. Kolejnym widokiem jest Thread View — widok wątku. Je- go zadaniem będzie wyświetlanie listy wypowiedzi należących do wątku wybranego przez użytkownika. Także w tym przypadku na pasku przycisków pojawią się przyciski udostępniające funkcje konieczne dla tej sekcji. Uważamy, że widok wątku powinien mieć podobną budowę do widoku forum. Całko- wita zmiana założeń projektu mogłaby wprowadzić zamęta. Oto wstępny szkic: W pewnym sensie treść tej tabeli odpowiada widokowi poprzedniej tabeli. Uwzględnio- no tu jednak pojedyncze wypowiedzi dotyczące wybranego wątku. Lewa strona tabeli podaje informacje o autorach i datach wysłania poszczególnych wypowiedzi. Po prawej zaś stronie wyświetlana jest pełna treść każdej z nicah. Rozdział 12. K Przykład 3. — forum 307 Warto nadmienić, że w omawianym przykładzie przyjętio konwencję wyświetlania wątków w porządku odwrotnie chronologicznym, ogólnie akcepitowany jest również rzeczywisty porządek chronologiczny (zgodny z czasem pojawianiai się kolejnych wypowiedzi). Wyświetlanie wypowiedzi w porządku zgodnym z kolejniością ich dołączania umożliwia użytkownikom prześledzenie przebiegu dyskusji. Przycisk Refresh (Odśwież) został zamieniony na przycisk Back (Wstecz), który będzie tu służył do przywracania widoku forum. Umieścimy tu także jeden przycisk dodatko- wy — Post Reply (Odpowiedz). Jeśli użytkownik naciśnie ten przycisk, będzie mógł udzielić odpowiedzi na bieżący wątek. Zwróćmy uwagę, że przycisk Post New jest do- stępny przez cały czas, dzięki czemu użytkownik nie będzie musiał wracać do widoku forum, by otworzyć nowy wątek. To się nazywa ergonomiaa! Otwieranie nowych wątków Skoro już wiemy, jak naszą tablicę ogłoszeń będą widzieć jej użytkownicy, musimy za- projektować interfejs, który pozwoli im na zakładanaie nowych wątków. W tym celu utworzymy we Flashu prosty formularz, wyposażony w użyteczne przyciski na pasku. Nie ma tu niczego szczególnego, co należałoby objaśniać w jakiś specjalny sposób. A zatem, przyjrzyjmy się naszemu projektowi. Uwzględniliśmy tu wszystkie elementy formularza, potrzebne użytkownikowi do zało- żenia nowego wątku na tablicy ogłoszeń. Formularz ten zawiera najważniejsze ele- menty wszystkich trzech głównych tabel. Przede wszystkim, umieścimy tu pola nazwy użytkownika i hasła, których zadaniem będzie potwierdzanie zarejestrowania użytkownika. Informacje te będą porównywane z do danych zapisanych w pliku, co umożliwi potwierdzenie uprawnień danej osoby do umieszczania wypowiedzi na tablicy. Kolejne pola służą do wpisywania tematu wątku oraz atreści wypowiedzi. Jest oczywiste, że oprócz zakładania wątku należy również utworzyć arozpoczynającą go wypowiedź. 308 Flash i PHP. Podstawy Na powyższym szkicu widzimy również przycisk Submit Thread (Prześlij wątek) uru- chamiający proces zamieszczania wątku, przycisk Cancel (Anuluj) na wypadek, gdyby użytkownik zmienił zdanie oraz przycisk Register (Rejestruj), którym może posłużyć się użytkownik dotychczas nie zarejestrowany. Widok odpowiedzi Interfejs sekcji Post Reply jest niemal dokładnie taki sam, jak widok sekcji Post New. Wynika to z konieczności dostarczenia w obydwóch przypadkach tych samych, pod- stawowych informacji. Jedyną zauważalną różnicą jest to, że temat wątku nie jest wyświetlany w edytowalnym polu tekstowym. Jeśli użytkownik zdecyduje się odpowiedzieć na wątek, powinien się go trzymać! Jeżeli natomiast zechce otworzyć nowy, należy umożliwić mu przejście do odpowiedniego okna. Tytuł wątku trzeba oznaczyć w taki sposób, by każdy zapominal- ski użytkownik pamiętał, na jaki temat się wypowiadaa! Warto także zwrócić uwagę na zamianę przycisku Submit Thread na przycisk Submit Reply, z czym musi się wiązać również zastosowanie odpowiedniej akcji, umożliwiają- cej wykonanie żądanej operacji. Rejestracja Sekcja Register naszej aplikacji będzie sekcją umożliwiającą użytkownikom rejestro- wanie się na tablicy ogłoszeń. Absolutne minimum inforamacji, jakie musi obsługiwać, to:  nazwa użytkownika;  hasło;  adres e-mail. Można by posunąć się dalej i dodawać kolejne elementy, ale tymczasem pozostańmy przy tych podstawowych. A zatem, spójrzmy na poniższay szkic: Rozdział 12. K Przykład 3. — forum 309 Jak widać, ta sekcja naszej aplikacji wygląda dość skromnie. Można by uzupełnić ją wieloma innymi elementami. Spośród nich szczególnie godnym polecenia pomysłem jest regulamin, który każdy nowy użytkownik musiałby zaakceptować, aby uzyskać do- stęp do forum! Projektowanie układu tabel Można powiedzieć, że budowa interfejsu została gruntownie przemyślana. Na razie nie musimy martwić się tym, czy całość naszej koncepcji będzie funkcjonowała poprawnie i możemy przystąpić do kodowania. Trzeba określić rodzaje informacji, jakie będą przechowywane. Aby wykorzystać swoje umiejętności w poasługiwaniu się bazą danych, w celu przechowywania danych wykorzystamy MySQL. A więc, jakie informacje powinniśmy przechowywać? Oto iach lista: Użytkownicy:  nazwa użytkownika;  hasło;  tytuł;  adres e-mail. Wypowiedzi:  autor wypowiedzi;  treść wypowiedzi;  data utworzenia wypowiedzi. Wątki:  temat wątku;  użytkownik otwierający wątek; 310 Flash i PHP. Podstawy  liczba odpowiedzi na pierwszą wypowiedź;  data utworzenia ostatniej wypowiedzi w wątku. Tym razem będziemy przechowywać znaczną ilość informacji, a zatem warto je roz- dzielić i zachować w logicznym układzie tabel (Users, Posts, Threads). Podążając tym śladem, należy utworzyć następujące tabele: Tabela: forumUsers Nazwa kolumny Typ danych Opis 97/6 97/62+/ 4+77;36. /+ 88/ Integer String String String String Klucz główny tabeli. Możemy ją wykorzystać do odrębnego oznaczenia każdego użytkownika. Nazwa użytkownika. Hasło użytkownika. Adres e-mail użytkownika. Tytuł użytkownika, na przykład .2786+836. Tabela: forumThreads Nazwa kolumny Typ danych Opis 86/+. 97/6 834- 6/4/7 +78 378 Integer Integer String Integer Integer Klucz główny tabeli. Wykorzystamy ją do oznaczania poszczególnych wątków. Identyfikator użytkownika, który utworzył wątek. Temat wątku. Liczba odpowiedzi na początkową wypowiedź. Data opublikowania ostatniej wypowiedzi, zapisana w postaci uniksowego znacznika czasu. Tabela: forumPosts Nazwa kolumny Typ danych Opis 4378 86/+. 97/6 /77+1/ 4378/. Integer Integer Integer String Integer Klucza główny tabeli. Wykorzystamy ją do oznaczaniac poszczególnych wypowiedzi. Identyfikator wątku, do którego należy wypowiedź. Identyfikator użytkownika, który utworzył wypowiedź. Zasadnicza treść wypowiedzi. Data utworzenia wypowiedzi, zapisana w postaci uniksowego znacznika czasu. Rozdział 12. K Przykład 3. — forum 311 Przyglądając się tym tabelom można zauważyć, że są one między sobą w pewien spo- sób powiązane. Na przykład, w tabeli 0369 3787 wykorzystujemy klucz główny tabeli 0369$6/+.7 (86/+.) do identyfikacji wątku, do którego należy dana wypowiedź. W tej samej tabeli 97/6 jest identyfikatorem autora wypowiedzi. Wspomniane powiązania (relacje) można przedstawić za apomocą poniższego diagramu. Film Flasha: kilka przemyśleń Skoro wszystko już zaplanowaliśmy, czas przystąpić do tworzenia filmu Flasha, w któ- rym odbywać się będzie całe przedstawienie! Film Flasha, który teraz opracujemy na potrzeby forum dyskusyjnego, będzie nieco bardziej skomplikowany, niż tworzone dotychczas. Wynika to z natury całego przed- sięwzięcia. To zaś oznacza, że każdy etap pracy opatrzymy szczegółowymi objaśnie- niami, dzięki którym Czytelnik nie powinien napotkać awiększych trudności. Nie należy poddawać się emocjom, a zatem musimy zachować dyscyplinę i przystąpić do przemyślenia sposobu wizualnej reprezentacji listy wątków na forum i listy wypo- wiedzi w wybranym wątku. Można to rozwiązać na wiele sposobów, ale najelegantszą metodą będzie zastosowanie funkcji +88+-3:/, która pojawiła się po raz pierwszy we Flashu 5. Działanie tej funkcji będzie polegało na tworzeniu klonu klipu filmowego dla każdego wyświetlanego wątku lub wypowiedzi. Klon ten będzie prazechowywany w bibliotece. Składnia +88+-3:/ wygląda następująco: 73/3:/4 +88+-3:/(cid:26).+/(cid:27)2/;2+/(cid:27)./48(cid:29) Funkcja ta będzie dołączała klon klipu filmowego z biblioteki, opatrzonego identyfika- torem .+/, do klipu 73/3:/4. Nowy klon .+/ będzie nosił nazwę 2/;2+/, zaś zadaniem argumentu ./48 jest wyznaczanie poziomu klipu. Właściwość ./48 jest bardzo użytecznym, wartym uwagi narzędziem Flaisha. W razie utworzenia kilku klonów klipu filmowego na tym samyim poziomie starszy z nich będzie zastępowany przez nowszy — klony nie mogą zajmować itego samego poziomu! Zapamiętanie tej zasady pomoże Czytelnikowi uniknąć iproblemów w przyszłości! Gdy spotkaliśmy się z funkcją +88+-3:/ po raz pierwszy, sądziliśmy, że jako argu- ment .+/ wystarczy wskazać nazwę klipu filmowego (którą definiuje się w oknie dialogowym właściwości symbolu). Jakże się myliliśmy! Prawda jest taka, że trzeba tu 312 Flash i PHP. Podstawy wejść w nowy, ekscytujący obszar Flasha, zwany przyłączaniem symboli. Jeśli Czy- telnik pogubił się w powyższych przemyśleniach, niech pozwoli sobie wytłumaczyć pewne istotne sprawy. Zazwyczaj jeśli klip filmowy znajduje się w bibliotece, ale nie jest wykorzystywany w pliku Flasha, wówczas nie zostaje również włączony do pliku SWF, powstającego podczas publikacji filmu. Jednakże, Flash 5 pozwala na wskazanie klipów, które należy wyeksportować bez względu na to, czy zostały wykorzystane w filmie, czy też nie. To właśnie tę technikę nazywa się przyłączaniem symboli. Aby przyłączyć dany klip do filmu, należy wskazać jeago identyfikator: Poprzez ten identyfikator można odwoływać się, zapisując funkcję +88+-3:/. Czy te- raz już Czytelnik rozumie powyższe rozważania? Nie będziemy zajmować się teraz mechanizmem tworzenia list wątków i wypowiedzi — wrócimy do tego w odpowiedniej sekcji. Trzeba jednak mieć na uwadze fakt, że bę- dziemy z tej techniki korzystać w naszym filmie, a zatem warto przygotować się do te- go przed przystąpieniem do rzeczywistego działania.a Interesujące jest, że tworzenie list wątków i wypowiedzi w ten sposób otwiera kolejne zagadnienie — jeśli liczba wątków uniemożliwi jednorazowe ich wyświetlenie, to czy ta lista nie przykryje naszego starannie zaprojektoawanego okna? Odpowiedź brzmi tak, że mogłaby... ale tylko jeśli jej na to pozwolimy. W tej sytuacji wykorzystamy pusty klip filmowy (który nazwiemy tłem – canvas), na który nałożymy (za pomocą funkcji +88+-3:/) klip wątku bądź wypowiedzi, w zależności od rodzaju widoku. Następnie wystarczy jedynie zamaskować tło w taki sposób, by widoczna była tylko żądana część. Rozdział 12. K Przykład 3. — forum 313 Spójrzmy na poniższy rysunek, przedstawiający tę ideaę: Z powyższego wynika, że jeśli wysokość tła jest większa od wysokości obszaru wi- dzialnego (czyli maski), tło nie jest wyświetlane w całości. Aby przesunąć widok w dół w celu obejrzenia dolnej części tła, należy zmniejszyć wartość właściwości ) klipu filmowego, aż dolna krawędź tła znajdzie się w obszaraze wyświetlania. Jest to dość prosty proces, wymagający nie więcej niża dwóch linii kodu ActionScript. Budowa forum we Flashu Jeśli już zakończyliśmy etap drapania się po głowie, możemy swoje palce skierować ku klawiaturze. Tak, nadszedł czas na opracowanie głównego pliku Flasha. Oczywiście, zawsze istnieje możliwość napotkania różnych problemaów — ale przynajmniej możemy teraz przystąpić do pracy z większą pewnością! Załóżmy, że Czytelnik już dokładnie wie o co chodzi. aA zatem: 1. W aplikacji tej wykorzystamy dobrze nam znany detekator 324:/28, w związku z czym cały interfejs użytkownika znajdzie się w klaipie filmowym. Utwórz więc klip filmowy, nadaj mu odpowiednią nazwę,a a następnie kliknij przycisk OK. 2. Teraz utwórz strukturę warstw i ujęć klipu filmowego. aChoć jest ona dość rozbudowana, trzeba zachować możliwość identyfikowania poszczególanych, zaprojektowanych wcześniej, sekcji za pomocą etykiet ujęć. 314 Flash i PHP. Podstawy 3. Jak zwykle, na warstwie Window BG umieść tło aplikacji. 4. Na warstwie Section Items umieść naszą ulubioną animację zegara, dającą użytkownikowi sygnał o tym, że trwa ładowanie danycah. 5. Ostatnim elementem sekcji Load Forum jest kod ActionScript na warstwie Actions. Kod ten będzie wywoływał skrypt PHP wczytujący listę wąatków na forum. Ponadto zdefiniujemy funkcję, którą będziemy wykorzystywać w acałym filmie. $;36373;-, (cid:27).347;+2.3  6+2.9+8 6+2.3(cid:26)(cid:29)+   ;3o9/7648  3.-89-2036+-/30369 3+. +6+,/7(cid:26):/;0369 44+..6+2.9(cid:27)87(cid:29)  7869/3.8;+6+2/4903;/13.3-+79+o+.34;+2+.+2- 7834(cid:26)(cid:29) To będzie wszystko do momentu wczytania forum. Mówiąc anajprościej, za pomocą powyższego kodu tworzymy losową liczbę, dopisywaną ado adresu URL skryptu PHP. W ten sposób przeglądarka nie będzie wyświetlała kopiai pliku zapisanej w pamięci podręcznej. Powody takiego postępowania opisano w rozdaziale 1. Rozdział 12. K Przykład 3. — forum 315 Losową liczbę należy dopisać na końcu części 96 w wywołaniu funkcji 3+. +6+,/7 odwołującej się do pliku viewforum.php (o którym pomówimy za chwilę). Następnie trzeba zatrzymać odtwarzanie klipu filmowego do chwaili ukończenia wczytywania informacji. Do ponownego uruchomienia odtwarzania wyakorzystamy detektor 324:/28, umieszczony na końcu sekcji. 6. Kończąc opracowywanie tego ujęcia, zdefiniuj funkcję paobierającą pojedynczy argument (86/+.) i wywołującą skrypt viewthread.php, przekazując jej identyfikator wątku. +++++++++++++++ $ ++++++++++++++++++ +:/;$6/+.(cid:26)(cid:29) +n+.9/;8/36/32./280+836/86/+. +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 092-832:/;$6/+.(cid:26)86/+.(cid:29)  $;36373;-, (cid:27).347;+2.3  6+2.9+8 6+2.3(cid:26)(cid:29)+   n+.9/;8/ 3+. +6+,/7(cid:26):/;86/+. 4486/+.+..86/+4.+..+..6+2.9(cid:27)  87(cid:29)  /+2++o+.3;+2/.+2- 13832.#834(cid:26)3+.$6/+.(cid:29)  Należy zwrócić uwagę na ponowne zastosowanie sztucziki z zastosowaniem liczby losowej, co zapobiega wykorzystywaniu bufora przeglądiarki — jest to jedna z tych rzeczy, dzięki którym życie programisty staje się pirostsze! 7. Następnie należy spowodować wznowienie odtwarzania klipu i zatrzymanie w ujęciu Load Thread. Zatem jeśli klip filmowy podejmie pracę (po wczytaniau wszystkich danych), użytkownik przechodzi do widoku wątku Thread View. 8. Przyjrzyj się ujęciu Forum View. Tutaj po raz pierwszy umieszczamy pasek przyciskówa na warstwie Button Bar. Kod ActionScript dla poszczególnych przycisków wyglądaa następująco: Refresh 32(cid:26)6//+7/(cid:29) 13832. +(cid:26)3+.369(cid:29)  Post New 32(cid:26)6//+7/(cid:29) 13832. +(cid:26) 378/;(cid:29)  Register 32(cid:26)6//+7/(cid:29) 13832. +(cid:26) /178/6(cid:29)   316 Flash i PHP. Podstawy To całkiem proste — definicje w nawiasach dają pewnoaść, że przejście nastąpi do właściwego ujęcia listwy czasowej. 9. Teraz trzeba utworzyć tło, na której będziemy umieszcazać dołączane klipy filmowe. Jak mówiliśmy wcześniej, tło jest po prostu pustym klaipem filmowym. Zatem utwórz je, naciskając przyciski Ctrl+F8. Nadaj nowemu klipowi nazwę Canvas i naciśnij przycisk OK. Po utworzeniu klipu wróć do listwy czasowej klipu fialmowego Message Board Panel. 10. Upewnij się, że w ujęciu Forum View jest wybrana warstwa Canvas, a następnie przeciągnij nowo powstały klip Canvas z biblioteki do sceny. Klip ten jest pusty, zatem po przeciągnięciu będzie miał postać małego, biaałego kółka. Wybierz to kółko i umieść je w okolicach lewego górnego narożniaka głównej sekcji klipu filmowego. Upewnij się, że klon klipu Canvas jest wciąż wybrany, i nadaj mu nazwę, poprzez którą będzie można odwoływać się do niego z ActionScript. Zaproponowaliśmy nazwę forumCanvas, gdyż potrzebne będą dwa klony klipu Canvas: jeden dla ujęcia widoku forum Forum View, drugi zaś dla ujęcia widoku wątku Thread View. 11. Skopiuj i wklej ten klon na warstwę Canvas w ujęciu Thread View i zmień nazwę kopii na forumCanvas. Rozdział 12. K Przykład 3. — forum 317 12. Następnie należy utworzyć maskę na warstwie Canvas Mask. Pozwoli ona (mówiliśmy o tym wcześniej) na ukrycie tej części klipu Canvas, której nie chcemy wyświetlać. Upewnij się, że jest wybrana warstwa Canvas Mask, wybierz kolor kontrastujący (wybór ten jest całkowicie dowolny) z kolorem warstway Window BG, po czym narysuj duży prostokąt, niemal w całości pokrywającay główny obszar aplikacji. 13. Po wykonaniu czynności wymienionych w poprzednim punakcie, wybierz warstwę jako maskę. W tym celu kliknij prawym przyciskiem mysazy nazwę warstwy (lub w razie korzystania z komputera Macintosh kliknaij przytrzymując wciśnięty klawisz Ctrl) i wybierz opcję Mask (Maska). Maska zniknie wraz z tłem, a ich warstwy zostaną zaablokowane. Jeśli zajdzie potrzeba uaktywnienia warstw, użyj ich ikon. 14. Przed wykonaniem kolejnych czynności trzeba skonstruaować klip filmowy, który będzie dołączany do forumCanvas. Posłuży on do wyświetlania listy wątków. Aby wykonać to zadanie, konieczne jest utworzenie trzecah klipów filmowych o dokładnie takiej samej szerokości, z punktem środkowym umieszcazonym w lewym górnym narożniku. Nagłówek Forum 15. Najpierw wykonamy klip, który będzie stanowił nagłówaek forum, czyli Forum Header. Jego jedyną funkcją jest wyświetlanie nazw kolumn w awidoku Forum View, ale będzie również stanowił wizualne zwieńczenie listy wątków. aUtwórz więc klip podobny do pokazanego poniżej i nadaj mu nazwę Forum Header. 318 Flash i PHP. Podstawy Zwróć uwagę, że środkowy punkt klipu znajduje się w jeago lewym górnym narożniku. Wiąże się to z metodą, którą zastosujemy podczas twoarzenia widoku Foum View. A zatem upewnij się, że punkt ten znajduje się we właaściwym miejscu. Stopka widoku forum 16. Klip ten będzie pełnił rolę atrakcyjnej wizualnie, doalnej krawędzi listy wątków. W ten sposób lista ta nie będzie ucięta na ostatniej apozycji. Utwórz zatem klip filmowy, taki jak zaprezentowany poniżej, i nadaj mau nazwę Forum Footer. Forum Thread 17. Jest to główny klip, który wielokrotnie będziemy dołaączać do tła, prezentując wszystkie wątki na forum. Będzie nam potrzebny niewidaoczny przycisk, który utworzyliśmy w poprzednim przykładzie. A zatem można ago stamtąd pobrać. Zacznij od utworzenia tła i linii reprezentujących akolumny. Najlepiej będzie skopiować całość z klipu Forum Header, dzięki czemu będą zachowane stałe szerokości kolumna. 18. Następnie utwórz pola tekstowe, których zadaniem będzaie wyświetlanie informacji o wątkach: 19. Na koniec dodaj niewidoczny przycisk, przykrywając anim cały obszar wątku. Pozwoli to użytkownikom na otwieranie wybranych wątków poprzez ich kliknięcie. Rozdział 12. K Przykład 3. — forum 319 20. Trzeba też przypisać przyciskowi następujący kod: 32(cid:26)6//+7/(cid:29) )4+6/28 )4+6/28 86/+.86/+. )4+6/28 )4+6/28 834-834- )4+6/28 )4+6/28 :/;$6/+.(cid:26)86/+.(cid:29)  Sekcja )4+6/28 )4+6/28 jest konieczna ze względu na zagnieżdżenie tego kliipu wewnątrz klipu filmowego Canvas, który z kolei zagniepdzimy wewnątrz klipu Message Board Panel, do listwy czasowej którego chcemy się odwoływać. A więc za pomocą powyższego kodu utworzymy dwie zmieanne na listwie czasowej klipu filmowego Message Board Panel, po czym wywołamy funkcję :/;$6/+.(cid:31) , którą utworzyliśmy wcześniej — całkiem pomysłowo, nieaprawdaż? Po utworzeniu wszystkich potrzebnych klipów filmowyach trzeba zmienić ich właściwość Symbol Linkage, dzięki czemu zostaną one wyeksportowane wraz z klipem w trakcie publikacji. 21. Kliknij prawym przyciskiem myszy kolejno każdy z klaipów filmowych: Forum Header, Forum Footer oraz Forum Thread i wybierz opcję Linkage z menu kontekstowego. Zaznacz przełącznik Export this symbol (Wyeksportuj ten symbol), a następnie wpisz identyfikatory:  Forum Header;  Forum Footer;  Forum Thread. 22. Można teraz powrócić na warstwę Section Items klipu Forum View i uzupełnić ją przyciskami przewijania. Do przycisków tych należy parzypisać następujący kod: Przewijanie do góry 32(cid:26)6//+7/(cid:29) 0(cid:26)0369+2:+7 ))  (cid:29) 0369+2:+7 )E    Przewijanie w dół 32(cid:26)6//+7/(cid:29) 0(cid:26)0369+2:+7 )E0369+2:+7 )/18 (cid:29) 0369+2:+7 )H    Pozwoli to na przewijanie tła i przeglądanie wątkówa niemieszczących się w oknie. 23. Dochodzimy teraz do najistotniejszego fragmentu kodau ActionScript na warstwie Actions, w ujęciu Forum View. To właściwie ten kod będzie tworzył widok Forum View, na podstawie zmiennych przekazywanych przez skrypat PHP. 320 Flash i PHP. Podstawy Najpierw ukryj tło, aby użytkownik nie widział budoawanej listy wątków:  6;+8o30369 0369+2:+7 ):7,/0+7/ 24. Następnie, za pomocą +88+-3:/, dołącz klon klipu Forum Header do klipu forumCanvas. 3o-+2+1oI;/49.38o+978++889o 0369+2:+7 +88+-3:/(cid:26)369/+./6(cid:27)/+./6(cid:27)(cid:29) 25. Punkty środkowe klonów dołączanych za pomocą funkcjia +88+-3:/ są zawsze ustawiane w pozycji ( ) klipu filmowego. Należy sprawdzić wysokość tła, gdyż umieszczając kolejny klip będziemy musieli znać wartaość ). Jeśli odejmiemy jeden od wysokości nagłówka forum, będziemy mieli pewność, aże po dołączeniu następnego klonu nie będą pojawiały się przerwy.  78+;+/22/.-49289/7-/2+2+78 42/13 4903;/132+8/ 2/80369+2:+7 /+./6 )/18  26. Następnie odczytujemy za pomocą pętli kolejne wątki zawracane przez skrypt PHP, dołączając klon klipu filmowego Forum Thread i odpowiednio ustawiając pozycję ( ). ++ ./13;89;6I-32/1346/7648  036(cid:26)-3928 -392886/+.3928-3928EE(cid:29)  3o-+403;;89.38o+ 0369+2:+7 +88+-3:/(cid:26)369$6/+.(cid:27)86/+.+..4-3928(cid:27)-3928(cid:29)   78++;74Io6 .2/.+4903;/13;89 0369+2:+786/+.+..-3928 )  0369+2:+786/+.+..-3928 )2/8 27. Następnie pobieramy wszystkie elementy wątku i kopiujemy je do utworzonego przed chwilą klonu 369$6/+.. W ten sposób wypełnimy pola tekstowe i ustawimy kialka niewidocznych zmiennych, na przykład 86/+..  78++7-/1Io;89 0369+2:+786/+.+..-3928 86/+.8786/+.4+..-3928+.. 0369+2:+786/+.+..-3928 834-8786/+.+..4-3928+..$34- 0369+2:+786/+.+..-3928 834-#8+68/68786/4+.+..-3928+.. 834-#8+68/6 0369+2:+786/+.+..-3928 6/4/78786/+.+4..-3928+.. /4/7 0369+2:+786/+.+..-3928 +78 3788786/+.4+..-3928+..+78 378 28. Na koniec należy uaktualnić zmienną 2/8, dodając do jej wartości wysokość nowo dołączonego klonu klipu filmowego i wyznaczając w taen sposób pozycję kolejnego klonu. 3/242+8/9/7-+89 432 /3,/-2/13 2/8E0369+2:+786/+.+..-3928 )/18 (cid:29)  29. Po przetworzeniu wszystkich wątków należy umieścić klaon klipu Forum Footer na samym dole listy wątków. 3o-+.38o+7834 ;6+/43- 0369+2:+7 +88+-3:/(cid:26)369338/6(cid:27)0338/6(cid:27)-3928(cid:29)4 0369+2:+7 0338/6 )2/8 0369+2:+7 0338/6 )2/8  Rozdział 12. K Przykład 3. — forum 321 30. Teraz można wyświetlić tło i zatrzymać w tym miejscu aklip filmowy.  ;/8+8o3;89 0369+2:+7 ):7,/869/  7869/403; 7834(cid:26)(cid:29) 31. Kolejne ujęcie, Load Thread, jest niemal takie samo, jak ujęcie Load Forum. Należy jedynie uwzględnić niewielką różnicę w zapisie kodu AactionScript na warstwie Actions:  7869/403; 7834(cid:26)(cid:29) Ponieważ funkcja ładująca wątek została zapisana wcaześniej, teraz wystarczy zatrzymać wykonywanie klipu. 32. Ujęcie widoku wątku Thread View jest bardzo podobne do ujęcia widoku Forum View, a klip filmowy threadCanvas znajduje się już na warstwie Canvas. Przed wpisaniem kodu ActionScript trzeba dodać jeden aprzycisk. Z wcześniej opracowanych szkiców wynika, że w ujęciu tym należya uwzględnić przycisk odpowiedzi Post Reply. Do ujęcia należy zatem przypisać taki oto kod ActionaScript: 32(cid:26)6//+7/(cid:29) 13832. +(cid:26) 378 /4(cid:29)  Przycisk ten powoduje jedynie przejście do odpowiednaiej sekcji klipu filmowego. 33. Następnie utwórz klipy filmowe, które będą dołączane ado threadCanvas w celu uformowania listy wypowiedzi. Także i w tym przypadkau potrzebne będą trzy klipy — wszystkie o tej samej szerokości i z punktem środkoawym położonym w lewym górnym narożniku. Nagłówek wątku 34. Pierwszym na liście klipem filmowym jest nagłówek wąatku, Thread Header. Różni się on nieco w stosunku do klipu Forum Header, gdyż obejmuje jedynie dwie kolumny, a widoczne na nim pole tekstowe posłuży do wyświetlaania tematu wątku. Również w tym przypadku klip będzie pełnił rolę ozdobnej, góarnej krawędzi. Utwórz więc klip filmowy, podobny do pokazanego poniżej, i nadaaj mu nazwę Thread Header. Także tutaj należy zwrócić uwagę na umieszczenie puinktu środkowego klipu w jego lewym górnym narożniku. Konieczność ta wynika z metoidy zastosowanej do budowy widoku Thread View. Należy więc upewnić się, że punkt środkowy został iumiejscowiony w odpowiednim miejscu. 322 Flash i PHP. Podstawy Stopka wątku 35. Także ten klip będzie pełnił funkcję estetyczną. Jego ajedynym zadaniem będzie utworzenie ozdobnej, dolnej krawędzi, wyświetlanej tauż poniżej ostatniej wypowiedzi w wątku. Utwórz klip podobny do zaprezentowanego ponaiżej i nadaj mu nazwę Thread Footer. Widok wypowiedzi 36. Jest to klip, na który będzie oddziaływała funkcja +88+-3:/, rozciągając go ponad całą powierzchnią tła. W ten sposób będą wyświetlane waszystkie wypowiedzi wybranego wątku. Najpierw utwórz tło oraz linie wyznaaczające kolumny. Zalecamy w tym celu skopiowanie klipu filmowego Thread Header, co zapewni kolumnom jednakową szerokość. 37. Następnie umieść
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Flash i PHP. Podstawy
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: