PHP zaawansowane programowanie
|
|
- Seweryna Domańska
- 8 lat temu
- Przeglądów:
Transkrypt
1 Programowanie Aplikacji Internetowych Wykład 7 PHP zaawansowane programowanie Opracował dr inż. Dariusz Trawicki Gdańsk
2 PHP zaawansowane programowanie Wzorce projektowe Wzorzec MVC Warstwa abstrakcji baz danych Mapowanie obiektowo-relacyjne Szablony (Smarty) PEAR 2
3 PHP zaawansowane programowanie Wzorce projektowe Wzorzec projektowy - określony sposób rozwiązania danego problemu. Jest to swego rodzaju opis uniwersalnego rozwiązania często występującego problemu w określonym kontekście. Więcej na stronie: 3
4 Architektura MVC Przykładem wzorca architektury aplikacji internetowej jest MVC (ang. Model-View- Controler). Wzorzec model-widok-kontroler pozwala odseparować w programie logikę sterująca aplikacją (kontroler), generowaną treść (widok) i przetwarzanie danych (model) w taki sposób by każdy z tych trzech elementów reprezentował odrębne, niezależne komponenty. Więcej np. na stronach: Wzorzec MVC jest często używany we frameworkach do szybkiego tworzenia aplikacji internetowych. Przykładami frameworków (stworzonych w PHP) stosujących ten wzorzec są: Code Igniter, Kohana, CakePHP, Zend Framework, Symfony. 4
5 Rys.7.1.Wzorzec MVC 5
6 Przykład ( W poniższym przykładzie przedstawiona zostanie idea konwersji typowej, napisanej w PHP aplikacji internetowej do aplikacji bazującej na architekturze MVC. Poniżej przedstawiony kod jest przykładem tzw. płaskiego programowania/pliku (ang. flat programming/file). <?php // Connecting, selecting database $link = mysql_connect('localhost', 'myuser', 'mypassword'); mysql_select_db('blog_db', $link); // Performing SQL query $result = mysql_query('select date, title FROM post', $link);?> <html> <head> <title>list of Posts</title> </head> 6
7 <body> <h1>list of Posts</h1> <table> <tr><th>date</th><th>title</th></tr> <?php // Printing results in HTML while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { echo "\t<tr>\n"; printf("\t\t<td> %s </td>\n", $row['date']); printf("\t\t<td> %s </td>\n", $row['title']); echo "\t</tr>\n";?> </table> </body> </html> <?php // Closing connection mysql_close($link);?> 7
8 Przedstawiony kod charakteryzują trzy zasadnicze wady: 1. Brak kontroli występowania ewentualnych błędów w trakcie wykonywania skryptu, np. może wystąpić problem połączenia z serwerem baz danych. 2. Nagminne przeplatanie się kodu HTML z kodem PHP. 3. Skrypt jest ukierunkowany na współpracę z serwerem MySQL. Wyodrębnienie warstwy prezentacji Przytoczony kod zostanie podzielony na dwie części. Pierwsza zawierająca kod PHP odpowiedzialna jest za tzw. logikę biznesową tworzyć będzie tzw. kontroler aplikacji. 8
9 Kod kontrolera (plik index.php) <?php // Connecting, selecting database $link = mysql_connect('localhost', 'myuser', 'mypassword'); mysql_select_db('blog_db', $link); // Performing SQL query $result = mysql_query('select date, title FROM post', $link); // Filling up the array for the view $posts = array(); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { $posts[] = $row; // Closing connection mysql_close($link); // Requiring the view require('view.php');?> Logika odpowiedzialna za działanie aplikacji jest realizowana w kontrolerze. Plik kontrolera zawiera jedynie kod PHP (brak HTMLa), co umożliwia wykorzystanie go, np. do aplikacji prezentującej wyniki w postaci pliku pdf czy też xml. 9
10 Natomiast kod HTML, wzbogacony o kod PHP prezentujący wyniki/dane uzyskane z kontrolera, zostanie zapisany w wydzielonym pliku (view.php), generującym tzw. widok rozważanej aplikacji. Kod widoku (plik view.php) <html> <head> <title>list of Posts</title> </head> <body> <h1>list of Posts</h1> <table> <tr><th>date</th><th>title</th></tr> <?php foreach ($posts as $post):?> <tr> <td><?php echo $post['date']?></td> <td><?php echo $post['title']?></td> </tr> <?php endforeach;?> </table> </body> </html> UWAGA: Kod PHP zawarty w widoku należy ograniczać do niezbędnego minimum. Zaleca się zawęzić wykorzystywane w widoku instrukcje PHP do: echo, if/endif, foreach/endforeach. 10
11 Wyodrębnienie modelu Znacząca część kodu zawartego w kontrolerze związana odpowiada za manipulowania danymi. Należy się zastanowić czy jest to rozwiązanie dobre, pojawiają się pytania: 1. Co w przypadku, gdy w przypadku bardziej rozbudowanej aplikacji inna jej część (inny kontroler) wymagać będzie tych samych danych z bazy? 2. Czy nie wygodniej przechowywać kod odpowiedzialny za komunikacje z bazą w jednym "miejscu" (pliku, klasie, itp.) aplikacji? 3. Co się stanie w przypadku gdy powstanie koniecznośc zmiany sposobu przechowywania danych, np. zmiana serwera baz danych z MySQL na PostgreSQL? Wychodząc naprzeciw wymienionym problemom warto wyodrębnić odpowiedni kod z pliku kontrolera i umieścić go w wydzielonym pliku (model.php), który nazywać będziemy modelem. Model jest częścią MVC, odpowiedzialną za tzw. logikę biznesową. Termin logika biznesowa odnosi się do funkcjonalności związanej ze sposobem, w jaki aplikacja przechowuje dane. 11
12 Kod modelu (plik model.php) <?php function getallposts() { // Connecting, selecting database $link = mysql_connect('localhost', 'myuser', 'mypassword'); mysql_select_db('blog_db', $link); // Performing SQL query $result = mysql_query('select date, title FROM post', $link); // Filling up the array $posts = array(); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { $posts[] = $row; // Closing connection mysql_close($link); return $posts;?> 12
13 Wprowadzone modyfikacje skutkują tym, iż kod kontrolera (plik index.php) znacznie się upraszcza. Plik index.php <?php // Requiring the model require_once('model.php'); // Retrieving the list of posts $posts = getallposts(); // Requiring the view require('view.php');?> W rozważanej aplikacji zadaniem kontrolera jest przekazanie pobranych z modelu danych do widoku. W przypadku bardziej złożonych aplikacji zadaniami obsługiwanymi przez kontroler są m.in. autoryzacja użytkownika, obsługa sesji, odbiór przesyłanych danych itp. 13
14 Podsumowując należy podkreślić fakt, iż w efekcie końcowym uzyskaliśmy aplikację spełniającą założenia architektury MVC, która wymaga podziału aplikacji na trzy zasadnicze warstwy: modelu, widoku i kontrolera. W MVC stosowana jest zasada oddzielenia logiki biznesowej od warstwy prezentacji. Pozwala to na niezależne prowadzenie prac (separację) programistów (kod funkcjonalny) oraz projektantów (odpowiednia prezentacja wyświetlanych danych). Zalety oddzielenia logiki biznesowej od warstwy prezentacji: zwiększoną czytelność kodu HTML i PHP, łatwiejsze zarządzanie dużymi projektami, łatwiejsza konserwacja projektów, programista nie musi konsultować każdej zmiany z projektantem (i na odwrót), programista może modyfikować kod PHP bez konieczności dokonywania zmian w szablonach, specjalizacja - wzrost wydajności. 14
15 Warstwa abstrakcji baz danych Kolejnym problemem jest sposób implementacji modelu. Podstawową zaletą wyodrębnienia modelu jest możliwość jego wielokrotnego użycia, unikając przy tym zbędnego powielania kodu odpowiedzialnego za manipulację wykorzystywanych w aplikacji danych. W tym miejscu warto jednakże wprowadzić jeszcze jeden termin/mechanizm jakim jest warstwa abstrakcji baz danych [WABD] (ang. Database Abstraction Layer [DAL]). Jej użycie wprowadza do aplikacji cechę odporności na ewentualne zmiany sposobu przechowywania danych. Warstwa modelu zostanie podzielona na dwie części: warstwę dostępu do danych, warstwę abstrakcji baz danych. Zawarte w warstwie dostępu do danych funkcje (operujące na danych) nie zawierają kodu zależnego od używanego źródła danych, np. serwera baz danych. Wywołują one natomiast odpowiednie funkcje (warstwę abstrakcji baz danych) odpowiedzialne bezpośrednio za manipulację danymi, np. komunikację z bazą danych (przesyłanie kwerend SQL). 15
16 Kod (część modelu) implementujący warstwę abstrakcji baz danych <?php function open_connection($host, $user, $password) { return mysql_connect($host, $user, $password); function close_connection($link) { mysql_close($link); function query_database($query, $database, $link) { mysql_select_db($database, $link); return mysql_query($query, $link); function fetch_results($result) { return mysql_fetch_array($result, MYSQL_ASSOC);?> 16
17 Kod (część modelu) implementujący warstwę dostępu do danych <?php function getallposts() { // Connecting to database $link = open_connection('localhost', 'myuser', 'mypassword'); // Performing SQL query $result = query_database('select date, title FROM post', 'blog_db', $link); // Filling up the array $posts = array(); while ($row = fetch_results($result)) { $posts[] = $row; // Closing connection close_connection($link); return $posts;?> 17
18 WABD umożliwia korzystanie z różnych sterowników baz danych, co oznacza, że aplikacja pracująca na bazie MySQL mogłaby równie dobrze pracować pod każdą inną bazą danych SQL, czyli WABD ujednolica interfejs API. Jest to możliwe dzięki połączeniu ze sobą: - warstwy abstrakcji dla interfejsu bazy danych (ujednolicenie połączeń i przesyłu danych z bazą), - warstwy abstrakcji dla kodu SQL (w razie potrzeby emulującą kod SQL do zgodnego z wybraną bazą danych), - warstwy abstrakcji typów danych. Przykładami warstwy abstrakcji baz danych są: MDB2 (dostępna w ramach PEAR), Creole, PDO (PHP Data Objects ). 18
19 Mapowanie obiektowo-relacyjne Kolejnym krokiem prowadzącym do wydajnej i wygodnej obsługi baz danych jest tzw. mapowanie obiektowo-relacyjne (ang. Object-Relational Mapping ORM). Pozwala ono na dostęp do bazy danych za pomocą zestawu obiektów, dostarczając proste API do odczytywania i zapisywania danych. Przykładem biblioteki PHP implementującej ORM jest biblioteka o nazwie Propel. Propel, jako aplikacja, posiada dwa główne komponenty (całkowicie rodzielne): 1. Generator służący do budowy klas i plików z kodem SQL (propel-generator) 2. Środowisko, które pozwala budować i wykonywać zapytania SQL oraz narzędzia do zarządzania symultanicznymi połączeniami do serwerów bazodanowych (propel-runtime) Środowisko uruchomieniowe dostarcza warstwę abstrakcji i enkapsulacji bazy danych dla logiki biznesowej. Klasy Propela reprezentują warstwę modelu w tradycyjnym MVC. Model ten został zaprojektowany tak, aby zawierał możliwość walidacji na każdym poziomie Twojej aplikacji. Poniższy diagram (źródło: pokazuje, jak Propel współpracuje z Creole. Najwyższy poziom, to aplikacja napisana w PHP i może zawierać dowolną ilość innych warstw. 19
20 20
21 Przykład ze strony: baz_danych_w_php5/podstawowe_operacje_na_obiektach Poniższy kod realizuje prosty sposób obsługi przykładowego formularza <?php $link = mysql_connect('localhost', 'root', ''); if (!$link) { die('nie mogę się połączyć do DB: '. mysql_error()); $db_selected = mysql_select_db('bookstore', $link); if (!$db_selected) { die('nie mogę użyć DB "bookstore": '. mysql_error()); //Wydawca $sql = 'INSERT INTO publisher (name) VALUES '.'("'.mysql_escape_string($_post['publisher_name']).'")'; $result = mysql_query($sql); if (!$result) { die(mysql_error()); $publisher_id = mysql_insert_id(); 21
22 c.d. //Autor $sql = 'INSERT INTO author (first_name, last_name) VALUES '.'("'.mysql_escape_string($_post['firs_name']).'","'.mysql_escape_string($_post['last_name']).'")'; $result = mysql_query($sql); if (!$result) { die(mysql_error()); $author_id = mysql_insert_id(); //Książka $sql = 'INSERT INTO book (publisher_id, author_id, title, isbn)'.'values '.'('.$publisher_id.','.$author_id.','.'"'.mysql_escape_string($_post['title']).'","'.mysql_escape_string($_post['isbn']).'")'; $result = mysql_query($sql); if (!$result) { die(mysql_error()); $book_id = mysql_insert_id(); mysql_close($link); echo "Dodano książkę o ID: $book_id";?> 22
23 Obsługa przykładowego formularza tym razem zrealizowany w Propel <?php $old_inc_path = ini_get('include_path'); ini_set('include_path',$old_inc_path.';f:/www/phpsolmag/propel/propel /runtime/classes'); require_once('propel/propel.php'); Propel::init(dirname( FILE ).'/conf/bookstore-conf.php'); include_once 'bookstore/publisher.php'; include_once 'bookstore/author.php'; include_once 'bookstore/book.php'; $pub = new Publisher(); $pub->setname($_post['publisher_name']); $author = new Author(); $author->setfirstname($_post['firs_name']); $author->setlastname($_post['last_name']); $book = new Book(); $book->settitle($_post['title']); $book->setisbn($_post['isbn']); $book->setpublisher($pub); $book->setauthor($author); $book->save();?> 23
24 PHP zaawansowane programowanie System szablonów pozwala usprawnić wspólną pracę projektantom i programistom aplikacji PHP oraz oddzielić logikę biznesową od warstwy prezentacji danych. Szablon jest jedynie szkieletem nie zawierającym treści. W miejscach, w których powinna znaleźć się treść, umieszczone są zmienne szablonu, które określają, w jaki sposób szablon wypełnić treścią, by otrzymać kompletną stronę WWW. Przykładem systemu szablonów dla języka PHP jest Smarty. 24
25 PHP zaawansowane programowanie PEAR (ang. PHP Extension and Application Repository - zbiór rozszerzeń i aplikacji PHP) jest biblioteką oferującą ponad 500 uporządkowanych i podzielonych na kategorie pakietów klas, których kod został wielokrotnie zbadany przez programistów z całego świata pod kątem bezpieczeństwa i szybkości wykonywania. Pakiety dostępne w PEAR zawierają gotowe rozszerzenia umożliwiające wykonanie niemal wszystkich standardowych operacji w PHP. Rozszerzenia te przechodzą przez ścisły system kontroli jakości, a ich autorzy muszą stosować się do określonych zaleceń. Dlatego pisanie programów z wykorzystaniem pakietów jest nie tylko szybsze, ale prowadzi też do powstawania lepszych i bardziej spójnych aplikacji. Przykłady pakietów PEAR: Auth - uwierzytelnianie użytkownika, Database - połączenie z bazą danych, Mail - współpraca z POP, IMAP i SMTP, Calendar - praca z datami. 25
Wprowadzenie do framework a Symfony
Wprowadzenie do framework a Symfony mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Bazuje na wzorcu projektowym MVC Niezależność od systemu bazodanowego Programowanie zorientowane
Bardziej szczegółowoAplikacje WWW - laboratorium
Aplikacje WWW - laboratorium PHP + bazy danych Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię PHP. Aplikacja pokazuje takie aspekty, współpraca PHP z bazami
Bardziej szczegółowoWprowadzenie do framework a Symfony
Wprowadzenie do framework a Symfony Bazuje na wzorcu projektowym MVC Niezależność od systemu bazodanowego Programowanie zorientowane obiektowo Łatwość w instalacji oraz konfiguracji na większości platform
Bardziej szczegółowoWprowadzenie do framework a Symfony
Wprowadzenie do framework a Symfony 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
Bardziej szczegółowoAplikacje WWW - laboratorium
Aplikacje WWW - laboratorium PHP + bazy danych Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię PHP. Aplikacja pokazuje takie aspekty, współpraca PHP z bazami
Bardziej szczegółowoTemat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych
PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych
Bardziej szczegółowoKrótki i szybki przegląd frameworków
Krótki i szybki przegląd frameworków Framework Framework to szkielet do budowy aplikacji Definiuje on strukturę aplikacji oraz mechanizm jej działania. Dostarcza zestaw komponentów i bibliotek. Programista
Bardziej szczegółowoGrzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki 2011. Promotor dr inż. Paweł Figat
Grzegorz Ruciński Warszawska Wyższa Szkoła Informatyki 2011 Promotor dr inż. Paweł Figat Cel i hipoteza pracy Wprowadzenie do tematu Przedstawienie porównywanych rozwiązań Przedstawienie zalet i wad porównywanych
Bardziej szczegółowoSpecyfikacja implementacyjna aplikacji serwerowej
Projekt: System wspomagania osób studiujących Strona: 1 / 7 Opracowali: Zatwierdzili: Spis treści Damian Głuchowski Krzysztof Krajewski Krzysztof Krajewski dr inż. Sławomir Skoneczny Spis treści... 1 1.
Bardziej szczegółowoZagadnienia. Konstrukcja bibliotek mysql i mysqli w PHP. Dynamiczne generowanie stron. Połączenie, zapytanie i sesja
Zagadnienia Konstrukcja bibliotek mysql i mysqli w PHP Dynamiczne generowanie stron Połączenie, zapytanie i sesja Podstawowe opakowanie dla zapytań SQL w PHP Zarządzania uŝytkownikami Włamania do mysql
Bardziej szczegółowoDokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy
Dokumentacja techniczna Młodzieżowe Pośrednictwo Pracy Spis Treści 1. Widok ogólny architektury MPP... 3 2. Warstwy systemu... 5 3. Struktura systemu/komponentów... 7 3.1 Aplikacje... 7 3.2 Biblioteki...
Bardziej szczegółowoWprowadzenie do Doctrine ORM
Wprowadzenie do Doctrine ORM Przygotowanie środowiska Do wykonania ćwiczenia konieczne będzie zainstalowanie narzędzia Composer i odpowiednie skonfigurowanie Netbeans (Tools->Options->Framework & Tools->Composer,
Bardziej szczegółowoDostęp do baz danych z serwisu www - PHP. Wydział Fizyki i Informatyki Stosowanej Joanna Paszkowska, 4 rok FK
Dostęp do baz danych z serwisu www - PHP Wydział Fizyki i Informatyki Stosowanej Joanna Paszkowska, 4 rok FK Bazy Danych I, 8 Grudzień 2009 Plan Trochę teorii Uwagi techniczne Ćwiczenia Pytania Trójwarstwowy
Bardziej szczegółowoAplikacje WWW - laboratorium PHP + bazy danych
Aplikacje WWW - laboratorium PHP + bazy danych Wersja poprawiona Autorzy: Kamil Piasecki, Kamil Sawicki Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię PHP.
Bardziej szczegółowoI.Wojnicki, Tech.Inter.
Igor Wojnicki (AGH, KA) Frameworks 28 maja 2012 1 / 31 Frameworks oraz Serwery Aplikacji Igor Wojnicki Katedra Automatyki Akademia Górniczo-Hutnicza w Krakowie 28 maja 2012 Igor Wojnicki (AGH, KA) Frameworks
Bardziej szczegółowoBudowa aplikacji ASP.NET z wykorzystaniem wzorca MVC
Akademia MetaPack Uniwersytet Zielonogórski Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Krzysztof Blacha Microsoft Certified Professional Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Agenda:
Bardziej szczegółowoMVC w praktyce tworzymy system artykułów. cz. 2
MVC w praktyce tworzymy system artykułów. cz. 2 W drugiej części artykułu o wzorcu MVC stworzymy część skryptu, odpowiedzialną za obsługę kategorii. Tworzymy kontroler kategorii Na początek stwórzmy plik
Bardziej szczegółowoProjektowanie aplikacji w modelu MVC opartej o framework CodeIgniter
Projektowanie aplikacji w modelu MVC opartej o framework CodeIgniter Konfiguracja i przygotowanie przykładowej aplikacji opartej o model Model-View- Controller Konfiguracja frameworka Zainstaluj na serwerze
Bardziej szczegółowoPLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy
Bardziej szczegółowoBazy Danych i Usługi Sieciowe
Bazy Danych i Usługi Sieciowe Język PHP Paweł Witkowski Wydział Matematyki, Informatyki i Mechaniki Jesień 2011 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki) BDiUS w. VIII Jesień 2011 1 /
Bardziej szczegółowoPHP + MySQL w laboratorium (1)
PHP + MySQL w laboratorium (1) W czasie użytkowania systemu musi działać serwer MySQL, Apache i być dostępna przeglądarka internetowa. Zadanie 1 - Umieścić wydrukowany poniżej skrypt info.php w kartotece
Bardziej szczegółowoPHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych:
PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł mysqli ma dwa interfejsy: proceduralny i obiektowy) PostgreSQL Oracle MS
Bardziej szczegółowoWydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki
Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki Instrukcja do zajęć laboratoryjnych Przetwarzanie i organizowanie danych : bazy danych Nr ćwiczenia 10 Temat Aplikacje
Bardziej szczegółowoPrzykładowa implementacja
Wzorce projektowe, cz. 10 Facade Fasada służy do ujednolicenia dostępu do złożonego systemu poprzez udostępnienie uproszczonego i uporządkowanego interfejsu programistycznego. Fasada zwykle implementowana
Bardziej szczegółowoPrzygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)
Program szkolenia: Przygotowanie do nowoczesnego programowania po stronie przeglądarki (HTML5, CSS3, JS, wzorce, architektura, narzędzia) Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania:
Bardziej szczegółowoInformatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.
Informatyka I Programowanie aplikacji bazodanowych w języku Java. Standard JDBC. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 Standard JDBC Java DataBase Connectivity
Bardziej szczegółowoTOPIT Załącznik nr 3 Programowanie aplikacji internetowych
Szkolenie przeznaczone jest dla osób chcących poszerzyć swoje umiejętności o tworzenie rozwiązań internetowych w PHP. Zajęcia zostały przygotowane w taki sposób, aby po ich ukończeniu można było rozpocząć
Bardziej szczegółowomedia Blitz wydajne sytemy szablonów
Blitz wydajne sytemy szablonów Dlaczego stosować szablony? MVC Kontroler Model Widok Co to jest Blitz? Rozszerzenie PHP stworzone przez Alexey A. Rybak a. Regularnie rozwijany od 2005 roku. Szybki i lekki
Bardziej szczegółowoMVC w praktyce tworzymy system artykułów. cz. 1
MVC w praktyce tworzymy system artykułów. cz. 1 Tworząc różnego rodzaju aplikacje natrafiamy na poważny problem utrzymania dobrej organizacji kodu przejrzystej oraz łatwej w rozbudowie. Z pomocą przychodzą
Bardziej szczegółowoEwolucja projektowania aplikacji w PHP na bazie frameworka Symfony 2
Ewolucja projektowania aplikacji w PHP na bazie frameworka Symfony 2 Statyczne strony HTML Wczytanie statycznej strony HTML sprowadza się do odebrania żądania przez serwer, odnalezienia właściwego pliku
Bardziej szczegółowoInformatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java
Informatyka I Standard JDBC Programowanie aplikacji bazodanowych w języku Java dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Standard JDBC Java DataBase Connectivity uniwersalny
Bardziej szczegółowoAplikacje WWW - laboratorium
Aplikacje WWW - laboratorium PHP. Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię PHP. Aplikacja pokazuje takie aspekty, obsługa formularzy oraz zmiennych
Bardziej szczegółowoTworzenie aplikacji Web Alicja Zwiewka. Page 1
Tworzenie aplikacji Web Alicja Zwiewka Page 1 Co to są web-aplikacje? Aplikacja internetowa (ang. web application) program komputerowy, który pracuje na serwerze i komunikuje się poprzez sieć komputerową
Bardziej szczegółowoWprowadzenie do programowania aplikacji mobilnych
Wprowadzenie do programowania aplikacji mobilnych dr Przemysław Juszczuk dr Przemysław Juszczuk Trochę historii Idea wzorców projektowych wywodzi się jeszcze z wczesnych lat osiemdziesiątych ubiegłego
Bardziej szczegółowoZakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi
Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi 1 Rozdział 1 Wprowadzenie do PHP i MySQL Opis: W tym rozdziale kursanci poznają szczegółową charakterystykę
Bardziej szczegółowoPawel@Kasprowski.pl Języki skryptowe - PHP. PHP i bazy danych. Paweł Kasprowski. pawel@kasprowski.pl. vl07
PHP i bazy danych Paweł Kasprowski pawel@kasprowski.pl Użycie baz danych Bazy danych używane są w 90% aplikacji PHP Najczęściej jest to MySQL Funkcje dotyczące baz danych używają języka SQL Przydaje się
Bardziej szczegółowoPHP: bazy danych, SQL, AJAX i JSON
1 PHP: bazy danych, SQL, AJAX i JSON SYSTEMY SIECIOWE Michał Simiński 2 Bazy danych Co to jest MySQL? Jak się połączyć z bazą danych MySQL? Podstawowe operacje na bazie danych Kilka dodatkowych operacji
Bardziej szczegółowoPodstawy programowania III WYKŁAD 2
Podstawy programowania III WYKŁAD 2 Jan Kazimirski 1 Komunikacja z bazami danych 2 PHP i bazy danych PHP zapewnia dostęp do wielu popularnych baz danych. Kilka poziomów abstrakcji: Funkcje obsługujące
Bardziej szczegółowoGenerated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only. System Szablonów
System Szablonów System szablonów System szablonów to biblioteka, która pozwala oddzielić warstwę prezentacji od warstwy logicznej. Aplikacja WWW najpierw pobiera wszystkie dane, przetwarza je i umieszcza
Bardziej szczegółowoI.Wojnicki, PHP. Smarty. Igor Wojnicki. Katedra Informatyki Stosowanej Akademia Górniczo-Hutnicza w Krakowie. 28 marca 2014
Igor Wojnicki (AGH, KIS) Smarty 28 marca 2014 1 / 33 Smarty Igor Wojnicki Katedra Informatyki Stosowanej Akademia Górniczo-Hutnicza w Krakowie 28 marca 2014 $Id: smarty.tex,v 1.2 2013/06/22 22:09:45 wojnicki
Bardziej szczegółowoPoznaj ASP.NET MVC. Kamil Cieślak Microsoft Student Partner 2013-03-11
Poznaj ASP.NET MVC Kamil Cieślak Microsoft Student Partner 2013-03-11 Agenda Czym jest ASP.NET MVC? Wzorzec MVC ASP.NET MVC vs inne frameworki Bazy danych w ASP.NET MVC Jak zacząć? 2 Czym jest ASP.NET
Bardziej szczegółowoTworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)
Tworzenie witryn internetowych PHP/Java (mgr inż. Marek Downar) Co narzuca MVC? Architekturę aplikacji wykonaną w konwencji Model Widok - Kontroler Model reprezentacja danych i dostępu do nich Widok elementy
Bardziej szczegółowoRuby on Rails. Supersilnik WWW. Łukasz Włodarczyk
Ruby on Rails Supersilnik WWW Łukasz Włodarczyk Spis Treści Co to jest Ruby? Dlaczego Ruby? Co to jest Rails? Historia Ruby on Rails Filozofia Ruby on Rails Jak działa technologia Rails? Ruby on Rails
Bardziej szczegółowoDatabase Connectivity
Oprogramowanie Systemów Pomiarowych 15.01.2009 Database Connectivity Dr inŝ. Sebastian Budzan Zakład Pomiarów i Systemów Sterowania Tematyka Podstawy baz danych, Komunikacja, pojęcia: API, ODBC, DSN, Połączenie
Bardziej szczegółowoFull Stack JavaScript z Angular i Nest. Dni: 5. Opis: Adresaci szkolenia
Kod szkolenia: Tytuł szkolenia: DED/FSJS Full Stack JavaScript z Angular i Nest Dni: 5 Opis: Adresaci szkolenia Kurs przeznaczony jest dla programistów posiadających podstawową wiedzę w zakresie JavaScript,
Bardziej szczegółowoJęzyki programowania wysokiego poziomu. PHP cz.4. Bazy danych
Języki programowania wysokiego poziomu PHP cz.4. Bazy danych PHP i bazy danych PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 13 Marcin Młotkowski 27 maja 2015 Plan wykładu Trwałość obiektów 1 Trwałość obiektów 2 Marcin Młotkowski Programowanie obiektowe 2 / 29 Trwałość (persistence) Definicja Cecha
Bardziej szczegółowoREFERAT PRACY DYPLOMOWEJ
REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i implementacja środowiska do automatyzacji przeprowadzania testów aplikacji internetowych w oparciu o metodykę Behavior Driven Development. Autor: Stepowany
Bardziej szczegółowoAnaliza i projektowanie aplikacji Java
Analiza i projektowanie aplikacji Java Modele analityczne a projektowe Modele analityczne (konceptualne) pokazują dziedzinę problemu. Modele projektowe (fizyczne) pokazują system informatyczny. Utrzymanie
Bardziej szczegółowoE-commerce. Genialnie proste tworzenie serwisów w PHP i MySQL.
E-commerce. Genialnie proste tworzenie serwisów w PHP i MySQL. Autor: Larry Ullman Poznaj zasady wirtualnego handlu i zarabiaj prawdziwe pieniądze Jak stworzyć doskonałą witrynę sklepu internetowego? Jak
Bardziej szczegółowoTworzenie raportów XML Publisher przy użyciu Data Templates
Tworzenie raportów XML Publisher przy użyciu Data Templates Wykorzystanie Szablonów Danych (ang. Data templates) jest to jedna z metod tworzenia raportów w technologii XML Publisher bez użycia narzędzia
Bardziej szczegółowoBazy danych 2. Wykład 1
Bazy danych 2 Wykład 1 Sprawy organizacyjne Materiały i listy zadań zamieszczane będą na stronie www.math.uni.opole.pl/~ajasi E-mail: standardowy ajasi@math.uni.opole.pl Sprawy organizacyjne Program wykładu
Bardziej szczegółowoTworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)
Tworzenie witryn internetowych PHP/Java (mgr inż. Marek Downar) Rodzaje zawartości Zawartość statyczna Treść statyczna (np. nagłówek, stopka) Layout, pliki multimedialne, obrazki, elementy typograficzne,
Bardziej szczegółowoInternetowe bazy danych
Wyższa Szkoła Technologii Teleinformatycznych w Świdnicy Internetowe bazy danych wykład 5 dr inż. Jacek Mazurkiewicz e-mail: Jacek.Mazurkiewicz@pwr.wroc.pl mysql_list_tables pobranie listy tabel z bazy
Bardziej szczegółowoAplikacje WWW Wprowadzenie
Aplikacje WWW Wprowadzenie Beata Pańczyk na podstawie http://www.e-informatyka.edu.pl/ http://wazniak.mimuw.edu.pl/index.php?title=aplikacje_www Plan wykładu Składniki architektury WWW: klient HTTP, serwer
Bardziej szczegółowoDotacje na innowacje. Inwestujemy w waszą przyszłość.
PROJEKT TECHNICZNY Implementacja Systemu B2B w firmie Lancelot i w przedsiębiorstwach partnerskich Przygotowane dla: Przygotowane przez: Lancelot Marek Cieśla Grzegorz Witkowski Constant Improvement Szkolenia
Bardziej szczegółowoAplikacje Internetowe, Servlety, JSP i JDBC
Aplikacje Internetowe, Servlety, JSP i JDBC Opis Java 2 Enterprise Edition (JEE) jest potężną platformą do tworzenia aplikacji webowych. PLatforma JEE oferuje wszystkie zalety tworzenia w Javie plus wszechstronny
Bardziej szczegółowoForum Client - Spring in Swing
Forum Client - Spring in Swing Paweł Charkowski. 0. Cel projektu Celem projektu jest próba integracji Spring Framework z różnymi technologiami realizacji interfejsu użytkownika, oraz jej ocena. Niniejszy
Bardziej szczegółowoWidoki zagnieżdżone, layout. 1. Wprowadzenie Repozytoria danych
Widoki zagnieżdżone, layout 1. Wprowadzenie Repozytoria danych Identyczne operacje na danych często się powtarzają np. pobierz książkę. Jeśli zapytanie realizowane jest za każdym razem w metodzie kontrolera
Bardziej szczegółowoXQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery
http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod
Bardziej szczegółowoSzkolenie wycofane z oferty
Szkolenie wycofane z oferty Program szkolenia: Java Server Faces 2 Informacje: Nazwa: Java Server Faces 2 Kod: Java-EE-JSF 2 Kategoria: Java EE Grupa docelowa: developerzy Czas trwania: 3 dni Forma: 50%
Bardziej szczegółowoSIECI KOMPUTEROWE I BAZY DANYCH
Akademia Górniczo-Hutnicza Wydział Inżynierii Mechanicznej i Robotyki Katedra Robotyki i Dynamiki Maszyn SIECI KOMPUTEROWE I BAZY DANYCH ĆWICZENIE NR 10 Temat: INTERFEJS SYSTEMU BAZODANOWEGO W PHP. BUDOWA
Bardziej szczegółowoPRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: PROGRAMOWANIE APLIKACJI BAZODANOWYCH DATABASE APPLICATION PROGRAMMING Kierunek: Informatyka Rodzaj przedmiotu: obowiązkowy w ramach specjalności: Inżynieria oprogramowania Rodzaj zajęć:
Bardziej szczegółowoWeb frameworks do budowy aplikacji zgodnych z J2EE. Jacek Panachida
Web frameworks do budowy aplikacji zgodnych z J2EE Jacek Panachida Cel pracy Analiza wybranych ram projektowych dostępnych dla platformy Java Warunki selekcji napisany z wykorzystaniem języka Java oraz
Bardziej szczegółowoProgramowanie zorientowane obiektowo. Mateusz Kołecki
Programowanie zorientowane obiektowo Mateusz Kołecki Plan MVC Wstęp Separacja odpowiedzialnośći Antyprzykład Dobry przykład Wady/zalety MVC MVC to tylko początek - wzorce projektowe Dlaczego chcemy używać
Bardziej szczegółowoProgramowanie w internecie nazwa przedmiotu SYLABUS A. Informacje ogólne
Programowanie w internecie nazwa SYLABUS A. Informacje ogólne Elementy składowe sylabusu Nazwa jednostki prowadzącej kierunek Nazwa kierunku studiów Poziom kształcenia Profil studiów Forma studiów Kod
Bardziej szczegółowoInternetowe bazy danych
Wyższa Szkoła Technologii Teleinformatycznych w Świdnicy Internetowe bazy danych wykład 6 dr inż. Jacek Mazurkiewicz e-mail: Jacek.Mazurkiewicz@pwr.wroc.pl Kontrola dostępu
Bardziej szczegółowoProjektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych
Projektowanie architektury systemu rozproszonego Jarosław Kuchta Zagadnienia Typy architektury systemu Rozproszone przetwarzanie obiektowe Problemy globalizacji Problemy ochrony Projektowanie architektury
Bardziej szczegółowoT-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15
T-SQL dla każdego / Alison Balter. Gliwice, cop. 2016 Spis treści O autorce 11 Dedykacja 12 Podziękowania 12 Wstęp 15 Godzina 1. Bazy danych podstawowe informacje 17 Czym jest baza danych? 17 Czym jest
Bardziej szczegółowoBaza danych do przechowywania użytkowników
System logowania i rejestracji jest bardzo przydatną funkcjonalnością na każdej stronie. Umożliwia sprawną identyfikację i zarządzanie użytkownikami. Strona ze skryptem logowania nabiera dużej wartości.
Bardziej szczegółowoAplikacje webowe w obliczu ataków internetowych na przykładzie CodeIgniter Framework
Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Aplikacje webowe w obliczu ataków internetowych na przykładzie CodeIgniter Framework mgr inż. Łukasz Stefanowicz dr inż.
Bardziej szczegółowoInstrukcja laboratoryjna
Zaawansowane techniki obiektowe 2016/17 Instrukcja laboratoryjna Testy funkcjonalne Prowadzący: Tomasz Goluch Wersja: 1.0 Testowanie aplikacji z bazą danych Większość współczesnych aplikacji korzysta z
Bardziej szczegółowoSzczegółowy opis zamówienia:
Szczegółowy opis zamówienia: Rok 2016 budowa stron w html5 (8h v + 4h ćw) 8 szt. html5 - zaawans. (7h v + 5h ćw) 8 szt. programowania w java script (9h v + 7h ćw) 8 szt. java script zaawans (8h v + 4h
Bardziej szczegółowoDokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor
Koszalin, 15.06.2012 r. Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor Zespół projektowy: Daniel Czyczyn-Egird Wojciech Gołuchowski Michał Durkowski Kamil Gawroński Prowadzący: Dr inż.
Bardziej szczegółowoTechnologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski
Technologie dla aplikacji klasy enterprise Wprowadzenie Marek Wojciechowski Co oznacza enterprise-ready? Bezpieczeństwo Skalowalność Stabilność Kompatybilność wstecz Wsparcie Dokumentacja Łatwość integracji
Bardziej szczegółowoSerwery Statefull i Stateless
Serwery Statefull i Stateless Wszystkie serwery aplikacji są określone jako stateless podczas projektowania. Te aplikacje nie przetrzymują stałego połączenia z klientem. Wysyłają one pakiety danych na
Bardziej szczegółowoKurs ASP.NET ASP.NET CORE APLIKACJE WEBOWE
Kurs ASP.NET ASP.NET CORE APLIKACJE WEBOWE Cena szkolenia Cena szkolenia wynosi 100 zł za 60 min. Ilość godzin szkolenia jest zależna od postępów w nauce uczestnika kursu oraz ilości czasu, którą będzie
Bardziej szczegółowoASP.NET MVC. Grzegorz Caban grzegorz.caban@gmail.com. 20 stycznia 2009
ASP.NET MVC Grzegorz Caban grzegorz.caban@gmail.com 20 stycznia 2009 Agenda Przyczyna powstania Co to jest ASP.NET MVC Architektura Hello World w ASP.NET MVC ASP.NET MVC vs ASP.NET WebForm Przyszłość framework'a
Bardziej szczegółowo1 Wprowadzenie do J2EE
Wprowadzenie do J2EE 1 Plan prezentacji 2 Wprowadzenie do Java 2 Enterprise Edition Aplikacje J2EE Serwer aplikacji J2EE Główne cele V Szkoły PLOUG - nowe podejścia do konstrukcji aplikacji J2EE Java 2
Bardziej szczegółowoKompozycja Proceduralna
Kompozycja Proceduralna Temat 11: Mechanizm szablonów stron dynamicznych na przykładzie PHP Piotr Habela Polsko-Japońska Wyższa Szkoła Technik Komputerowych 1 Plan prezentacji Role autorów w tworzeniu
Bardziej szczegółowoNowoczesne projektowanie aplikacji intrnetowych - opis przedmiotu
Nowoczesne projektowanie aplikacji intrnetowych - opis przedmiotu Informacje ogólne Nazwa przedmiotu Nowoczesne projektowanie aplikacji intrnetowych Kod przedmiotu 11.3-WI-INFD-NPAI Wydział Kierunek Wydział
Bardziej szczegółowoInternetowa ogólnopolska baza informatycznych projektów badawczych otwartej innowacji Platforma współpracy SPINACZ 1/46
Internetowa ogólnopolska baza informatycznych projektów badawczych otwartej innowacji Platforma współpracy SPINACZ 1/46 Projekt jest współfinansowany w ramach programu Ministra Nauki i Szkolnictwa Wyższego
Bardziej szczegółowoPRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: moduł specjalności obowiązkowy: Inżynieria oprogramowania, Programowanie aplikacji internetowych Rodzaj zajęć: wykład, laboratorium I KARTA PRZEDMIOTU
Bardziej szczegółowoProduktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i
Program szkolenia: Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Produktywne tworzenie aplikacji webowych z
Bardziej szczegółowoPodejście obiektowe do relacyjnych baz danych Hibernate.
Podejście obiektowe do relacyjnych baz danych Hibernate. Plan wykładu Czym jest Hibernate? Jakie są zalety pracy z Hibernate? Jak skonfigurować Hibernate? Jak korzystać z Hibernate? Praktyczne przykłady
Bardziej szczegółowoInstrukcja laboratoryjna cz.6
Programowanie aplikacji internetowych 2013/2014 Instrukcja laboratoryjna cz.6 Technologia Silverlight cz.2 Prowadzący: Tomasz Goluch Wersja: 3.0 I. Model danych (tworzenie bazy na podstawie modelu). Cel:
Bardziej szczegółowo2010-11-22 PLAN WYKŁADU BAZY DANYCH PODSTAWOWE KWESTIE BEZPIECZEŃSTWA OGRANICZENIA DOSTĘPU DO DANYCH
PLAN WYKŁADU Bezpieczeństwo w języku SQL Użytkownicy Uprawnienia Role BAZY DANYCH Wykład 8 dr inż. Agnieszka Bołtuć OGRANICZENIA DOSTĘPU DO DANYCH Ograniczenie danych z tabeli dla określonego użytkownika
Bardziej szczegółowoPodstawy wzorca MVC 2011-10-18 MODEL KON- TROLER WIDOK. Odpowiada za wyświetlenie danych użytkownikowi. Zawiera dane aplikacji oraz jej logikę.
Podstawy wzorca MVC MODEL KON- TROLER WIDOK Zawiera dane aplikacji oraz jej logikę. MODEL WIDOK Odpowiada za wyświetlenie danych użytkownikowi KON- TROLER KON- TROLER MODEL WIDOK Jedyna część aplikacji,
Bardziej szczegółowoWzorce architektoniczne
Wzorce architektoniczne Architektura warstwowa, MVP, MVC, MVVM Wojciech Szymecki Wydział Fizyki, Astronomii i Informatyki Stosowanej Uniwersytet Mikołaja Kopernika 23 maja 2014 Architektura warstwowa W
Bardziej szczegółowoProjektowanie obiektowe oprogramowania Wzorce architektury aplikacji (3) Wykład 11 Repository, Unit of Work Wiktor Zychla 2016
Projektowanie obiektowe oprogramowania Wzorce architektury aplikacji (3) Wykład 11 Repository, Unit of Work Wiktor Zychla 2016 Repository dodatkowa warstwa abstrakcji na obiektową warstwę dostępu do danych.
Bardziej szczegółowoSprzeg podstawowy do baz danych w PHP Mateusz Sowa, 2007
1. Wstęp PHP jest to skryptowy język programowania wykonywany po stronie serwera (server-side) służący do generowania stron internetowych. Skrypty napisane w PHP po uruchomieniu nie są kompilowane do postaci
Bardziej szczegółowoPlan. Aplikacja. Architektura aplikacji. Architektura aplikacji Tworzenie aplikacji Application Builder podstawy
Plan Podstawy narzędzia Application Builder, 2 budowa strony, kreatory Architektura Tworzenie Tworzenie formularza tabelarycznego Budowa strony 2 Architektura Aplikacja kolekcja stron połączonych ze sobą
Bardziej szczegółowoArchitektura nowoczesnych aplikacji internetowych
Architektura nowoczesnych aplikacji internetowych Lech Madeyski Michał Stochmiałek Wydziałowy Zakład Informatyki Wydział Informatyki i Zarządzania Politechnika Wrocławska Krajowa Konferencja Inżynierii
Bardziej szczegółowoBazy danych i strony WWW
Bazy danych i strony WWW Obsługa baz danych poprzez strony WWW Niezbędne narzędzia: serwer baz danych np. MySQL serwer stron WWW np. Apache przeglądarka stron WWW interpretująca język HTML język skryptowy
Bardziej szczegółowoRok akademicki: 2030/2031 Kod: ZIE s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: -
Nazwa modułu: Techniki internetowe Rok akademicki: 2030/2031 Kod: ZIE-1-405-s Punkty ECTS: 5 Wydział: Zarządzania Kierunek: Informatyka i Ekonometria Specjalność: - Poziom studiów: Studia I stopnia Forma
Bardziej szczegółowoUsługi analityczne budowa kostki analitycznej Część pierwsza.
Usługi analityczne budowa kostki analitycznej Część pierwsza. Wprowadzenie W wielu dziedzinach działalności człowieka analiza zebranych danych jest jednym z najważniejszych mechanizmów podejmowania decyzji.
Bardziej szczegółowoProgram szkolenia: Symfony, nowoczesny framework PHP
Program szkolenia: Symfony, nowoczesny framework PHP Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Symfony, nowoczesny framework PHP PHP-frameworki PHP developerzy 3 dni 40% wykłady
Bardziej szczegółowoPRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Kierunek: Inżynieria Biomedyczna Rodzaj przedmiotu: obowiązkowy moduł specjalności informatyka medyczna Rodzaj zajęć: wykład, laboratorium PROGRAMOWANIE INTERNETOWE Internet Programming
Bardziej szczegółowo