PHP i HTML. Tworzenie dynamicznych stron WWW

Książka jest wznowionym wydaniem "PHP i HTML. Tworzenie dynamicznych stron WWW" Rozpocznij naukę tworzenia se

1,261 290 6MB

Polish Pages [200] Year 2010

Report DMCA / Copyright

DOWNLOAD FILE

Polecaj historie

PHP i HTML. Tworzenie dynamicznych stron WWW

Table of contents :
Spis treści
Rozdział 1. Wstęp
Rozdział 2. Przykład aplikacji łączącej różne technologie
2.1. Wstęp
2.2. Opis aplikacji „Dodaj przepis”
2.3. Wewnętrzna architektura aplikacji
2.4. Opis najciekawszych fragmentów kodu źródłowego
Zakończenie
Zadania do samodzielnego wykonania
Pytania kontrolne
Rozdział 3. Projektujemy serwis WWW
3.1. Wstęp
3.2. Z czego zbudowany jest serwis WWW?
3.3. Projektowanie aplikacji internetowych z biznesowego punktu widzenia
3.3.1. Cele
3.3.2. Porównanie z konkurencją
3.3.3. Plan działań
3.3.4. Budżet
3.3.5. Metody kontrolowania postępów
3.4. Modele aplikacji internetowych — pajęczyna HTML
3.5. Modele aplikacji internetowych — HTML z arkuszem stylów
3.6. Modele aplikacji internetowych — klient-serwer
3.7. Modele aplikacji internetowych — Dynamic HTML (DHTML)
3.8. Modele aplikacji internetowych — trójwarstwowa
3.9. Modele aplikacji internetowych — trójwarstwowa — ujęcie drugie
3.10. Modele aplikacji internetowych — wielowarstwowa
3.11. Etapy projektowania aplikacji — podejście klasyczne
3.12. Etapy projektowania aplikacji — podejście zwinne
3.13. Planowanie utrzymania aplikacji
Zadania do samodzielnego wykonania
Pytania kontrolne
Rozdział 4. Od PHP do HTML
4.1. Pierwszy skrypt
4.2. Przeplatanie PHP i HTML. Czego nie robić, na co uważać?
4.3. Struktura skryptów
4.4. Użycie szablonów
4.5. Obiektowość w PHP — projektowanie obiektowe
4.6. Obiektowość w PHP — praktyczne przykłady
4.6.1. Przykład 1. Odwzorowanie modelu danych
4.6.2. Przykład 2. Odwzorowanie trójwarstwowości
4.6.3. Przykład 3. Uniwersalne przetwarzanie danych
4.7. Typy danych w PHP
4.8. Generowanie w PHP plików innych niż HTML
4.9. Bezpieczeństwo aplikacji PHP
4.9.1. Obsługa danych z zewnątrz
4.9.2. Przekazywanie danych między skryptami
4.9.3. Niebezpieczne konstrukcje języka
4.9.4. Bezpieczeństwo systemu plików
4.9.5. Cross-Site Scripting
4.9.6. Wstrzykiwanie kodu SQL
4.9.7. Wstrzykiwanie poleceń systemowych (shell injection)
4.9.8. Cross-Site Request Forgery
4.9.9. Przejęcie kontroli nad sesją (session fixation)
4.9.10. Session poisoning
4.9.11. Ataki typu DOS i DDOS
Zadania do samodzielnego wykonania
Pytania kontrolne
Rozdział 5. JavaScript i DHTML
5.1. Skrypty JavaScript, ich ulokowanie w dokumencie
5.2. Modyfikowanie dokumentu HTML przez JavaScript
5.3. Obsługa zdarzeń w JavaScript
5.4. Podmiana fragmentów dokumentu
5.5. Podmiana stylów CSS
5.6. Optymalizacja działania skryptów JavaScript
Zadania do samodzielnego wykonania
Pytania kontrolne
Rozdział 6. Zastosowanie AJAX
6.1. Czym jest technologia AJAX?
6.2. Przykładowy program
6.3. Więcej o XMLHttpRequest
Zadania do samodzielnego wykonania
Pytania kontrolne
Rozdział 7. Od XML-a do HTML-a
7.1. Czym jest XML i po co go stosować?
7.2. Metody przetwarzania XML-a w aplikacjach sieciowych
7.3. XML w aplikacjach JavaScript
Zadania do samodzielnego wykonania
Pytania kontrolne
Rozdział 8. Kaskadowe arkusze stylów (CSS)
8.1. Czym jest CSS i po co go stosować?
8.2. Składnia CSS
8.3. CSS a PHP
8.4. CSS a JavaScript
Zadania do samodzielnego wykonania
Pytania kontrolne
Dodatki — wprowadzenie
Dodatek A. Podstawy HTML
A.1. Co to jest HTML? Podstawowe wiadomości
A.2. Grafika
A.3. Użycie atrybutów, znacznik A
A.4. Tabelki
A.5. Formularze
A.6. Inne znaczniki HTML
A.7. Dokument HTML — pisać ręcznie czy korzystać z edytorów wizualnych?
Zadania do samodzielnego wykonania
Pytania kontrolne
Dodatek B. Podstawy programowania w języku PHP
B.1. Wstęp
B.2. Podstawy
B.3. Zmienne i operatory
B.4. Instrukcje warunkowe i pętle
B.4.1. Instrukcje warunkowe if-else
B.4.2. Instrukcje warunkowe switch
B.4.3. Pętle typu for
B.4.4. Pętle typu while
B.5. Funkcje
B.6. Podstawy programowania obiektowego
Zadania do samodzielnego wykonania
Pytania kontrolne
Odpowiedzi do pytań kontrolnych
Słowniczek pojęć
Skorowidz

