Wykład 9, 10: PHP: Organizacja kodu. Przykładowy projekt.

Podobne dokumenty
Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w

Języki programowania wysokiego poziomu. Ćwiczenia

Języki programowania wysokiego poziomu. Blog

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

Języki programowania wysokiego poziomu. Forum

Podstawy technologii WWW

Technologie Internetowe Raport z wykonanego projektu Temat: Internetowy sklep elektroniczny

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller

Frontendowiec.pl Miecho.pl. Strona 1 z 5. Mieszko Domagała 2014 Wszelkie prawa zastrzeżone.

REFERAT O PRACY DYPLOMOWEJ

WordPress Dla Początkujących Ściągawka

E-commerce. Genialnie proste tworzenie serwisów w PHP i MySQL.

Wykład 5: PHP: praca z bazą danych MySQL

(aktualizacja 30 kwietnia 2018)

Dokumentacja fillup - MS SQL

autor poradnika - KS Jak zamieszczać i edytować artykuły na szkolnej stronie internetowej

Należy ściągnąć oprogramowanie Apache na platformę

Nowy szablon stron pracowników ZUT

Smarty PHP. Leksykon kieszonkowy

Materiał szkoleniowy:

Wprowadzenie do Doctrine ORM

a. (20 pkt.) Aplikacja powinna zawierać następujące elementy: 2. Formularz edycji profilu użytkownika (2 pkt.).

Pomoc dla systemu WordPress

Panel administracyjny serwera: admin.itl.pl

Przewodnik korzystania z Biblioteki kursów na platformach e-learningowych RON

Wymagania systemowe po stronie serwera

Instalacja systemu zarządzania treścią (CMS): Joomla

Zbieranie kontaktów.

Wypożyczalnia by CTI. Instrukcja

Projektowani Systemów Inf.

Projekt strony internetowej firmy organizującej przyjęcia

Praca Magisterska "System zdalnego składania ofert kupna i sprzedaży za pośrednictwem Internetu" AUTOR PROMOTOR

Uruchomienie nowego kontekstu aplikacji

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Zalogowanie generuje nowe menu: okno do wysyłania plików oraz dodatkowe menu Pomoc

Podstawy technologii WWW

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi

5-6. Struktura dokumentu html. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

5. Mechanizm szablonów.

instrukcja INSTALACJI APi_proxy

V Administracja: 1. Poprawiono instalację programu w niektórych sytuacjach po instalacji przy uruchamianiu pojawiał się błąd logowania do bazy

1. Logowanie się do panelu Adminitracyjnego

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

KUP KSIĄŻKĘ NA: PRZYKŁADOWY ROZDZIAŁ KOMUNIKATY DLA UŻYTKOWNIKA

Instrukcja obsługi aplikacji MobileRaks 1.0

1. Biblioteka aplikacja internetowa umożliwiająca użytkownikom rezerwowanie i wypożyczanie książek oraz administratorom edycję bazy książek i

Skrócona instrukcja korzystania z Platformy Zdalnej Edukacji w Gliwickiej Wyższej Szkole Przedsiębiorczości

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

Instrukcja obsługi systemu zarządzania treścią dwajeden.pl

Praca w Panelu administracyjnym zarządzanie systemem UONET

INTRO. {27. Lipca} Jeśli chcesz podszkolić się w obsłudze arkuszy kalkulacyjnych, zapraszam na szkolenie z EXCELA w Poznaniu:

Platforma e-learningowa

APLIKACJA SHAREPOINT

INSTRUKCJA ZARZĄDZANIA

Serwis Ogłoszeniowy JMLnet wersja PRO v Specyfikacja Techniczna

Aplikacje WWW - laboratorium

Instrukcja programu mam wersja 1.02.

Zintegrowane Systemy Zarządzania Biblioteką SOWA1 i SOWA2 ZAMAWIANIE I REZERWOWANIE

INSTRUKCJA ADMINISTRATORA KLIENTA

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Instrukcja rejestracji w systemie System Wspierający Prowadzenie Prac Badawczo-Naukowych oraz Współdzielenie i Publikację Wyników Prac

Instrukcja instalacji programu STATISTICA

Wdrożenie modułu płatności eservice. dla systemu Magento

Dokumentacja WebMaster ver 1.0

Od elitarnych kuźni olimpijczyków do powszechnego systemu wspierania uczniów w wybitnie uzdolnionych. Gdańsk, maja 2012 r.

