WYKŁAD 1 SYSTEMY CMS CZĘŚĆ 1
SYSTEM ZARZĄDZANIA TREŚCIĄ (Content Management System, CMS) System używany do zarządzania treścią strony internetowej. Z reguły składa się z dwóch elementów: aplikacji do zarządzania zawartością (CMA - the content management application) aplikacji do dostarczania (wyświetlania) zawartości (CDA - the content delivery application).
SYSTEM ZARZĄDZANIA TREŚCIĄ (Content Management System, CMS) Element CMA pozwala redaktorowi lub autorowi, który może nie znać języka HTML, zarządzać tworzeniem, modyfikacją i usuwaniem zawartości ze strony internetowej, bez doświadczenia webmasterskiego. Element CDA wykorzystuje i kompiluje tę informację, która służy do aktualizacji strony internetowej definicja WhatIs.com.
SYSTEM ZARZĄDZANIA TREŚCIĄ Podstawowym zadaniem CMS jest oddzielenie treści od sposobu prezentacji. Po wprowadzeniu przez redaktora informacji, są one zapisywane w bazie danych, a następnie udostępniane w odpowiednich miejscach witryny internetowej.
BUDOWA SYSTEMU CMS Każdy system CMS składa się z części prezentacyjnej dostępnej dla odwiedzających, bazy danych, w której dane są przechowywane oraz części administracyjnej dostępnej po zalogowaniu.
BUDOWA SYSTEMU CMS Istnieją dwa podejścia: część administracyjna jest oddzielona od części prezentacji i stanowi odrębną stronę; część administracyjna jest zintegrowana bezpośrednio ze stroną.
CECHY SYSTEMÓW CMS możliwość przenoszenia zawartości ponieważ dane przechowywane są w bazie danych, nie są na stałe powiązane z żadną szatą graficzną, szablonem czy podstroną czy nawet stroną. elastyczność projektowania zmiana sposobu prezentowania danych nie wymaga ingerencji w te dane, a jedynie zmiany szablonu graficznego.
ZARZĄDZANIE TREŚCIĄ Z systemami CMS wiąże się ściśle pojęcie zarządzania treścią. Zarządzanie treścią to proces, mający na celu oddzielenie treści od warstwy prezentacyjnej i minimalizacje nakładu pracy na tworzenie, aktualizację i publikowanie informacji wewnątrz i na zewnątrz firmy.
TYPY SYSTEMÓW CMS Web Content Management Systems (WCMS) Internetowe Systemy Zarządzania Treścią systemy wspomagające tworzenie stron internetowych dowolnego przeznaczenia; Enterprise Content Management Systems (ECMS) Korporacyjne Systemy Zarządzania Treścią wykorzystywane w dużych firmach, obejmują technologie dotyczące zarządzania, zachowywania i udostępniania treści i dokumentów organizacyjnych; Document Management Systems (DMS) aplikacje służące do przechowywania dokumentów powstających w firmie lub na zewnątrz; Transactional Content Management Systems (TCMS) Transakcyjne Systemy Zarządzania Treścią systemy związane z zarządzaniem transakcjami, np. w sklepach;
TYPY SYSTEMÓW CMS Integrated Content Management Systems (ICMS) Zintegrowane Systemy Zarządzania Treścią ułatwienie współpracy miedzy użytkownikami na różnym poziomie wymiany informacji; Publication Content Management Systems (PCMS) Publikacyjne Systemy Zarzadzania Treścią służące do publikacji informacji takich jak książki, instrukcje czy artykuły; Learning Content Management Systems (LCMS) Edukacyjne Systemy Zarządzania Treścią połączenie CMS z zarządzaniem uczestnikami i procesem szkoleniowym. Wspomagają procesy edukacyjne.
JĘZYK PHP CZĘŚĆ 2
JĘZYK PHP (Hypertext preprocessor, v.5 oraz v.7 od grudnia 2015) Skryptowy język programowania. Programy w nim napisane nie są kompilowane do postaci kodu maszynowego, ale wykonywane są przez specjalną aplikację zwaną interpreterem PHP (np. serwer Apache). PHP jest językiem server-side, tj. pracuje po stronie serwera HTTP.
CECHY PHP Zapewnia obsługę wielu baz danych poprzez jednolity interfejs (MySQL, Postgresql) Obsługa wielu popularnych protokołów sieciowych, m.in. SSL, IMAP, SMTP, IRC Profesjonalne wsparcie standardu XML Tworzenie grafiki w wielu popularnych formatach graficznych Zaawansowany model programowania obiektowego Funkcje kryptograficzne Algorytmy kompresji: GZip oraz BZip2
PRZYKŁAD PHP
WSTAWIANIE SKRYPTU Aby plik był rozpoznany przez serwer WWW jako skrypt PHP musi mieć odpowiednie rozszerzenie.php Plik podstawowy, automatycznie uruchamiany przez serwer to index.php. Do określenia w pliku, co jest kodem HTML a co PHP służą specjalne znaczniki. Początkowo parser jest w trybie HTML. Aby przejść do trybu PHP trzeba użyć znaczników: <?php?> echo ("Uruchamiam PHP");
ELEMENTY SKŁADNI Zakańczanie instrukcji przez średnik: echo "To jest tekst"; Komentarze: // Ta metoda znana jest z języków C/C++ # A ta z powłok Uniksowych /* Tu jest początek komentarza tu dalej trwa i się kończy */ Zmienne $nazwa_1 = 1; $druga_nazwa = "Tekst"; echo $nazwa_1 // Wyświetli 1 echo "To jest $druga_nazwa"; // Wyświetli napis "To jest Tekst"
PRZYKŁAD <?php $a = 5; $b = 3; function suma($zmienna1, $zmienna2) { $wynik = $zmienna1 + $zmienna2; return $wynik; //Dodajemy argumenty i zwracamy wynik } echo suma($a, $b); // 8?>
PRZESYŁANIE DANYCH PHP został stworzony, by przetwarzać wprowadzone dane i zwracać na ich podstawie odpowiedni kod HTML, toteż pliki PHP uruchamiane są przeważnie z odpowiednimi argumentami czyli zmiennymi zewnętrznymi. Zmienne tworzą pary nazwa_zmiennej = wartość i są rozdzielane &. http://studenci.usagi.pl/index.php?str=kontakt&imie=agnieszka Istnieją dwa sposoby na przekazanie zmiennej między dwoma plikami PHP - metody GET i POST.
METODA GET Metoda GET to metoda, za pomocą której można przekazać kilka zmiennych, przechowujących małą ilość danych. GET polega na wywołaniu pliku PHP z dodaniem po jego nazwie następującej części: index.php?zmienna1=wartosc1&zmienna2=wartosc2 Nazwy zmiennych i ich liczba może być dowolna jednak większość starszych przeglądarek akceptuje adresy tylko do 1024 znaków.
METODA POST Metoda POST służy do przekazywania dużej liczby zmiennych przy zachowaniu podstawowych zasad poufności. Nazwy zmiennych i ich wartości nie są widoczne, ponieważ są wysyłane jako część nagłówka pliku. Ta metoda działa jedynie w przypadku formularzy.
TABLICE SUPERGLOBALNE $_POST I $_GET Zmienne przekazane jako POST lub GET trafiają do tablic superglobalnych $_POST, $_GET. Tablice te są asocjacyjne i nazwą danego klucza jest nazwa zmiennej, a wartością - wartość tej zmiennej. index.php?imie=agnieszka echo $_POST["imie"]; echo $_GET["imie"];
ZAŁĄCZANIE ZEWNĘTRZNYCH PLIKÓW Cały skrypt nie zawsze musi się znajdować w jednym pliku. W dużych serwisach niektóre elementy i funkcje powtarzają się, inne są wykorzystywane jedynie raz. Logicznym jest więc umieszczenie ich w osobnym pliku i dołączanie do strony wtedy, gdy są potrzebne. Istnieją cztery funkcje dołączające pliki zewnętrzne do strony. include() include_once() require() require_once()
INCLUDE() I INCLUDE_ONCE() @include($path); //dołącza plik w każdym miejscu wywołania @include_once($path); //dołącza plik tylko raz plik załączany w ten sposób jest wczytywany i załączany, gdy wykonywana jest linia z instrukcją. wszystkie zmienne z pliku będą dostępne w pliku głównym dopiero od miejsca, gdzie znajduje się instrukcja. jeśli plik dołączono wewnątrz funkcji, to zmienne w nim zawarte staną się zmiennymi dostępnymi tylko wewnątrz tej funkcji. brak pliku wyświetla błąd (warning), który można wyciszyć operatorem @ - strona nadal będzie działała.
REQUIRE() I REQUIRE_ONCE() require('/funkcje/db_function.php'); require_once('/funkcje/db_function.php'); plik załączany wczytywany jest od razu, niezależnie od jego położenia w kodzie; wszystkie zmienne dostępne we wczytanym pliku będą dostępne w pliku głównym od samego początku; jeśli wywołamy require() w petli plik zostanie dołączony tylko raz; brak pliku wywołuje błąd (fatal error) i zatrzymuje działanie skryptu; ścieżka do strony nie może być zmienną.
PRZYKŁAD MENU <a href="index.php">strona główna</a> <a href="index.php?str=o_nas">informacje o nas</a> <a href="index.php?str=oferta">nasza oferta</a> <a href="index.php?str=kontakt">napisz do nas</a> <?php?> $str=$_get['str'];
PIERWSZY SPOSÓB <?php if($str=='o_nas'){ include('./pages/o_nas.php'); } elseif($str=='oferta'){ include('./pages/oferta.php'); } elseif($str=='kontakt'){ include('./pages/kontakt.php'); } else{ include('./pages/strona_glowna.php'); }?>
DRUGI SPOSÓB <?php switch($str){ case 'o_nas': include('./pages/o_nas.php'); break; case 'oferta': include('./pages/oferta.php'); break; case 'kontakt': include('./pages/kontakt.php'); break; default: include('./pages/strona_glowna.php'); }?>
TRZECI SPOSÓB <?php $page_dir = "./pages/"; $main_path = "./pages/strona_glowna.php"; $str=$_get['str']; $path=$page_dir. $str. ".php"; // np.:./pages/kontakt.php?> if(file_exists($path)) include($path); else include($main_path);
DZIĘKUJĘ ZA UWAGĘ MATERIAŁY POMOCNICZE http://www.w3schools.com/php/default.asp