Citation preview

Spis treści Rozdział 1. Wstęp . ............................................................................................ 7 Rozdział 2. Przykład aplikacji łączącej różne technologie . .................................. 9 2.1. Wstęp . ....................................................................................................................... 9 2.2. Opis aplikacji „Dodaj przepis” ................................................................................. 9 2.3. Wewnętrzna architektura aplikacji .......................................................................... 12 2.4. Opis najciekawszych fragmentów kodu źródłowego . ............................................ 13 Zakończenie . .................................................................................................................... 23 Zadania do samodzielnego wykonania ............................................................................ 23 Pytania kontrolne . ............................................................................................................ 23

Rozdział 3. Projektujemy serwis WWW . ........................................................... 25 3.1. Wstęp . ..................................................................................................................... 25 3.2. Z czego zbudowany jest serwis WWW? ................................................................. 25 3.3. Projektowanie aplikacji internetowych z biznesowego punktu widzenia ............... 27 3.3.1. Cele . ............................................................................................................. 27 3.3.2. Porównanie z konkurencją ........................................................................... 28 3.3.3. Plan działań . ................................................................................................ 29 3.3.4. Budżet . ......................................................................................................... 30 3.3.5. Metody kontrolowania postępów ................................................................. 31 3.4. Modele aplikacji internetowych — pajęczyna HTML . .......................................... 32 3.5. Modele aplikacji internetowych — HTML z arkuszem stylów . ............................ 33 3.6. Modele aplikacji internetowych — klient-serwer . ................................................. 34 3.7. Modele aplikacji internetowych — Dynamic HTML (DHTML) ........................... 35 3.8. Modele aplikacji internetowych — trójwarstwowa . .............................................. 37 3.9. Modele aplikacji internetowych — trójwarstwowa — ujęcie drugie ..................... 39 3.10. Modele aplikacji internetowych — wielowarstwowa . ........................................... 39 3.11. Etapy projektowania aplikacji — podejście klasyczne . ......................................... 40 3.12. Etapy projektowania aplikacji — podejście zwinne . ............................................. 41 3.13. Planowanie utrzymania aplikacji ............................................................................ 46 Zadania do samodzielnego wykonania ............................................................................ 47 Pytania kontrolne . ............................................................................................................ 47

Rozdział 4. Od PHP do HTML . ......................................................................... 49 4.1. Pierwszy skrypt . ...................................................................................................... 49 4.2. Przeplatanie PHP i HTML. Czego nie robić, na co uważać? . ................................ 51 4.3. Struktura skryptów . ................................................................................................. 59

4