Spis treści. Rejestracja/logowanie. Zmiana numeru konta klienta. Tworzenie nowej przesyłki. Zamawianie kuriera

Dokumentacja serwisu internetowego Zespołu Szkół Technicznych w Radomiu.

Strona główna- góra. Profesjonalny sklep internetowy

Sylabus do przedmiotu - wypełnianie w systemie USOSweb

Obsługa strony www konferencji

INSTRUKCJA OBSŁUGI Proces rejestracji i logowania

NIEZBĘDNIK INSTRUKCJA DLA STUDENTA

Technologie informacyjne lab. 4

Program GroupWise WebAccess interfejs podstawowy

Serwis Aukcyjny JMLnet wersja PRO v Specyfikacja Techniczna

Instrukcja obsługi platformy B2B ARA Pneumatik

Instrukcja. Systemu Obsługi Praktyk -Moduł Student UNIWERSYTET MARII CURIE-SKŁODOWSKIEJ W LUBLINIE

Rejestracja Czasu Pracy RCP Instrukcja

Aplikacje webowe w obliczu ataków internetowych na przykładzie CodeIgniter Framework

Instrukcja obsługi systemu elektronicznego katalogu przedmiotów (sylabusów)

APD Instrukcja użytkownika

Wikispaces materiały szkoleniowe

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Horde. Wojciech Myszka

Serwis Aukcyjny JMLnet v1.0. Specyfikacja Techniczna

Przekierowanie portów w routerze - podstawy

Tworzenie stron www. Standard. Cena: 1950 zł netto

REFERAT O PRACY DYPLOMOWEJ

MATERIAŁY - udostępnianie materiałów dydaktycznych w sieci SGH

Tomasz Grześ. Systemy zarządzania treścią, cz. II

0.1 Logowanie do serwisu

Wykład 6: PHP: praca z bazą danych MySQL, cz.2

Płace Optivum. 1. Zainstalować serwer SQL (Microsoft SQL Server 2008 R2) oraz program Płace Optivum.

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Podstawy technologii WWW

Programowanie w internecie nazwa przedmiotu SYLABUS A. Informacje ogólne

Ten krótki poradnik pomoże Ci zainstalować nasz katalog no-name na swojej stronie internetowej.

Logowanie, wyszukiwanie i zamawianie książek w katalogu online Biblioteki Głównej WAT

Laboratorium 6 Tworzenie bloga w Zend Framework

Planowanie spotkania. Planowanie spotkania.

Transkrypt:

Wykład 9, 10: PHP: Organizacja kodu. Przykładowy projekt.

Włączanie plików include(), require() - włączanie plików, np. biblioteki z funkcjami Różnica: include() - jeśli włączenie się nie uda to jest generowane ostrzeżenie, ale dalsza część skryptu jest wykonywana. require() - jeśli włączenie się nie uda to wykonywanie skryptu będzie przerwanie (fatal error) Kiedy włączenie się nie uda: np. nie ma takiego pliku (nie wysłaliśmy na serwer) Przykłady: include.php, require.php, functions.php, login.php include_once(), require_once() - zapobiega, aby nie włączyć drugi raz tego samego pliku (może się zdarzyć przy dużych projektach). Włączając drugi raz ten sam plik może się zdarzyć np. włączenie drugi raz tej samej funkcji, a w takim przypadku interpreter zgłosi błąd. Przykłady: once.php, pomocnicze/a.php, pomocnicze/b.php

Włączanie plików - zastosowanie Tworzenie szkieletu strony WWW Przykład w katalogu szkielet: index.php - strona główna, do niej poprzez include włączamy pliki: header.php - nagłówki strony banner.php - część górna strony z tytułem i ewentualnie obrazkiem siderbar.php - menu - część boczna strony aktualnosci.php, pracownicy.php, studenci.php - zawartości poszczególnych działów do których prowadzą linki z menu. footer.php - część dolna strony sidebar index.php: banner zawartość: aktualnosci lub pracownicy lub studenci footer (stopka)

Organizacja kodu na przykładzie aplikacji Sieć społeczna (mini Facebook) Omówienie aplikacji w: Robert Nixon. PHP, MySQL i JavaScript. Wprowadzenie. Wydanie IV. Kod aplikacji można pobrać z http://lpmj.net/4thedition/4th_edition_examples.zip Katalog z projektem nazywa się robinsnest. Uproszczona wersja aplikacji i jej opis na stronie zajęć

