Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja...

50
Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.

Transcript of Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja...

Page 1: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Aplikacje internetowe.

Informacja o języku PHP.

Osadzanie skryptów.

Instrukcje, komentarze, zmienne, typy, stałe.

Operatory.

Struktury kontrolne.

Tablice.

Page 2: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

dr Tomasz Jach WWW: E-mail: Adres: Instytut Informatyki ul. Będzińska 39 41-200 Sosnowiec Pokój 214 Telefon: 32 3689765 Zaliczenie zajęć: kolokwium + projekt + praca na

zajęciach. Obecność na zajęciach obowiązkowa.

Page 3: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

O przedmiocie. Plan zajęć L.p. Tematyka

1. Wstęp do HTMLa. Znaczniki. Struktura logiczna a opis dokumentu. Narzędzia

programisty. CSSy.

2. Podstawy PHP. Geneza języka. Składnia, zmienne, „typy”, operatory, operacja na

łańcuchach, instrukcje warunkowe, pętle

3. PHP ciąg dalszy. Formularze, walidacja formularzy. Wysyłanie wiadomości e-mail.

4. Łączenie się z bazą danych. Operacje bazodanowe.

5. Uwierzytelniania. Pliki Cookies

6. Zaawansowane funkcje w PHP. Data, czas, internacjonalizacja.

7. Model MVC. Wprowadzenie do frameworków.

Page 4: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Warunki zaliczenia Krótki teścik (ok. 10 pytań) na ostatnim wykładzie

Pytania jednokrotnego wyboru

Page 5: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Literatura polecana Luke Welling, Laura Thomson. PHP i MySQL. Tworzenie

stron WWW. Vademecum profesjonalisty. Helion, Gliwice

Larry Ullman. PHP6 i MySQL 5. Dynamiczne strony WWW. Szybki start. Helion, Gliwice

Dan Cederholm. Kuloodporne strony internetowe. Jak poprawić elastyczność z wykorzystaniem XHTML-a i CSS. Helion, Gliwice

/

Page 6: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Aplikacje internetowe Aplikacja internetowa = program działający w

środowisku przeglądarki internetowej.

Aplikacje i/lub dynamiczne strony internetowe:

Reagują na zmieniające się parametry (pora dnia, wersja przeglądarki)

Dysponują własną pamięcią (sklepy internetowe, spersonalizowane wiadomości itp.)

Umożliwiają wyszukiwanie informacji, wysyłanie komentarzy, filtrowanie

Często posiadają interfejs administracyjny

Page 7: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Wady i zalety webaplikacji Brak skomplikowanych

procedur instalacji i wdrażania.

Małe (lub całkiem brak) wymogi odnośnie przestrzeni dyskowej i/lub sprzętu.

Łatwe do aktualizacji.

Dobra integracja z pozostałymi aplikacjami.

Wieloplatformowość.

Kompatybilność z różnymi przeglądarkami i standardami.

Zależność od szybkości i niezawodności łącza internetowego oraz serwera.

Brak prywatności użytkowników.

Page 8: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Podstawy HTMLa

Page 9: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Znaczniki HTML Strukturalne –np. <h2>Golf</h2> nadaje znaczenie

wyrazowi "Golf" i traktuje go jako nagłówek drugiego stopnia

Prezentacyjne – opisują wygląd poszczególnych elementów, np. <b>lama</b> powoduje, że "lama" zostanie wyświetlona pogrubioną czcionką. Większość znaczników prezentacyjnych w specyfikacji HTML 4.0 oznaczono jako przestarzałe na rzecz kaskadowych arkuszy stylów CSS.

Hipertekstowe – zawierają linki do innych dokumentów lub innych części tego samego dokumentu.

Page 10: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Jak stworzyć strukturę strony? Koncepcje tworzenia stron:

Ramki – stworzone by ułatwić tworzenie stron zawierających powtarzające się elementy – menu, nagłówek, stopka

Jak strona się w całości nie mieści na ekranie może zostać „ucięta” jej część np. menu.

Zła indeksacja przez boty.

Trudności z wydrukiem.

Strona wyświetla cały czas stały adres.

Page 11: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Jak stworzyć strukturę strony? Tabele – stworzone do prezentowania danych