PHP i HTML. Tworzenie dynamicznych stron WWW 4.4. Użycie szablonów . .................................................................................................. 62 4.5. Obiektowość w PHP — projektowanie obiektowe . ............................................... 66 4.6. Obiektowość w PHP — praktyczne przykłady . ..................................................... 72 4.6.1. Przykład 1. Odwzorowanie modelu danych . ............................................... 72 4.6.2. Przykład 2. Odwzorowanie trójwarstwowości . ........................................... 74 4.6.3. Przykład 3. Uniwersalne przetwarzanie danych . ........................................ 77 4.7. Typy danych w PHP . .............................................................................................. 77 4.8. Generowanie w PHP plików innych niż HTML . ................................................... 81 4.9. Bezpieczeństwo aplikacji PHP ................................................................................ 84 4.9.1. Obsługa danych z zewnątrz ......................................................................... 84 4.9.2. Przekazywanie danych między skryptami . ................................................. 86 4.9.3. Niebezpieczne konstrukcje języka . ............................................................. 87 4.9.4. Bezpieczeństwo systemu plików ................................................................. 88 4.9.5. Cross-Site Scripting ..................................................................................... 88 4.9.6. Wstrzykiwanie kodu SQL ............................................................................ 90 4.9.7. Wstrzykiwanie poleceń systemowych (shell injection) .............................. 97 4.9.8. Cross-Site Request Forgery ......................................................................... 97 4.9.9. Przejęcie kontroli nad sesją (session fixation) . ........................................... 99 4.9.10.Session poisoning ........................................ 103 4.9.11.Ataki typu DOS i DDOS . ......................................................................................................................................... 112 Zadania do samodzielnego wykonania .......................................................................... 114 Pytania kontrolne . .......................................................................................................... 115

Rozdział 5. JavaScript i DHTML . .................................................................... 119 5.1. Skrypty JavaScript, ich ulokowanie w dokumencie . ............................................ 119 5.2. Modyfikowanie dokumentu HTML przez JavaScript . ......................................... 121 5.3. Obsługa zdarzeń w JavaScript .............................................................................. 124 5.4. Podmiana fragmentów dokumentu ....................................................................... 126 5.5. Podmiana stylów CSS . .......................................................................................... 127 5.6. Optymalizacja działania skryptów JavaScript . ..................................................... 128 Zadania do samodzielnego wykonania .......................................................................... 129 Pytania kontrolne . .......................................................................................................... 129

Rozdział 6. Zastosowanie AJAX . ................................................................... 131 6.1. Czym jest technologia AJAX? .............................................................................. 131 6.2. Przykładowy program . .......................................................................................... 132 6.3. Więcej o XMLHttpRequest .................................................................................. 133 Zadania do samodzielnego wykonania .......................................................................... 135 Pytania kontrolne . .......................................................................................................... 135

Rozdział 7. Od XML-a do HTML-a . .................................................................. 137 7.1. Czym jest XML i po co go stosować? .................................................................. 137 7.2. Metody przetwarzania XML-a w aplikacjach sieciowych . .................................. 139 7.3. XML w aplikacjach JavaScript ............................................................................. 144 Zadania do samodzielnego wykonania .......................................................................... 145 Pytania kontrolne . .......................................................................................................... 146

Rozdział 8. Kaskadowe arkusze stylów (CSS) . ............................................... 149 8.1. Czym jest CSS i po co go stosować? .................................................................... 149 8.2. Składnia CSS . ....................................................................................................... 150 8.3. CSS a PHP . ........................................................................................................... 152 8.4. CSS a JavaScript . .................................................................................................. 152 Zadania do samodzielnego wykonania .......................................................................... 153 Pytania kontrolne . .......................................................................................................... 154

Spis treści

5

Dodatki — wprowadzenie . ........................................................... 155 Dodatek A Podstawy HTML . ......................................................................... 157 A.1. Co to jest HTML? Podstawowe wiadomości . ...................................................... 157 A.2. Grafika . ................................................................................................................. 158 A.3. Użycie atrybutów, znacznik A .............................................................................. 159 A.4. Tabelki . ................................................................................................................. 161 A.5. Formularze . ........................................................................................................... 164 A.6. Inne znaczniki HTML . .......................................................................................... 166 A.7. Dokument HTML — pisać ręcznie czy korzystać z edytorów wizualnych? ........ 167 Zadania do samodzielnego wykonania .......................................................................... 167 Pytania kontrolne . .......................................................................................................... 168

Dodatek B Podstawy programowania w języku PHP . ...................................... 171 B.1. Wstęp . ................................................................................................................... 171 B.2. Podstawy . .............................................................................................................. 171 B.3. Zmienne i operatory . ............................................................................................. 172 B.4. Instrukcje warunkowe i pętle ................................................................................ 174 B.4.1. Instrukcje warunkowe if-else . ............................................................................ 175 B.4.2. Instrukcje warunkowe switch . ........................................................................... 176 B.4.3. Pętle typu for . ..................................................................................................... 177 B.4.4. Pętle typu while .................................................................................................. 178 B.5. Funkcje . ................................................................................................................ 179 B.6. Podstawy programowania obiektowego ................................................................ 181 Zadania do samodzielnego wykonania .......................................................................... 181 Pytania kontrolne . .......................................................................................................... 181