Wnioski po analizie "Sieć społeczna" Kilka ogólnych zasad przy tworzeniu aplikacji Przygotowanie functions.php z funkcjami, które wielokrotnie są potrzebne: oczyszczanie kodu, łączenie z bazą itp. Przygotowanie powtarzalnych części strony (np. menu) w oddzielnych plikach, które dołączać poprzez require lub include Sprawdzanie czy użytkownik jest zalogowany i blokowanie dostępu dla niezalogowanych np. przez die() Realizacja wielu zadań przez jeden skrypt w zależności od parametru podanego w adresie URL (members.php) Korzystanie z bazy danych Oczyszczanie danych przesyłanych w formularzu Przygotowanie pliku instalacyjnego tworzącego bazę danych niezbędną do działania aplikacji. Plik może być skryptem php np. setup.php albo plikiem sql do zaimportowania bazy danych(przypomnij slajd 4 z wykładu 6).

Wykorzystać: Projekty - propozycje HTML + CSS + JavaScript + PHP+ MySQL Temat projektu dowolny, projekt wykonują wspólnie dwie osoby Część treści strony powinna być dostępna tylko dla zalogowanych Kantor: kupowanie waluty online zalogowany użytkownik może zakupić/sprzedać walutę (przynajmniej trzy) niezalogowany użytkownik może jedynie obejrzeć kursy właściciel kantoru może ustawiać kurs, może wyświetlić statystyki obrotów kantoru: np. wszystkie transakcje dolarowe

Przepisy kulinarne Projekty - propozycje Menu strony np. potrawy mięsne, rybne, desery. niezalogowany użytkownik może jedynie przeglądać przepisy lub wyszukiwać np. po tytułach potraw 'pstrąg' zalogowany użytkownik może wprowadzać przepisy, ładować obrazki z wyglądem potraw, może edytować SWÓJ przepis. Pizzeria: zamawianie i komponowanie pizzy Niezalogowany użytkownik może przeglądać cennik Zalogowany może złożyć zamówienie z cennika lub samodzielnie skomponowaną pizzę Właściciel może przejrzeć listę zamówień, dokonać zmian w cenniku, wprowadzić nową ofertę.

Projekty - propozycje Dziennik ucznia/studenta prowadzony przez nauczyciela Nauczyciel wstawia oceny i sprawdza obecność. Tworząc nową grupę i przedmiot ładuje listę osób z pliku. Student/uczeń może zobaczyć swoje oceny i obecności. Wypożyczalnia książek (inne wypożyczalnie np. rowerów miejskich) Wypożyczanie / zwrot książek dla zalogowanych Wyszukiwanie książek po tytule i autorze Rejestrowanie pobrania klucza do sali (zamiast zapisywania w zeszycie) Pobranie / zwrot klucza (dla zarejestrowanych, po wpisaniu hasła) Administrator może wprowadzić nowego użytkownika Wyświetlanie, które klucze są dostępne, oraz sprawdzenie, kto pobrał klucze Wyświetlanie historii pobrań/zwrotów kluczy: data, godzina, kto

Rozkład zajęć Projekty - propozycje Wprowadzanie: przedmiot, godzina, nauczyciel, klasa, sala Możliwość wyświetlania rozkładu dla wybranej sali (zajętość sal w poszczególne dni i godziny), nauczyciela, klasy Zalogowany może wprowadzać zmiany Obstawianie wyników meczu Administrator wprowadza mecz do obstawienia Zarejestrowany użytkownik typuje wynik meczu zatwierdzając wynik hasłem Po odbytym meczu administrator wpisuje wynik meczu, następuje automatyczne przypisanie punktów poszczególnym graczom: np. za nietrafienie 0 pkt, za trafienie 2 pkt, za trafienie dokładne 4 pkt Baza filmów Wprowadzenie filmów wraz ze zdjęciami (administrator), dodawanie komentarzy użytkowników, którzy film już obejrzeli (zarejestrowany użytkownik). Wyszukiwanie filmów (dowolny użytkownik).

Zapisy na kurs Projekty - propozycje Administrator wprowadza kursy: godzina, dzień tygodnia Użytkownik zapisuje się do konkretnej grupy (liczba miejsc ograniczona) o ile są wolne miejsca Możliwość przeniesienia do innej grupy Menu to np. lista grup tworzona dynamicznie Książka adresowa Zapisywanie/modyfikowanie/usuwanie danych o znajomych. Rejestracja użytkowników. Każdy użytkownik posiada własną książkę adresową. Można również zrealizować własny pomysł na projekt