tabelarycznych… ale przecież można nie wyświetlać obramowania i używać do pozycjonowania elementów strony… Śmietnik zamiast kodu.

Często występowała tabelka w tabelce osadzona w… tabelce.

Trudności w odbiorze stron przez osoby niedowidzące (Text-To-Speech)

Strona wyświetla się po pobraniu wszystkich elementów.

ZNACZNA nadmiarowość kodu

Page 12: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Jak stworzyć strukturę strony?

Page 13: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Jak dodać warstwę wizualną Pliki CSS – czyli jak powiedzieć komputerowi jak ma wyświetlać każdy element.

Page 14: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Przykład dobrej nawigacji po stronie

Page 15: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Zgodność z HTML5 przeglądarek

Page 16: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Od czego zacząć – edytor

http://www.jetbrains.com/phpstorm/

Page 17: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Od czego zacząć – serwer zewnętrzny

Na pewnym etapie przyda się zewnętrzny hosting. Ofert jest w bród, także bezpłatnych. Na co zwracać uwagę przy wyborze?

Cena

Gdzie fizycznie jest serwerownia (pingi!)

Czy support działa w nocy i w weekendy?

Dostęp do zarządzania domeną (np. cPanel)

Możliwości (np. cron, catch-all na pocztę, dostęp przez SSH, itp.)

Page 18: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Jak to zainstalować 1. Zainstaluj XAMPPa:

http://sourceforge.net/projects/xampp/

2. Zainstaluj PHP Storm: http://www.jetbrains.com/phpstorm/

3. Stwórz nowy projekt (pusty)

4. Files -> Settings -> Deployment -> „+” 1. Name: Lampka

2. Type: FTP

3. Login, Pass, itp.: jak do serwera LAMP

4. Zakładka Mappings: Jak na rysunku

Page 19: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Tak to ma wyglądać

Page 20: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Tak to ma wyglądać

Page 21: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

I jeszcze baza danych 5. View -> Tool Windows ->Database -> „+” -> Data

Source -> MySQL

1. User, pass: jak w serwerze FTP

2. Host: lamp.ii.us.edu.pl

3. ACHTUNG: Nie zapomnij o kliknięciu na „Download driver files”

Page 22: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Tak to ma wyglądać

Page 23: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Przydatne narzędzia

http://browsershots.org/

Page 24: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Przydatne narzędzia

http://www.ffonts.net/

Page 25: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Przydatne narzędzia

http://colorexplorer.com/

Page 26: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Przydatne narzędzia

http://freemusicarchive.org/

Page 27: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Przydatne narzędzia

http://jigsaw.w3.org/css-validator/

Page 29: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Przydatne narzędzia

http://www.blended-html.com/index.html

Page 30: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Przydatne narzędzia

http://csslayoutgenerator.com/

Page 31: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Przydatne narzędzia

http://www.layoutit.com/

Page 32: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Przydatne narzędzia

Firebug / Web Inspector

Page 33: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Od czego zacząć - wiedza Niezbędne będą:

Znajomość podstawowego HTMLa (2h): http://pl.wikibooks.org/wiki/HTML

Znajomość podstaw CSSa (2h): http://pl.wikibooks.org/wiki/CSS

Przydadzą się gdzieś po drodze:

JavaScript (5h): http://www.codecademy.com/en/tracks/javascript

jQuery (8h): http://www.codecademy.com/en/tracks/jquery http://try.jquery.com/

Bootstrap (bardzo opcjonalnie): http://getbootstrap.com/

Page 34: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Język PHP Język interpretowalny, a nie kompilowany

Powstał w celu programowania po stronie serwera

Jest obecnie najbardziej popularnym językiem programowania w Internecie

Page 35: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

PHP i HTML w jednym stali domu Aby plik był rozpoznawany przez serwer musi mieć

odpowiednie rozszerzenie

Oprócz tego serwer musi mieć prawa do wykonania takiego pliku (CHMOD o+x)

Ale rozszerzenie to nie wszystko:

<? echo („Skrypt osadzony w pliku"); ?>

<?php echo(„Troszkę dłuższy sposób"); ?>

<script language="php">

echo („Sposób podobny do osadzania

JavaScriptu"); </script>

Page 36: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Pierwszy skrypt

Page 37: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Komentarze

Pamiętaj, aby nie zagnieżdżać komentarzy wielolinijkowych!

Page 38: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Obsługa zmiennych Zmienne oznaczamy za pomocą znaku $

Po nim musi następować litera lub znak podkreślenia _

Zmienne w PHP nie muszą być inicjalizowane

Nie trzeba też z góry deklarować ich typu!

$Test != $test != $tEsT

Page 39: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Zmienne

PHP jest proste jak nie wiem

$dwa

2

Page 40: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Stałe Takie zmienne, tylko niezmienne

Definiowane wcześniej

Page 41: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Typy zmiennych Nie trzeba się o to martwić, ale warto wiedzieć, że PHP

ma kilka wbudowanych typów zmiennych:

liczby całkowite (integer)

liczby rzeczywiste (double)

ciągi (string)

tablice (array)

obiekty (object)

Page 42: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Rzutowanie, settype

Page 43: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Operatory arytmetyczne i przypisania

Przykład Wynik

$a + $b Suma $a i $b

$a - $b Różnica $a i $b

$a * $b Iloczyn $a i $b

$a / $b Iloraz $a i $b

$a % $b Reszta z dzielenia $a i $b

Przykład Równoznaczne z: Wynik

$c += 10 $c = $c + 10 Do zmiennej $c dodaj 10

$c -= 10 $c = $c – 10 Od zmiennej $c odejmij 10

$c *= 10 $c = $c * 10 Pomnóż $c przez 10

$c /= 10 $c = $c / 10 Podziel $c przez 10

$c %= 10 $c = $c % 10 Do $c przypisz resztę z dzielenia $c przez 10

$c .= „tekst” $c = $c . „tekst” Do $c dopisz ciąg znaków „tekst”

Page 44: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Inne operatory Operatory porównania tożsame jak w innych językach

programowania (==, !=, <, >, <=, >=)

Operator kontroli błędów: @

Operator wywołania: $listning = `ls -l /home/`;

Operatory inkrementacji i dekrementacji (pre i post!)

Operatory logiczne (&&, ||, !)

Operator ciągu

Page 45: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Instrukcje warunkowe Nic nowego: <?php if(warunek1a || warunek1b)

echo ‘Pierwszy warunek spełniony’;

elseif(warunek2a && warunek 2b)

echo ‘Drugi warunek spełniony,

pierwszy nie’;

else

echo ‘Żaden z warunków nie spełniony’

?>

Brak ścisłej kontroli typów powoduje, że „warunkiem” może być cokolwiek zwracające wartość. Warunek spełniony === wartość większa od zera.

Warunki można grupować za pomocą operatorów logicznych

Page 46: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Pętla for <?php

for( $x = 3; $x <= 100; $x+=3 )

echo $x."<br>"; ?>

Wynikiem będzie wypisanie wszystkich liczb podzielnych przez 3, a mniejszych niż 100.

Ogólna konstrukcja:

for(zmienna kontrolująca;warunek;modyfikacja zmiennej)

Page 47: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Pętla while Pętla wykonywana dopóki warunek jest spełniony

Na starcie możemy nie znać konkretnej liczby przebiegów

Pętla może się w ogóle nie wykonać jeśli warunek na wejściu będzie niespełniony!

<?php

$x=3;

while($x <= 100)

{

echo $x."<BR>";

$x+=3;

} ?>

Page 48: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Pętla do … while Pętla wykonywana dopóki warunek jest spełniony

Na starcie możemy nie znać konkretnej liczby przebiegów

Pętla wykona się co najmniej raz, warunek sprawdzamy na końcu!

<?php

$x=3;

do

{

echo $x."<BR>";

$x+=3;

} while($x <= 100)

?>

Page 49: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Przerywanie wykonania pętli Instrukcja continue – pomija aktualnie wykonywany

przebieg

Instrukcja break – wychodzi całkowicie z pętli

Page 50: Aplikacje internetowe.tjach.pl/tresc/uploads/2014/11/SS_w1.pdf · Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe.

Wielokrotna instrukcja warunkowa <?php

switch($zmienna) {

case 'wartość1': ...

instrukcje ...

break;

case 'wartość2': ...

instrukcje ...

break;

default: ...

instrukcje ...

} ?>