Odpowiedzi do pytań kontrolnych . ................................................ 183 Słowniczek pojęć . ....................................................................... 191 Skorowidz . .................................................................................. 195

6

PHP i HTML. Tworzenie dynamicznych stron WWW

Rozdział 1.

Wstęp

Aby nauczyć się programowania, zazwyczaj sięgamy po wiedzę dotyczącą pojedynczej technologii czy pojedynczego języka. Niezależnie od tego, czy są to książki, czy inne źródła, zazwyczaj koncentrują się one na dogłębnym nauczaniu pojedynczego aspektu trudnej sztuki programowania. Tymczasem we współczesnym dynamicznym i nieustannie zmieniającym się świecie programista musi często łączyć różne techniki oraz posiadać wiedzę z co najmniej kilku dziedzin informatyki, w tym znać wiele języków programowania, wzorców projektowych, metod projektowania, narzędzi, formatów, frameworków itp. Poprzez łączenie wielu technologii niejednokrotnie można osiągnąć dodatnie sprzężenie zwrotne i sprawić, że 2+2 wyniesie więcej niż 4. A to dlatego, że pewne techniki czy języki programowania mają swoje słabe i mocne strony i używając kilku z nich jednocześnie, wzajemnie niwelujemy wady. Warto znać wiele technik i narzędzi, aby móc zastosować najodpowiedniejsze z nich do właściwego rozwiązania. Przez zbytnie skupienie się na jednym narzędziu czy jednej technice ryzykujemy stworzenie rozwiązania, którego pewne elementy będą wykonane na siłę, sklecone byle jak i pełne wad. Niniejsza książka jest próbą połączenia wielu technik, pokazania tego, jak przeplatają się wzajemnie, jak wspierają oraz jak uzyskać takie połączenie bez stresu i wysiłku. Jest ona przeznaczona dla początkujących oraz średnio zaawansowanych programistów, jednak osoby o wyższym stopniu zaawansowania również powinny znaleźć tutaj interesujące idee, zasady i przykłady. Dla początkujących opracowane zostały dwa dodatki stanowiące podstawy HTML oraz PHP — zachęcam do zapoznania się z nimi. Sama książka została z kolei tak przygotowana, że można ją czytać zarówno od deski do deski, jak i wyrywkowo — sięgając do tematyki, która okaże się potrzebna w konkretnym momencie.

8

PHP i HTML. Tworzenie dynamicznych stron WWW

Rozdział

2.

Przykład

aplikacji

łączącej różne tech~ologie

~9.

:~~~e prezentuję przykłada ~'f!która łączy

21 " "W

technologie PHP, JavaScript i DHTML w celu zapewnie ownikowi jak największej wygody. Podczas przeglądania jej kodu źródło ożesz wiele nie rozumieć - nie przejmuj się jednak. Za pierwszym razem pr mu się tylko ogólnie, a potem wróć do detali po przeczytaniu reszty książki. umieszczenie na samym początku służy przede wszystkim zapreze~towaniu, j ~ .ozl~wości lezą w zasięgu ręki i jak je wykorzystać przy stosunkowo med~~zie sił,

2.2. Opis

~acji „Dodaj przepis"

Wykorzystywana w niniejszej publikacji przykładowa aplikacja służy do dodawania przepisów kulinarnych do bazy danych. Użytkownik może wybrać składniki potrawy oraz określić szereg czynności, które należy wykonać, aby ją przyrządzić. Oczywiście ze względu na potrzeby książki aplikacja zawiera sporo uproszczeń, w tym niezbyt wiele dostępnych składników oraz możliwych czynności. Została ona tak zaprojektowana, aby do minimum ograniczyć przeładowanie stron. Jedyne, co jest pewnym odstępstwem od tej reguły, to użycie dodatkowej strony w celu dodawania nowych składników. Jej zawartość mogłaby także znaleźć się w głównym oknie aplikacji, lecz przykład został rozbity na dwa okna celowo - po to, aby zademonstrować odwoływanie się skryptów między oknami, co w wielu złożonych aplikacjach może być nie do uniknięcia. Przykład został umieszczony pod adresemftp://ftp.helion.pl/przyklady/phtdyn.zip w katalogu