Projekt - realizacja pomysł - temat jakie będą funkcjonalności: np. zakup waluty, obejrzenie transakcji, logowanie itd. schemat strony: ile plików i do jakich funkcjonalności, jak mają być ze sobą powiązane czynności, które będą powtarzalne: nagłówek/stopka strony realizować poprzez włączanie pliku, poprzez funkcje baza danych, jakie tabele

Projekt - opis, ocena Każdy projekt powinien być krótko opisany: jakie funkcje ma aplikacja. Np. rejestracja, logowanie itd. jakie pliki tworzą aplikację i do czego służą. Np. signup.php - rejestracja użytkownika jakie są tabele w bazie danych i do czego służą. Powinien być utworzony plik instalacyjny tworzący automatycznie bazę danych potrzebną do działania aplikacji. Do oceny przedstawić: działającą aplikację przygotowaną w ramach projektu, opis aplikacji oraz kody źródłowe aplikacji. Wysłać na mój adres email.

Gotowe przykładowe projekty Ten który pokazałem na wcześniejszych slajdach: Robin's nest oraz Ulubione strony www Rozdział 27. Luke Welling, Laura Thomson. PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty (źródło kodu na płycie CD). Księgarnia online Rozdział 28. PHP i MySQL. Luke Welling, Laura Thomson. Tworzenie stron WWW. Vademecum profesjonalisty (źródło kodu na płycie CD). W kolejnych rozdziałach inne projekty m.in. Forum dyskusyjne

Wygląd aplikacji - skorzystanie z szablonu Darmowe szablony: http://templated.co/ Dostosować do swoich potrzeb - przypomnij z poprzedniego semestru "Podstawy programowania w internecie" - laboratoria 5,6

Dodatkowe informacje

Włączenie plików - ustawienie ścieżki W pliku konfiguracyjnym php.ini można ustawić ścieżkę dla włączanych plików. Może być więcej niż jedna, ścieżki rozdzielamy średnikiem: W Windows: include_path=".;c:\xampp\htdocs\moj_katalog" Korzyść: Jeśli jest ustawiona ścieżka to jako argument dla funkcji include/require podajemy samą nazwę pliku

Automatyczne włączanie plików W pliku konfiguracyjnym php.ini można ustawić aby dany plik był automatycznie włączany do każdego pliku przez require bez potrzeby używania instrukcji require Np. chcemy, aby do każdego pliku na początku był włączany plik header.php (z kodem nagłówka strony) na końcu był włączany plik footer.php (z kodem stopki strony) W php.ini dopisujemy: auto_prepend_file="sciezka_do_pliku/header.php"; // dodanie na początku auto_append_file="sciezka_do_pliku/footer.php"; // dodanie na końcu Ścieżka podajemy bezwzględną

Funkcje - zasięg zmiennych function wypisz() { } global $imie; $imie = 'Beata'; echo "Nazywam się $imie"; wypisz(); echo "<br> $imie"; Dodanie słowa global definiuje zmienną globalną i jest dostępna poza funkcją, tzn. po wykonaniu funkcji wypisz() zmienna $imie jest dostępna globalnie. Na ekranie otrzymamy: Nazywam się Beata Beata Bez słowa global instrukcja echo "<br> $imie"; spowoduje błąd, bo zmienna $imie nie będzie globalna

Funkcje - zasięg zmiennych (cz. 2) $imie = 'Ala'; function wypisz() { global $imie; echo "Nazywam się $imie"; } wypisz(); Jeśli zmienna $imie będzie globalna (dopiszemy global) na ekranie otrzymamy: Nazywam się Ala a jeśli lokalna (nie dodamy słowa global) będzie błąd, bo funkcja wypisz() nie będzie widziała tej zmiennej.

Funkcje - przekazywanie argumentu przez referencję Standardowo argumenty dla funkcji są przekazywane przez wartość. Modyfikacja argumentu wewnątrz funkcji nie zmienia wartości oryginalnej argumentu: Przekazania przez wartość: function zwieksz($a) { $a++; echo $a; } $liczba= 10; zwieksz($liczba); // wypisze 11 echo $liczba; // wypisze 10, wartość zmiennej $liczba się nie zmieniła Przekazanie przez referencję: function zwieksz(&$a) { $a++; echo $a; } $liczba= 10; zwieksz($liczba); // wypisze 11 echo $liczba; // wypisze 11, wartość zmiennej $liczba zmieniła się