PHP i HTML. Tworzenie dynamicznych stron WWW

1.0

source/R2. Aby go zobaczyć, wrzuć wszystkie pliki na setWer i następnie uruchom skrypt nowy_przepis.php. W przeglądarce powinieneś zobaczyć formularz umożliwiający zdefiniowanie przepisu oraz kilka przycisków. Zostało to uwidocznione na rysunku 2.1. N owy przepis

Skla(hliki:

pomidor: 2 sztuka

s alata 1 sztuka

oliwa z oliwek: 2 łyżka

stołowa

sól: 1 gram

żółty

ser 100 gram

ogórek 1 sztuka [

Usuń: pomidor

][

Usuń: se.tata

[ Dodaj no\i\ij składnik

J[

Usuń: oliwa z oliwek

J

Usuń

Usu

ogórek

J

J

Dodaj nową czynność: [~d_ od_a~ j -~ C zyimości :

I.pokrój pomidor 2 umyj sałata 3.pokrój żółty ser 4.posiekaj ogórek 5 dodaj oliwa z oliwek 6 dodaj sól

Rysunek 2.1.. Widok głó i zdefiniowaniu blku czyn

ekranu aplikacji „Dodaj przepis" po wprowadzeniu kilku

składników

Kliknij teraz przycisk Dodaj nowy składnik, aby otworzyć okno dodawania składników. Powinno ono wyglądać tak, jak pokazano na rysunku 2.2. Wybierz składnik, który chcesz dodać do potrawy, następnie ilość oraz jednostkę, w jakiej podajesz ilość, i kliknij przycisk Dodaj. Zobacz, jak automatycznie, bez przeładowywania którejkolwiek ze stron główne okno zostało zaktualizowane o szereg elementów: ł Informację

o dodanym składniku wraz z miniaturką oraz i jednostce, w której należy ją odmierzyć.

ł

Przycisk

ł Poniżej

Usuń

..

umożliwiający usunięcie

danego

informacją o ilości

składnika.

przycisku, który otwiera okno dodawania składników, znajduje się formularz dodawania nowej czynności. PietWsza z list zawiera dostępne akcje, a druga składniki - tu znajdują się wyłącznie te składniki, których zdecydowałeś się użyć w przepisie. Po kliknięciu przycisku Dodaj w małym oknie lista ta zostanie zaktualizowana.

Rozdział

2.

+ Przykład

aplikacji

Rysunek 2.2. Widok okna aplikacji „Dodaj przepis"

łączącej różne

1.1.

technologie

Dodaj kolejny składnik. używany w przepisie: składnik. I ogórek v I ile ~Isztuk-a--~ „ 11ió~ci;;jLJj

c::::J

Dodałem jut wszystkie. Zamknij okno.

umożliwiającego

I

dodawanie składników Jeśli

chcesz usunąć składnik, kliknij odpowiedni przycisk, jeden z tych dynamicznie dodanych podczas uzupełniania składników. Zauważ, jak bez przeładowywania strony wszystkie informacje o składnikach zostają zaktualizowane. Możesz dodawać i usuwać składniki, a strona nigdy nie odwołuje się do serwera i skryptów PHP. Nie ma takiej potrzeby - przepis jest dopiero przygotowywany i nie trzeba go zapisywać w bazie danych ani w jakikolwiek sposób informować o nim serwera. Cała logika znajduje się w skryptach JavaScript uruchamianych w Twojej przeglądarce. Dodaj teraz kilka czynności i kliknij przycisk Gotowe!. Gdybyś użył go przed dodaniem składników czy czynności, przepis nie zostałby wysłany. Ap ·kacja waliduje przynajmniej podstawową poprawność przepisu. Nie ma również moż · 'ci dodania dwukrotnie tego samego składnika. Po wysłaniu przepisu skrypt PHP ze orzy jego dane i prześle wynikowe informacje z powrotem do przeglądar~~Yi strony prezentującej je można zobaczyć na rysunku 2.3. -,...~ Dziękujemy.

Oto Twój przepis:

pomidor: 2 sztuka

sałata:

żółty

1 sztuka

ser 100 gram

ogórek: 1 sztuka Czyi.mo ś ci:

1. pokrój pomidor umyj sałata pokrój żółty ser posiekaj ogórek dodaj oliwa z oliwek dodaj sól

2. 3. 4. 5. 6.

Wprowadź

nowy przepis

Rysunek 2.3. Widok podsumowania przepisu w aplikacji „ Dodaj przepis"

PHP i HTML. Tworzenie dynamicznych stron WWW

1.2

2.3.

Wewnętrzna

Aplikacja

składa się

architektura aplikacji

z kilku fragmentów-

są to:

ł

Przygotowanie danych wejściowych przez skrypt PHP. W prawdziwej aplikacji dane zostałyby pobrane z bazy danych. W naszym przypadku mały wycinek danych jest po prostu przypisywany do odpowiednich zmiennych w skrypcie dane.php. Nie zamieszczam kodu źródłowego tego pliku, ponieważ nie jest on szczególnie interesujący. Razem z innymi przykładami można go ściągnąć z serwera pod adresem:ftp://ftp.helion.pl/przykladylphtdyn.zip.

ł

System szablonów. Aplikacja korzysta z systemu szablonów Smarty, którego silnik umieszczony został w katalogu smarty. Szablony stanowią pewien wzorzec strony HTML, która zostanie wysłana do przeglądarki internetowej użytkownika. Różni się on tym od gotowego dokumentu HTML, ~ · e ogą się w nim jeszcze znajdować pewne zmienne czy instrukcje systemu Sm . pętle lub warunki). Dopiero po przetworzeniu szablon staje się dokumen m ML.

ł

Szablony stron. Aplikacja składa się z dwóch oki~2'g owane więc zostały dwa szablony. Są to pliki z rozszerzeniem . ~ ęcej o systemie Smarty przeczytasz w dokumentacji na stronie ~r~&J;

ł Katalog obrazki. Zawiera on miniatu~dników.

ł Główny skrypt aplikacji -doda~ · Q

s.php. Jego zadaniem jest przypisanie zmiennym szablonu odpowiedni ych oraz obsługa przesłanych formularzy. Podobne zadania wykonuj ~ owiązany z oknem dodawania składników. W j~go przypadku całe d~~sprow~dza się wyłącznie do obsługi szablonu, pomeważ żadne ~ -Drm la~1e są do mego przesyłane.

ł

Kod JavaScript o Do każdego z ·e

iialn~ za.~ogikę po stroni~ przegl~darki intemet~wej. en aphkacJl przygotowano Jeden phk z rozszerzemem będne skrypty. .

Podczas wyko ania typowych czynności z aplikacją, np. takich jak opisane w podrozdziale 2.2, zachodzi następująca komunikacja między wyżej wymienionymi składo­ wymi aplikacji: ł

Skrypt nowy_yrzepis.php przygotowuje dane,

wykorzystując

plik dane.php.

ł Następnie

przypisuje odpowiednie dane zmiennych w szablonie nowy_yrzepis.tpl i używa go do wyprodukowania strony HTML.

ł Dołączony

do strony kod JavaScript jest odpowiedzialny za wszelkie czynności wykonywane w przeglądarce. Nie licząc otwierania okna dodawania składników, wszystko, co dzieje się w aplikacji aż do momentu wysłania gotowego przepisu, odbywa się właśnie w jego wnętrzu.

ł

Podczas otwierania okna dodawania składników skrypt dodaj_skladnik.php przypisuje dane do szablonu dodaj_skladnik.tpl i używa go do stworzenia dokumentu HTML z tą stroną.

Rozdział

2.

+ Przykład ł

aplikacji

łączącej różne

1.3

technologie

Po wysłaniu gotowego przepisu skrypt nowy_yrzepis.php przetwarza formularz i przełącza szablon nowy_yrzepis.tpl w tryb wyświetlania podsumowania przepisu. W tym szablonie znajduje się warunek, który steruje opisanym procesem.

2.4. Opis najciekawszych fragmentów kodu źródłowego Jak już wspomniałem wyżej, w pliku dane.php ustawiane dane potrzebne pozostałym skryptom. Są to tablice:



pewne zmienne zawiera-

jące ł

ł

$skl adni ki -zawiera dane składników, z których można przyrządzać potrawy: identyfikator składnika, jego nazwę i nazwę obrazka miniaturki

można ~ać składniki:

$m1 ara - zawiera dane jednostek, w których identyfikator miary i jej nazwę ~~ .

ł $akcJa - definiuje dostępne akcje (czynnoś · , określaniu

' rych można użyć przy

przepisu: identyfikator i nazw1 ' :;·.

o' O

Pierwszy fragment pliku nowy_yrzepis.p~ załadowanie pliku dane.php. Fragment pliku nowy_yrzepis.php:

inicjalizację systemu Smarty oraz

~