WEBES ALKALMAZÁSFEJLESZTÉS 1.

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "WEBES ALKALMAZÁSFEJLESZTÉS 1."

Átírás

1 WEBES ALKALMAZÁSFEJLESZTÉS 1. Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, Tel: (1) /1816

2 Tartalom 2 MVC ismétlés Mini MVC saját MVC keretrendszer MVC részeinek finomítása Modell finomítása Nézet finomítása Vezérlő finomítása Egyéb funkciók beillesztése az MVC mintába

3 6 MVC ismétlés

4 Ismétlés 7 Kiindulási pont: egyszerű listázó alkalmazás vegyes HTML és PHP kód vegyes funkcionalitások Kód funkcionális (és ezzel nyelvi) szétválasztása Nézet (view) Modell (model) Vezérlő (controller)

5 Vezérlő (controller) 8 <?php include('albums_model.php'); $nev = ''; $leiras = ''; if (isset($_post['nev'])) { $nev = $_POST['nev']; if (isset($_post['leiras'])) { $leiras = $_POST['leiras']; $albums = get_albums($nev, $leiras); //modell include('list.php'); //view

6 Modell (model) 9 <?php function get_albums($nev = '', $leiras = '') { $mysqli = new mysqli('localhost', 'wabp3', 'ab2009', 'wabp3'); if ($mysqli->connect_error) { die('kapcsolodasi hiba'. $mysqli->connect_errno. $mysqli->connect_error); $mysqli->query('set names utf8'); $stmt = $mysqli->prepare( "select * from photo_albums where nev like? and leiras like?"); $stmt->bind_param('ss', $nev, $leiras); $nev = "%{$nev%"; $leiras = "%{$leiras%"; $stmt->execute();

7 Modell (model) 10 $meta = $stmt->result_metadata(); $sor = array(); foreach ($meta->fetch_fields() as $field) { $params[] = &$sor[$field->name]; call_user_func_array(array($stmt, 'bind_result'), $params); $albums = array(); while ($stmt->fetch()) { $albums[] = array( 'id' 'nev' 'leiras' ); $stmt->free_result(); $mysqli->close(); => $sor['id'], => $sor['nev'], => $sor['leiras'], return $albums;

8 Nézet (view) 11 <html> <head> <title></title> <meta http-equiv="content-type" content="text/html; charset=utf-8"> </head> <body> <h1>albumok listazasa</h1> <form action="index2.php" method="post"> Nev: <input type="text" name="nev" value="<?php echo $nev;?>" ><br> Leiras: <input type="text" name="leiras" value="<?php echo $leiras;?>" ><br> <input type="submit" value="szur"> </form>

9 Nézet (view) 12 <table> <tr> <th>azonosító</th> <th>név</th> <th>leírás</th> </tr> <!--Dinamikus resz kezdete --> <?php foreach ($albums as $sor) :?> <tr> <td><?php echo $sor['id'];?></td> <td><?php echo $sor['nev'];?></td> <td><?php echo $sor['leiras'];?></td> </tr> <?php endforeach;?> <!--Dinamikus resz vege --> </table> <a href="insert.php">új album...</a> </body> </html>

10 Ismétlés 13 Ez a megvalósítás az MVC architekturális tervezési mintát követi, valósítja meg Vezérlő Modell Nézet

11 Ismétlés 14 MVC minta általánosságban MVC keretrendszerek CodeIgniter (professzionális MVC keretrendszer)

12 15 Mini MVC Saját MVC-s keretrendszer

13 Saját MVC keretrendszer 16 Elvárások Egy belépési pontja legyen az alkalmazásnak Az MVC részei külön könyvtárba kerüljenek Elnevezési konvenciók Sablon nyelv a PHP (echo, if, foreach) Oldalsablon támogatás legyen OOP

14 Front Controller 17 Az alkalmazás belépési pontja Vezérlők közös részeit tartalmazza munkamenet-kezelés, konfiguráció beolvasása, authentikáció, előszűrések, stb. Többi fájl elérhetetlensége.htaccess token definiálása a FC-ben és ellenőrzése a vezérlőkben index.php Kért oldal jelzése GET paraméterrel index.php?oldal=main

15 Front Controller switch ($oldal) { case "index": index(); break; case "page1": page1(); break; case "page2": page2(); break; case "page3": page3(); break; default: index(); function index() { function page1() { function page2() { function page3() {

16 Front Controller if (function_exists($oldal)) { call_user_func($oldal); function index() { function page1() { function page2() { function page3() {

17 Front Controller switch ($oldal) { case "index": include "v3_index.php"; break; case "page1": include "v3_page1.php"; break; case "page2": include "v3_page2.php"; break; case "page3": include "v3_page3.php"; break; default: include "v3_index.php";

18 Front Controller if (file_exists("v3_". $oldal. ".php")) { include_once("v3_". $oldal. ".php");

19 Front Controller (index.php) 22 index.php?class=products&method=list define( "TOKEN", "mini_mvc" ); session_start(); function autoload($class_name) { require_once strtolower($class_name). '.php'; require "models/db.php"; //Konfiguracio betoltese //Jogosultsagok ellenorzese $class = 'main'; if (isset($_get['class'])) { $class = $_GET['class']; $method = 'index'; if (isset($_get['method'])) { $method = $_GET['method']; if (file_exists("controllers/". $class. ".php")) { include_once("controllers/". $class. ".php"); if (class_exists($class. "_Controller")) { $class.= "_Controller"; $ctrl = new $class(); if (method_exists($ctrl, $method)) { //call_user_func(array($class, $method)); $ctrl->$method(); else { include_once("error.html"); else { include_once("error.html"); else { include_once("error.html");

20 bootstrap Front Controller Controller Front Controller vs bootstrap 23 A fenti megoldásban a Front Controller procedurális, nem OOP-s Ha a Front Controllert osztálypéldányként (singleton) szeretnénk használni, akkor az az állomány, amely előkészíti és példányosítja a bootstrap állomány (index.php)

21 24 Könyvtárszerkezet

22 Vezérlő 25 <?php if (!defined('token')) exit('ejnye-bejnye'); class Main_Controller { function index() { include('models/albums.php'); $nev = ''; $leiras = ''; if (isset($_post['nev'])) { $nev = $_POST['nev']; if (isset($_post['leiras'])) { $leiras = $_POST['leiras']; $model = new Albums_Model(); $albums = $model->get_albums($nev, $leiras); //modell $view = new View(); $view ->set('nev', $nev) ->set('leiras', $leiras) ->set('albums', $albums); $content = $view->get_include_contents('views/list.php'); include('views/template.php');

23 View osztály 26 class View { private $vars = array(); public function get_include_contents($filename) { extract($this->vars); if (is_file($filename)) { ob_start(); include $filename; $contents = ob_get_contents(); ob_end_clean(); return $contents; return false; public function set($name, $value) { $this->vars[$name] = $value; return $this;

24 Modell 27 <?php if (!defined('token')) exit('ejnye-bejnye'); class Albums_Model { function get_albums($nev = '', $leiras = '') {... return $albums;

25 Nézet 28 <table> <tr> <th>azonosító</th> <th>név</th> <th>leírás</th> <th>funkciók</th> </tr> <!--Dinamikus resz kezdete --> <?php foreach ($albums as $sor) :?> <tr> <td><?php echo $sor['id'];?></td> <td><a href="index.php?class=images&method=index&album_id=<?php echo $sor['id'];?>"><?php echo $sor['nev'];?></a></td> <td><?php echo $sor['leiras'];?></td> <td><a href="index.php?class=main&method=delete&id=<?php echo $sor['id'];?>">torol</a></td> </tr> <?php endforeach;?> <!--Dinamikus resz vege --> </table> <a href="index.php?class=main&method=insert">új album...</a>

26 Oldalsablon 29 <div id="wrap"> <div id="header"> <h1 id="logo-text"> <a href="index.html">sablon</a> </h1> </div> </div> <!-- content-wrap starts here --> <div id="content-wrap"> <div id="main"> <?php echo $content;?> </div> </div>

27 30 Modell finomítása

28 Modell finomítása 31 Az alkalmazás adatait és az ezek feldolgozásához szükséges üzleti logikát tartalmazza További rétegekre bontható üzleti logikai réteg (üzleti logikához illeszkedő adatszerkezetek, objektumok) adatbázis-absztrakciós réteg (adatbázis- és táblaszerkezetnek megfelelő objektumok hierarchiája) adatbázis-elérési absztrakciós réteg adatbázis (táblák, tárolt eljárások, nézetek)

29 Modell minták 32 Domain model: olyan réteg, amely a valós világ adatainak megfelelő absztrakt objektumokat, logikákat tartalmazza Simple Domain Model: egy-egy kapcsolat az üzleti objektumok és táblák között Active Record minta (rekord szintű) Table Data Gateway minta (tábla szintű) Data Mapper minta (táblaadatok üzleti objektum) Rich Domain Model: üzleti objektumok bonyolultabb kapcsolatrendszere (tipikusan nagyvállalati projektek)

30 Adatbázis-elérési absztrakció 33 A modellünk jelenleg egy bizonyos adatbázis driverhez kötődik. Ha megváltozik az alkalmazásunk mögötti adatbáziskezelő, vagy egyszerűen olyan szerverre költözünk, ahol egy bizonyos driver nincsen feltelepítve, az átállás nagyon nehéz lehet. Megoldás: adatbázis-elérési absztrakciós réteg kialakítása, mely egy magasabb szintű absztrakt nyelvvel elfedi a konkrét adatbázis függvényeit.

31 Adatbázis-elérési absztrakció 34 Adatbázis-elérési absztrakciós lehetőségek Saját magunk készítünk ilyen réteget Előre megírt függvénykönyvtárat alkalmazunk PHP PDO Doctrine Database Abstraction Layer

32 Saját absztrakciós réteg 35 db.php: konfiguráció mysql.php: absztrakt műveletek Mysqli interfésszel kifejtve oracle.php: absztrakt műveletek OCI8 interfésszel kifejtve albums.php: absztrakt interfésszel megvalósított modell

33 PHP PDO 36 PHP natív absztrakciós rétege Többféle interfészt támogat CUBRID (PDO) MS SQL Server (PDO) Firebird/Interbase (PDO) IBM (PDO) Informix (PDO) MySQL (PDO) Oracle (PDO) ODBC and DB2 (PDO) PostgreSQL (PDO) SQLite (PDO) 4D (PDO) Műveletkategóriák Kapcsolatkezelés Tranzakciókezelés Paraméterezett SQL utasítások és tárolt eljárások kezelése Hibakezelés LOB-ok kezelése /en/book.pdo.php

34 PHP PDO 37 PDO exec query prepare lastinsertid PDOStatement bindcolumn bindparam bindvalue execute begintransaction intransaction commit rollback rowcount fetch fetch closecursor errorcode errorinfo errorcode errorinfo

35 PHP PDO példa 38 $sth = $dbh->prepare('select name, colour, calories FROM fruit WHERE calories < :calories AND colour = :colour'); $sth->bindparam(':calories', $calories, PDO::PARAM_INT); $sth->bindparam(':colour', $colour, PDO::PARAM_STR, 12); $calories = 150; $colour = 'red'; $sth->execute(); $sth = $dbh->prepare('select name, colour, calories FROM fruit WHERE calories <? AND colour =?'); $calories = 150; $colour = 'red'; $sth->execute(array($calories, $colour));

36 Adatbázis-absztrakciós megoldások 40 Általában egy adatbázis-elérési absztrakciós rétegen ülnek Tipikusan egy-egy kapcsolatot teremtenek az adatbázisbeli táblák és az üzleti objektumok adattagjai között Az adatbázist az üzleti objektum magas szintű absztrakt metódusain keresztül manipuláljuk get, getall, save (insert vagy update) Általában ORM megoldások: Object Relational Mapping

37 Adatbázis-absztrakciók 41 Nem jelennek meg benne direkt SQL utasítások OOP felületen adjuk meg a logikát, mit szeretnénk, s az absztrakciós réteg generálja le a neki megfelelő SQL utasítást A megoldások egy részében saját lekérdező nyelven keresztül Hibernate HQL Doctrine DQL

38 Object Relational Mapping 42 Az ORM egy tábla-egy objektum kapcsolatot létesít Lehetőség van kapcsolatok megadására (1-N, N-N viszonyok) és ezeknek OOP-s felületen történő kezelésére pl. $user->subjects

39 PHP ORM megoldások 43 Független projektek ActiveRecord Doctrine Eloquent Propel Keretrendszerbe ágyazva CodeIgniter Laravel Symfony CakePHP Kohana PHP Yii

40 PHP ORM példa (ActiveRecord) 44 class User extends ActiveRecord\Model { // create Tito $user = User::create(array('name' => 'Tito', 'state' => 'VA')); // read Tito $user = User::find_by_name('Tito'); // update Tito $user->name = 'Tito Jr'; $user->save(); // delete Tito $user->delete();

41 45 PHP ORM példa (ActiveRecord)

42 46 PHP ORM példa (ActiveRecord)

43 CodeIgniter specifikumok 47 CodeIgniter a Database Classon keresztül biztosít adatelérési-absztrakciós réteget adatbázis-absztrakciós réteget (ActiveRecord minta alapján, de nem teljes ORM funkcionalitás)

44 48 Nézet finomítása

45 Nézet finomítása 49 Alkalmazott tervezési minták Template view Transform view Layout view (oldalsablon megadása)

46 Template view 50 Általában ezt használjuk webalkalmazásokban A nézet ebben az esetben egy sablon, amiben speciális jelölőket cserélünk ki a modellből kinyert adatokkal Előző előadásban is ezt mutattuk be Részei sablon (PHP, Smarty, stb.) nézethez tartozó logika, melynek során a jelölőkhöz adatokat rendelünk, valamint a feldolgozó rész

47 Template view példa (CodeIgniter) 51 class Products extends CI_Controller { public function index() { $data = array( 'alma' => 'piros', 'korte' => 'kukacos', ); $this->load->view('proba', $data); <html> <head> <title>my Blog</title> </head> <body> <p>az alma <?php echo $alma;?>.</p> <p>a körte <?php echo $korte;?>.</p> </body> </html>

48 Transform view 52 A transform view adatokat nyer ki a modellből, és azokat a kimenetnek megfelelően átalakítja. A template view a kimenet vázlatával kezdi, és abba illeszti be az adatokat A transform view-nál az adatok az elsők, és abból építi fel a kimenetet Tipikusan technológia: XSLT

49 Layout view 53 A nézet további részekre bontását végzi el Egy weboldalon általában vannak viszonylag állandó részek: fejléc, az oldalelrendezés, lábléc, globális navigáció És vannak az oldalról oldalra változó tartalmi részek A nézetet ennek megfelelően szokták szétválasztani oldal elrendezésére (layout) tartalmi sablonra (template)

50 CodeIgniter specifikumok 54 Template view támogatott a View classon keresztül $this->load->view('sablon.php'); Transform view-t PHP támogatja az xml és xslt függvényein keresztül Layout view ld. később

51 55 Controller finomítása Bootstrap, Front Controller, Application Controller

52 Controller finomítása 56 Példánkban a vezérlő nem csinált túl sok mindent Általában a vezérlőknek elég sok mindent kell elintéznie, mielőtt a konkrét művelet végrehajtásába kezd Ezek között sok olyan dolog van, ami minden vezérlő számára közös A közös dolgokat külön választják, ez lesz a Front Controller, az egyedi dolgok pedig az egyes műveletekben kerülnek megvalósításra

53 További finomítás 57 Alap esetben a Front Controller biztosítja az alkalmazás belépési pontját (ez előny) De ekkor szükségképpen tartalmaz procedurális kódot, így a Front Controller csak félig OOP-s A megfelelő művelet kiválasztása is külön vehető Ezért többfelé választják Bootstrap Front Controller Application Controller

54 Bootstrap 58 index.php alkalmazás belépési pontja procedurális feladata Front Controller példányosításának előkészítése konfiguráció, alapváltozók a példányosítás (singleton) a példány kezdőmetódusának meghívása (run)

55 Front Controller 59 Objektum-orientált megközelítés tipikusan singleton Közös feladatok centralizált elvégzése kérés feldolgozása routing caching biztonság konfiguráció Intercepting filter helye

56 Intercepting filter 60 Globális kódok és funkcionalitás a Front Controllerben az Intercepting filter minta felhasználásával kerülhetnek Kétféle megközelítés szűrők szekvenciális végrehajtása az alkalmazásvezérlőig elő- és utószűrők megadása

57 Intercepting filter példa 61 class FrontController { var $_filter_chain = array(); function registerfilter(&$filter) { $this->_filter_chain[] =& $filter; function run() { foreach(array_keys($this->_filter_chain) as $filter) { $this->_filter_chain[$filter]->prefilter(); $this->_process(); foreach(array_reverse(array_keys($this->_filter_chain)) as $filter) { $this->_filter_chain[$filter]->postfilter(); function _process() { // FrontController tennivalói

58 Intercepting filter példa 62 Szűrő példa class HtmlCommentFilter { function prefilter() { ob_start(); function postfilter() { $page = ob_get_clean(); echo preg_replace( ~<!.* >~ims,,$page);

59 Application Controller 63 Ez az MVC vezérlő központi része: ő dönti el, hogy a bejövő kérés alapján az alkalmazás hogyan válaszoljon Tipikusan egy nagy elágazás (if, switch) vagy felparaméterezett tömb vagy elnevezési konvenciók (kérés, file és osztálynév)

60 Application Controller példa 64 Paraméterezett asszociatív tömb $action_map = array( 'del' => 'DeleteBookmark','upd' => 'UpdateBookmark','add' => 'InsertBookmark' ); $action_class = (array_key_exists($_post['action'], $action_map))? $action_map[$_post['action']] : 'DisplayBookmark'; if (!class_defined($action)) { require_once 'actions/'.$action_class.'.php'; $action =& new $action_class; $action->run();

61 65 Egyéb funkciók helye MVC-ben Authentikáció, authorizácó (ACL), oldalsablon

62 Vitatott kérdések 66 Az MVC minta a vezérlő, a nézet és az adatok helyéről nyilatkozik általánosságban Egy webalkalmazásban azonban számos további funkció is helyet kap munkamenet-kezelés authentikáció authorizáció oldalsablon használata

63 Munkamenet-kezelés 67 Többféle elképzelés van, de ezek fontossága azonban elvi jelentőségű $_SESSION modell: adatok vannak benne vezérlő: az alkalmazás input oldalán jelennek meg nézet: ha sütikkel oldjuk meg, akkor viszont HTTP specifikus

64 Authentikáció 68 Az authentikációs logika külön osztályban (library) megvalósítható Hol épüljön az alkalmazásba? Lehetőségek őscontroller hook

65 Authorizáció 69 Ez is külön osztályban megvalósítható Sok helyen ACL (Access Control List) néven hivatkoznak rá Sokféle megvalósítása van Népszerű a Zend ACL használata Helye őscontroller hook controller még alsóbb szinteken (feladatfüggő, pl. mezőszintű elérési szabályok)

66 Oldalsablon használata 70 Helye őscontrollerben megírni set_template_data display_template hook-ot készíteni rá library-t készíteni rá

67 Oldalsablon ősvezérlőben 71 class MY_Controller extends CI_Controller { protected $template = 'template'; protected $template_data = array(); protected function set_template_part($part, $view, $data = array()) { $this->template_data[$part] = $this->load->view($view, $data, true); protected function set_template_data($part, $data) { $this->template_data[$part] = $data; protected function display_template($view = null, $data = array()) { if (!is_null($view)) { $this->set_template_part('content', $view, $data); $this->load->view($this->template, $this->template_data);

68 Oldalsablon használata 72 public function index() { $albums = $this->albums_model->get_albums(); $this->display_template('list', array( 'nev' => $nev, 'leiras' => $leiras, 'albums' => $albums, ));

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, 2.420 Tel: (1) 372-2500/1816 2 Ismétlés Ismétlés 3 Fájl/Adatbázis 3 4 Szerver 2 CGI

Részletesebben

WEBES ALKALMAZÁSFEJLESZTÉS 1.

WEBES ALKALMAZÁSFEJLESZTÉS 1. WEBES ALKALMAZÁSFEJLESZTÉS 1. Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, 2.420 Tel: (1) 372-2500/1816 Tartalom 2 Adatbázis-biztonság Model-View-Controller minta MVC keretrendszerek

Részletesebben

OO PDO. Tehát PDO használatával, könnyen átállhatunk egy másik adatbáziskezelőre, anélkül hogy a kódot teljes egészében újraírnánk.

OO PDO. Tehát PDO használatával, könnyen átállhatunk egy másik adatbáziskezelőre, anélkül hogy a kódot teljes egészében újraírnánk. OO PDO PDO VS MYSQLi VS MYSQL ================================================================================ A PHP mysql metódusai elavultak, helyette lehet hazsnálni a MYSQLi metódusokat, amelyek szinte

Részletesebben

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu Számonkérés 2 Papíros (90 perces) zh az utolsó gyakorlaton. Segédanyag nem használható Tematika 1. félév 3 Óra Dátum Gyakorlat 1. 2010.09.28.

Részletesebben

Model View Controller alapú alkalmazásfejlesztés

Model View Controller alapú alkalmazásfejlesztés 10. Laboratóriumi gyakorlat Model View Controller alapú alkalmazásfejlesztés A gyakorlat célja: Az MVC elv megértése és ismerkedés egy egyszerű MVC keretrendszerrel. Felkészüléshez szükséges anyagok: 1.

Részletesebben

9.óra CodeIgniter Framework #1. Gyimesi Ákos

9.óra CodeIgniter Framework #1. Gyimesi Ákos 9.óra CodeIgniter Framework #1 Gyimesi Ákos gyimesi.akos@gmail.com http://webprog.gy-i-m.com Miért van szükség keretrendszerre? Keretet ad, hogyan álljunk neki a feladatnak Előre definiált felépítés, ami

Részletesebben

PHP alapjai, bevezetés. Vincze Dávid Miskolci Egyetem, IIT

PHP alapjai, bevezetés. Vincze Dávid Miskolci Egyetem, IIT alapjai, bevezetés Vincze Dávid Miskolci Egyetem, IIT vincze.david@iit.uni-miskolc.hu PHP Personal Home Page (Tools) Script nyelv -> interpretált Elsősorban weboldal (dinamikus) tartalmak előállítására

Részletesebben

WEBES ALKALMAZÁSFEJLESZTÉS 1.

WEBES ALKALMAZÁSFEJLESZTÉS 1. WEBES ALKALMAZÁSFEJLESZTÉS 1. Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, 2.420 Tel: (1) 372-2500/1816 Tartalom 2 Adatbázis-biztonság Model-View-Controller minta MVC keretrendszerek

Részletesebben

Egészítsük ki a Drupal-t. Drupal modul fejlesztés

Egészítsük ki a Drupal-t. Drupal modul fejlesztés Egészítsük ki a Drupal-t Drupal modul fejlesztés Drupal 6.0 2008. február 13. Miért írjunk Drupal modult? Nincs az igényeinknek megfelelő modul Valamilyen közösségi igény kielégítése Valami nem úgy működik

Részletesebben

JavaServer Pages (JSP) (folytatás)

JavaServer Pages (JSP) (folytatás) JavaServer Pages (JSP) (folytatás) MVC architektúra a Java kiszolgálón Ügyfél (Böngésző) 5 View elküldi az oldal az ügyfélez View (JSP) Ügyfél üzenet küldése a vezérlőnek 1 3 4 Kérelem továbbítása a megjelenítőnek

Részletesebben

Adatbázis Rendszerek II. 1. SQL programozási felületek 39/1B IT MAN

Adatbázis Rendszerek II. 1. SQL programozási felületek 39/1B IT MAN Adatbázis Rendszerek II. 1. SQL programozási felületek 39/1B IT MAN B IT v: 2016.02.10 MAN SQL felületek Hatékony: SQL parancsok kiadására Eredmények megtekintésére Nehézkes: Nagyobb volumenű, rutintevékenységek

Részletesebben

JAVA webes alkalmazások

JAVA webes alkalmazások JAVA webes alkalmazások Java Enterprise Edition a JEE-t egy specifikáció definiálja, ami de facto szabványnak tekinthető, egy ennek megfelelő Java EE alkalmazásszerver kezeli a telepített komponensek tranzakcióit,

Részletesebben

WEBES ALKALMAZÁSFEJLESZTÉS 1.

WEBES ALKALMAZÁSFEJLESZTÉS 1. WEBES ALKALMAZÁSFEJLESZTÉS 1. Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, 2.420 Tel: (1) 372-2500/1816 Tartalom 2 MVC ismétlés Mini MVC saját MVC keretrendszer MVC részeinek

Részletesebben

Symfony kurzus 2014/2015 I. félév. Controller, Routing

Symfony kurzus 2014/2015 I. félév. Controller, Routing Symfony kurzus 2014/2015 I. félév Controller, Routing Request - Response GET / HTTP/1.1 Host: xkcd.com Accept: text/html User-Agent: Mozilla/5.0 (Macintosh) HTTP/1.1 200 OK Date: Sat, 02 Apr 2011 21:05:05

Részletesebben

AdoDB a gyakorlatban

AdoDB a gyakorlatban Harmadik Magyarországi PHP Konferencia 2005 http://www.phpconf.hu/ Előadó: Török Gábor gabor.torok@webdevil.hu (WebDevil Oktatási Központ) Mi? ADOdb: Active Data Objects Database Megvalósítás függetlenül

Részletesebben

WEBES ALKALMAZÁSFEJLESZTÉS 1.

WEBES ALKALMAZÁSFEJLESZTÉS 1. WEBES ALKALMAZÁSFEJLESZTÉS 1. Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, 2.420 Tel: (1) 372-2500/1816 Tartalom 2 Egyéb funkciók beillesztése az MVC mintába CodeIgniter apróságok

Részletesebben

Megtanuljuk, hogyan lehet egy web-alkalmazással adatbázishoz csatlakozni Pontosan megnézzük a PHP lehetőségeit o MySQL-hez o Oracle-höz

Megtanuljuk, hogyan lehet egy web-alkalmazással adatbázishoz csatlakozni Pontosan megnézzük a PHP lehetőségeit o MySQL-hez o Oracle-höz PHP Adatbázis Tartalomjegyzék PHP ADATBÁZIS...1 TARTALOMJEGYZÉK...1 EDDIG VOLT...1 MAI ANYAG...1 TEHÁT RÉSZLETESEBBEN...1 Kapcsolódás web-alkalmazásokból adatbázisokhoz...1 Biztonsági kérdések...2 PHP...2

Részletesebben

Excel ODBC-ADO API. Tevékenységpontok: - DBMS telepítés. - ODBC driver telepítése. - DSN létrehozatala. -Excel-ben ADO bevonása

Excel ODBC-ADO API. Tevékenységpontok: - DBMS telepítés. - ODBC driver telepítése. - DSN létrehozatala. -Excel-ben ADO bevonása DBMS spektrum Excel ODBC-ADO API Tevékenységpontok: - DBMS telepítés - ODBC driver telepítése - DSN létrehozatala -Excel-ben ADO bevonása - ADOConnection objektum létrehozatala - Open: kapcsolat felvétel

Részletesebben

10.óra CodeIgniter Framework #3. Gyimesi Ákos

10.óra CodeIgniter Framework #3. Gyimesi Ákos 10.óra CodeIgniter Framework #3 Gyimesi Ákos gyimesi.akos@gmail.com http://webprog.gy-i-m.com Ismétlés Model View Controller Ismétlés Model application/models/books_model.php: class Books_model extends

Részletesebben

PHP II. WEB technológiák. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) PHP II. 2014 1 / 19

PHP II. WEB technológiák. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) PHP II. 2014 1 / 19 PHP II. WEB technológiák Tóth Zsolt Miskolci Egyetem 2014 Tóth Zsolt (Miskolci Egyetem) PHP II. 2014 1 / 19 Tartalomjegyzék Objektum Orientált Programozás 1 Objektum Orientált Programozás Öröklődés 2 Fájlkezelés

Részletesebben

Adatbázis használata PHP-ből

Adatbázis használata PHP-ből Adatbázis használata PHP-ből Adatbázis használata PHP-ből...1 Nyílt forráskódú adatbázisok...1 A mysql függvények...2 A mysqli függvények...4 Bináris adatok adatbázisban való tárolása...8 Adatbázis csatoló

Részletesebben

CodeIgniter keretrendszer

CodeIgniter keretrendszer 1 CodeIgniter keretrendszer 1.1. Bemutatása A készítéskor kitűzött cél az volt, hogy létrehozzanak egy olyan eszközt, amivel lényegesen gyorsabb egy PHP oldalt elkészíteni, mint a nyers PHP-val, mindezt

Részletesebben

Adatbázisok webalkalmazásokban

Adatbázisok webalkalmazásokban Sapientia - EMTE, Pannon Forrás,,Egységes erdélyi felnőttképzés a Kárpát-medencei hálózatban 2010 A JDBC API A Data Access Object tervezési minta Adatforrás - DataSource JDBC architektúra A JDBC API java.sql

Részletesebben

Java Server Pages - JSP. Web Technológiák. Java Server Pages - JSP. JSP lapok életciklusa

Java Server Pages - JSP. Web Technológiák. Java Server Pages - JSP. JSP lapok életciklusa Web Technológiák Java Server Pages - JSP Répási Tibor egyetemi tanársegéd Miskolc Egyetem Infomatikai és Villamosmérnöki Tanszékcsoport (IVM) Általános Informatikai Tanszék Iroda: Inf.Int. 108. Tel: 2101

Részletesebben

Adatbázis-kezelés ODBC driverrel

Adatbázis-kezelés ODBC driverrel ADATBÁZIS-KEZELÉS ODBC DRIVERREL... 1 ODBC: OPEN DATABASE CONNECTIVITY (NYÍLT ADATBÁZIS KAPCSOLÁS)... 1 AZ ODBC FELÉPÍTÉSE... 2 ADATBÁZIS REGISZTRÁCIÓ... 2 PROJEKT LÉTREHOZÁSA... 3 A GENERÁLT PROJEKT FELÉPÍTÉSE...

Részletesebben

MVC. Model View Controller

MVC. Model View Controller MVC Model View Controller Szoftver fejlesztés régen Console-based alkalmazások Pure HTML weboldalak Assembly, C Tipikusan kevés fejlesztő (Johm Carmack Wolfenstein, Doom, Quake..) Szűkös erőforrások optimális

Részletesebben

PHP. Adatbázisok gyakorlat

PHP. Adatbázisok gyakorlat PHP Adatbázisok gyakorlat Mi a PHP? A PHP (PHP: Hypertext Preprocessor) egy nyílt forráskódú, számítógépes szkriptnyelv, legfőbb felhasználási területe a dinamikus weboldalak készítése. A PHP-kódunk általában

Részletesebben

WEBFEJLESZTÉS 2. MUNKAMENET-KEZELÉS, HITELESÍTÉS

WEBFEJLESZTÉS 2. MUNKAMENET-KEZELÉS, HITELESÍTÉS WEBFEJLESZTÉS 2. MUNKAMENET-KEZELÉS, HITELESÍTÉS Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, 2.420 Tel: (1) 372-2500/1816 PHP beadandó 2 Honlapról elérhető Labirintus-játék

Részletesebben

Biztonságos PHP a gyakorlatban

Biztonságos PHP a gyakorlatban Biztonságos PHP a gyakorlatban Ahhoz, hogy meg tudjuk védeni PHP alkalmazásainkat, az elsõ és legfontosabb lépés a biztonsági veszélyek felismerése és megértése. Az elmúlt két évben a PHP magfejlesztõi

Részletesebben

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS. Objektumorientált programozás 2015-2016

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS. Objektumorientált programozás 2015-2016 Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS 2015-2016 Objektumorientált programozás OOP PHP-ben 2 A PHP az 5.0-as verziójától megvalósítja az OO eszközrendszerét OO eszközök:

Részletesebben

Internet technológiák

Internet technológiák Szabadkai Műszaki Szakfőiskola Internet technológiák dr Zlatko Čović chole@vts.su.ac.rs 1 Függvények A függvény egy zárt, önálló kódrészlet, amelyet a PHP programból meghívhatunk és a meghívás után a függvény

Részletesebben

WEBFEJLESZTÉS 2. ADATTÁROLÁS, FÁJLOK

WEBFEJLESZTÉS 2. ADATTÁROLÁS, FÁJLOK WEBFEJLESZTÉS 2. ADATTÁROLÁS, FÁJLOK Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, 2.420 Tel: (1) 372-2500/1816 2 Ismétlés Ismétlés 3 Dinamikus szerveroldali webprogramozás:

Részletesebben

ISA szimulátor objektum-orientált modell (C++)

ISA szimulátor objektum-orientált modell (C++) Budapesti Műszaki és Gazdaságtudományi Egyetem ISA szimulátor objektum-orientált modell (C++) Horváth Péter Elektronikus Eszközök Tanszéke 2015. február 12. Horváth Péter ISA szimulátor objektum-orientált

Részletesebben

Webes alkalmazások helyes szerkezete PHP-ban

Webes alkalmazások helyes szerkezete PHP-ban Webes alkalmazások helyes szerkezete PHP-ban Konstantinusz Kft. 2010 1. Tartalomjegyzék 1. Tartalomjegyzék... 2 2. Mi az a leíró?... Hiba! A könyvjelző nem létezik. 3. Közvetett paraméter átadások... Hiba!

Részletesebben

Informatika terméktervezőknek

Informatika terméktervezőknek Informatika terméktervezőknek C# alapok Névterület (namespace) using Osztály (class) és Obejtumok Metódus (function, procedure, method) main() static void string[] arg Szintaxis // /* */ \n \t Névadások

Részletesebben

Web-fejlesztés NGM_IN002_1

Web-fejlesztés NGM_IN002_1 Web-fejlesztés NGM_IN002_1 Rich Internet Applications RIA Vékony-kliens generált (statikus) HTML megjelenítése szerver oldali feldolgozással szinkron oldal megjelenítéssel RIA desktop alkalmazások funkcionalitása

Részletesebben

Symfony kurzus 2014/2015 I. félév. Security: authentication, authorization, user provider, role-ok, access control, FOS user bundle

Symfony kurzus 2014/2015 I. félév. Security: authentication, authorization, user provider, role-ok, access control, FOS user bundle Symfony kurzus 2014/2015 I. félév Security: authentication, authorization, user provider, role-ok, access control, FOS user bundle Authen'ca'on Ez még csak azt dönti el, hogy a rendszer által azonosítóható-e

Részletesebben

PHP gyorstalpaló, avagy a Hello World-től az űrlapellenőrzésig

PHP gyorstalpaló, avagy a Hello World-től az űrlapellenőrzésig PHP gyorstalpaló, avagy a Hello World-től az űrlapellenőrzésig

Részletesebben

SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS. A MySQL adatbáziskezelő A PHP programozási nyelv JDBC, ODBC

SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS. A MySQL adatbáziskezelő A PHP programozási nyelv JDBC, ODBC SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS A MySQL adatbáziskezelő A PHP programozási nyelv JDBC, ODBC ADATBÁZISOK Adatbázis = adott formátum és rendszer szerint tárolt adatok összessége. DBMS feladatai: adatstruktúra

Részletesebben

Adatbázis rendszerek 7. előadás State of the art

Adatbázis rendszerek 7. előadás State of the art Adatbázis rendszerek 7. előadás State of the art Molnár Bence Szerkesztette: Koppányi Zoltán Osztott adatbázisok Osztott rendszerek Mi is ez? Mi teszi lehetővé? Nagy sebességű hálózat Egyre olcsóbb, és

Részletesebben

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft Flash és PHP kommunikáció Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft A lehetőségek FlashVars External Interface Loadvars XML SOAP Socket AMF AMFphp PHPObject Flash Vars Flash verziótól függetlenül

Részletesebben

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 4.ELŐADÁS. Adatbázis alapú alkalmazások készítése PHP-ben

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 4.ELŐADÁS. Adatbázis alapú alkalmazások készítése PHP-ben Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 4.ELŐADÁS 2015-2016 Adatbázis alapú alkalmazások készítése PHP-ben Adatbázis alapú alkalmazás 2 A leggyakrabban használt dinamikus alkalmazások

Részletesebben

Enterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans

Enterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans Enterprise JavaBeans Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Az Enterprise JavaBeans Az Enterprise Javabeans Az Enterprise JavaBeans (EJB) server oldali komponens, amely Az üzleti

Részletesebben

Bevezetés: az SQL-be

Bevezetés: az SQL-be Bevezetés: az SQL-be Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 2.3. Relációsémák definiálása SQL-ben, adattípusok, kulcsok megadása 02B_BevSQLsemak

Részletesebben

Java Programozás 11. Ea: MVC modell

Java Programozás 11. Ea: MVC modell Java Programozás 11. Ea: MVC modell 20/1 B ITv: MAN 2018.03.02 MVC Model-View-Controller A modell-nézet-vezérlő a szoftvertervezésben használatos szerkezeti minta. Az MVC célja elválasztani az üzleti logikát

Részletesebben

Web-fejlesztés NGM_IN002_1

Web-fejlesztés NGM_IN002_1 Web-fejlesztés NGM_IN002_1 Dinamikus tartalom 3. Template feldolgozás Template feldolgozás Statikus (HTML) fájlok dinamikus tartalom beszúrással (speciális tagek) Template processzor PHP Cold Fusion ASP

Részletesebben

ASP.NET CORE MVC Model réteg bevezetése Model Binding Repository tervezési minta Dependency Injection Transient és Singleton Custom Binding AutoMapper

ASP.NET CORE MVC Model réteg bevezetése Model Binding Repository tervezési minta Dependency Injection Transient és Singleton Custom Binding AutoMapper ASP.NET CORE MVC Model réteg bevezetése Model Binding Repository tervezési minta Dependency Injection Transient és Singleton Custom Binding AutoMapper Hallgatói tájékoztató A jelen bemutatóban található

Részletesebben

PHP-MySQL. Adatbázisok gyakorlat

PHP-MySQL. Adatbázisok gyakorlat PHP-MySQL Adatbázisok gyakorlat Weboldalak és adatbázisok Az eddigiek során megismertük, hogyan lehet a PHP segítségével dinamikus weblapokat készíteni. A dinamikus weboldalak az esetek többségében valamilyen

Részletesebben

Természetesen készíts egy csempe nevű könyvtárat és ide mentsd az index.html állományt.

Természetesen készíts egy csempe nevű könyvtárat és ide mentsd az index.html állományt. Csempe kalkula tor A küldetésünk az, hogy segítsünk kiszámítani egy fürdőszoba csempeszükségletét (felületét). Sőt, ha a kalkulátort használó ügyfél elégedett egyből elküldheti az e-mail címét, hogy a

Részletesebben

WEBES ALKALMAZÁSFEJLESZTÉS 1.

WEBES ALKALMAZÁSFEJLESZTÉS 1. WEBES ALKALMAZÁSFEJLESZTÉS 1. Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, 2.420 Tel: (1) 372-2500/1816 Tartalom 2 PHP nyelvi elemei PHP a webszerveren Webes alkalmazások és

Részletesebben

SZERVER OLDALI JAVASCRIPT. 3. hét Javascript nyelvi elemek

SZERVER OLDALI JAVASCRIPT. 3. hét Javascript nyelvi elemek SZERVER OLDALI JAVASCRIPT 3. hét Javascript nyelvi elemek NYELVI ALAPOK: Ez sajnos igen száraz anyag, Viszont a megértékhez és a nyelv elsajátításához kell. Próbáljuk meg random gifekkel feldobni. MIRŐL

Részletesebben

PHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv

PHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv PHP A PHP rövidítés jelentése hivatalosan: PHP Hypertext Preprocessor. Ez egy kiszolgáló-oldali parancsnyelv, amit jellemzően HTML oldalakon használnak. A különbség a két nyelv között az, hogy a kiszolgáló

Részletesebben

Adatbázis rendszerek II. Adatbázis elérése C# kliens programból ADO.NET API-n keresztül

Adatbázis rendszerek II. Adatbázis elérése C# kliens programból ADO.NET API-n keresztül Adatbázis rendszerek II. Adatbázis elérése C# kliens programból ADO.NET API-n keresztül Adatbázis elérés lehetőségei absztrakciós rétegen keresztül: - Open DataBase Connectivity (ODBC), közös függvényhalmaz,

Részletesebben

ANDROID ALKALMAZÁSFEJLESZTÉS

ANDROID ALKALMAZÁSFEJLESZTÉS ANDROID ALKALMAZÁSFEJLESZTÉS Adattárolás SharedPreference Belső - külső tároló PreferenceActivity Felhő alapú tárolás SQLite sicz.mj[tekercs]gmail.com Sicz-Mesziár János 2013. július 3. Shared Preference

Részletesebben

8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai:

8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai: 8. Gyakorlat SQL SQL: Structured Query Language; a relációs adatbáziskezelők szabványos, strukturált lekérdező nyelve SQL szabványok: SQL86, SQL89, SQL92, SQL99, SQL3 Az SQL utasításokat mindig pontosvessző

Részletesebben

PHP MySQL, Java JDBC MySQL. Adatbázisok az iskolában 2012 Dr. Balázs Péter Palatinus Endre és Erdőhelyi Balázs diái alapján

PHP MySQL, Java JDBC MySQL. Adatbázisok az iskolában 2012 Dr. Balázs Péter Palatinus Endre és Erdőhelyi Balázs diái alapján PHP MySQL, Java JDBC MySQL Adatbázisok az iskolában 2012 Dr. Balázs Péter Palatinus Endre és Erdőhelyi Balázs diái alapján Mi a PHP? A PHP (PHP: Hypertext Preprocessor) egy nyílt forráskódú, számítógépes

Részletesebben

WEB-PROGRAMOZÁS II. 1. Egészítse ki a következő PHP kódot a következők szerint: a,b,c,d: <?php. interface Kiir { public function kiir();

WEB-PROGRAMOZÁS II. 1. Egészítse ki a következő PHP kódot a következők szerint: a,b,c,d: <?php. interface Kiir { public function kiir(); WEB-PROGRAMOZÁS II 1. Egészítse ki a következő PHP kódot a következők szerint: a,b,c,d: a) Legyen a Felhasznalo osztálynak egy osztály szintű publikus változója, amelyben számolja a létrehozott példányai

Részletesebben

Szálkezelés. Melyik az a hívás, amelynek megtörténtekor már biztosak lehetünk a deadlock kialakulásában?

Szálkezelés. Melyik az a hívás, amelynek megtörténtekor már biztosak lehetünk a deadlock kialakulásában? Szálkezelés 1. A szekvencia diagram feladata az objektumok egymás közti üzenetváltásainak ábrázolása egy időtengely mentén elhelyezve. Az objektumok életvonala egy felülről lefelé mutató időtengely. A

Részletesebben

Web-technológia PHP-vel

Web-technológia PHP-vel Web-technológia PHP-vel A PHP programnyelv 2, futtatókörnyezet beálĺıtások Erős Bence February 26, 2013 Erős Bence () Web-technológia PHP-vel February 26, 2013 1 / 19 Szuperglobális változók $ GET : request

Részletesebben

Web programozás I. 4. előadás

Web programozás I. 4. előadás Web programozás I. 4. előadás CSS Pozícionálás http://www.brainjar.com/css/positioning/def ault.asp Design kialakívása http://www.albinoblacksheep.com/livedesign/ http://www.dynamicdrive.com/style/ http://www.opendesigns.org/

Részletesebben

Adatbázis-lekérdezés. Az SQL nyelv. Makány György

Adatbázis-lekérdezés. Az SQL nyelv. Makány György Adatbázis-lekérdezés Az SQL nyelv Makány György SQL (Structured Query Language=struktúrált lekérdező nyelv): relációs adatbázisok adatainak visszakeresésére, frissítésére, kezelésére szolgáló nyelv. Születési

Részletesebben

Bevezetés az SQL-be. Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009

Bevezetés az SQL-be. Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 Bevezetés az SQL-be Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 2.3. Relációsémák definiálása SQL-ben Kulcsok megadása (folyt.köv.7.fej.) -- még: Relációs

Részletesebben

OOP és UML Áttekintés

OOP és UML Áttekintés OOP és UML Áttekintés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 1 / 32 Tartalom jegyzék 1 OOP Osztály Öröklődés Interfész, Absztrakt Osztály Kivétel kezelés

Részletesebben

A WEB programozása - JSP1 dr.gál Tibor. 2010. őszi félév

A WEB programozása - JSP1 dr.gál Tibor. 2010. őszi félév Általános jellemzők JavaServer Pages (JSP) Java utasításokat helyezetünk el a HTML lapon Ezket a Java utasításokat a kiszolgáló végrehajtja Az ügyfél felé generált tartalom: statikus HTML kód + Java utasítások

Részletesebben

Osztályok. 4. gyakorlat

Osztályok. 4. gyakorlat Osztályok 4. gyakorlat Az osztály fogalma Az objektumok formai leírása, melyek azonos tulajdonsággal és operációkkal rendelkeznek. Osztályból objektum készítését példányosításnak nevezzük. Minden objektum

Részletesebben

Osztályok. construct () destruct() $b=new Book(); $b=null; unset ($b); book.php: <?php class Book { private $isbn; public $title;

Osztályok. construct () destruct() $b=new Book(); $b=null; unset ($b); book.php: <?php class Book { private $isbn; public $title; PHP5 objektumok 1 Osztályok class, new book.php: construct () destruct() $b=new Book(); törlés: $b=null; vagy unset ($b); -elnevezési konvenciók private $isbn; public $title; function

Részletesebben

Webes alkalmazások fejlesztése 3. előadás. Objektumrelációs adatkezelés (ASP.NET)

Webes alkalmazások fejlesztése 3. előadás. Objektumrelációs adatkezelés (ASP.NET) Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 3. előadás Objektumrelációs adatkezelés (ASP.NET) 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto

Részletesebben

WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens

WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens Hozzunk létre egy ASP.NET Empty Web Site projektet! A projekt neve legyen WCFAPP1. Ez

Részletesebben

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET)

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET) Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 4. előadás (ASP.NET) 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Nézetek kezelése Sok esetben

Részletesebben

JEE tutorial. Zsíros Levente, 2012

JEE tutorial. Zsíros Levente, 2012 JEE tutorial Zsíros Levente, 2012 A J2EE részei Webkonténer Szervletek JSP oldalak EJB (Enterprise Java Bean) konténer Session Bean Entity Bean (Java Persistence API-t használják) A Glassfish és JBoss

Részletesebben

Access adatbázis elérése OLE DB-n keresztül

Access adatbázis elérése OLE DB-n keresztül Access adatbázis elérése OLE DB-n keresztül Készítsünk egy grafikus felülető alkalmazást, ami lehetıvé teszi egy Access adatbázisban tárolt hallgatói adatok (EHA, Név, e-mail cím) lekérdezését (összes

Részletesebben

Adatbáziskezelés php-ben MySQL adatbáziskezelı rendszert használva

Adatbáziskezelés php-ben MySQL adatbáziskezelı rendszert használva Adatbáziskezelés php-ben MySQL adatbáziskezelı rendszert használva by A feladat bemutatása...1 Táblák létrehozása...1 Táblák feltöltése...2 Adatbáziskezelés php-ben...5 Csatlakozás az MySQL szerverhez

Részletesebben

Enterprise JavaBeans 1.4 platform (EJB 2.0)

Enterprise JavaBeans 1.4 platform (EJB 2.0) Enterprise JavaBeans 1.4 platform (EJB 2.0) Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2007. 11.13. Az Enterprise JavaBeans Az Enterprise Javabeans Az Enterprise JavaBeans

Részletesebben

S z á m í t ó g é p e s a l a p i s m e r e t e k

S z á m í t ó g é p e s a l a p i s m e r e t e k S z á m í t ó g é p e s a l a p i s m e r e t e k 7. előadás Ami eddig volt Számítógépek architektúrája Alapvető alkotóelemek Hardver elemek Szoftver Gépi kódtól az operációs rendszerig Unix alapok Ami

Részletesebben

Google Web Toolkit. Elek Márton. Drótposta kft.

Google Web Toolkit. Elek Márton. Drótposta kft. Google Web Toolkit Elek Márton Drótposta kft. Tartalom A GWT általában Java forrás, Web mód, Hosted mód Speciális szolgáltatások History kezelés, távoli eljárás hívás, Külső függvénykönyvtárak GWT-Ext,

Részletesebben

CREATE TABLE student ( id int NOT NULL GENERATED ALWAYS AS IDENTITY PRIMARY KEY, name varchar(100) NOT NULL, address varchar(100) NOT NULL )

CREATE TABLE student ( id int NOT NULL GENERATED ALWAYS AS IDENTITY PRIMARY KEY, name varchar(100) NOT NULL, address varchar(100) NOT NULL ) Célok: a Java DB adatbázis-kezelő rendszer használatának ismertetése, adatbázisok használata Java alkalmazásokban - kétrétegű architektúra, egyszerű kliens-szerver architektúra használata hálózati alkalmazásokhoz.

Részletesebben

Webes alkalmazások fejlesztése 2. előadás. Webfejlesztés MVC architektúrában (ASP.NET) Webfejlesztés MVC architektúrában Fejlesztés ASP.

Webes alkalmazások fejlesztése 2. előadás. Webfejlesztés MVC architektúrában (ASP.NET) Webfejlesztés MVC architektúrában Fejlesztés ASP. Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 2. előadás Webfejlesztés MVC architektúrában (ASP.NET) 2015 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto

Részletesebben

Szerver oldali technológiák Szerver oldali script nyelvek PHP

Szerver oldali technológiák Szerver oldali script nyelvek PHP Szerver oldali technológiák Szerver oldali script nyelvek Áttekintés Szerver oldali technológiák Szerver oldali script nyelvek Formkezelés Állománykezelés Cookie (süti) Szessziókövetés MySQL adatbázishozzáférés

Részletesebben

SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS. A MySQL adatbáziskezelő PHP folytatás JDBC, ODBC

SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS. A MySQL adatbáziskezelő PHP folytatás JDBC, ODBC SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS A MySQL adatbáziskezelő PHP folytatás JDBC, ODBC ADATBÁZISOK Adatbázis = adott formátum és rendszer szerint tárolt adatok összessége. DBMS feladatai: adatstruktúra (adatbázisséma)

Részletesebben

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI)

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI) Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 8. előadás (ASP.NET WebAPI) 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto A webszolgáltatás

Részletesebben

Extrémen brutál, gyors talpaló PHP nyelvhez (database). v2.1

Extrémen brutál, gyors talpaló PHP nyelvhez (database). v2.1 Extrémen brutál, gyors talpaló PHP nyelvhez (database). v2.1 Eljárásorientált MySqli Írta: Girhiny Róbert a w3schools.com PHP MySQL leírása alapján. http://www.w3schools.com/php/php_mysql_intro.asp http://www.w3schools.com/php/php_ref_mysqli.asp

Részletesebben

DINAMIKUS MULTIMÉDIÁS TARTALOM...

DINAMIKUS MULTIMÉDIÁS TARTALOM... PHP XML Tartalomjegyzék PHP DINAMIKUS MULTIMÉDIÁS TARTALOM...1 TARTALOMJEGYZÉK...1 EDDIG VOLT...1 MAI ANYAG...1 XML feldolgozása általában...2 A PHP és XML története...2 SAX (Simple API for XML)...2 1.

Részletesebben

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) közönséges felhasználók SQL*Plus Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP dolgozó), DEPT osztály) "közönséges" felhasználók Adatszótár: metaadatokat tartalmazó, csak olvasható táblák táblanév-prefixek:

Részletesebben

Adatbázis. AMP! (Apache + MySql + PHP) XAMPP, LAMP, MAMP, WAMP et cetera

Adatbázis. AMP! (Apache + MySql + PHP) XAMPP, LAMP, MAMP, WAMP et cetera Adatbázis PHP MySql AMP! (Apache + MySql + PHP) XAMPP, LAMP, MAMP, WAMP et cetera Adatbázis - nem html? Egyszerű blog { Bejegyzés Olvasó Komment MySql - miért pont az? The world's most popular open source

Részletesebben

Adatbázis-kezelés. Harmadik előadás

Adatbázis-kezelés. Harmadik előadás Adatbázis-kezelés Harmadik előadás 39 Műveletek csoportosítása DDL adat definiálás Objektum létrehozás CREATE Objektum törlés DROP Objektum módosítás ALTER DML adat módosítás Rekord felvitel INSERT Rekord

Részletesebben

Tartalom DCOM. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés

Tartalom DCOM. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés Tartalom D Szoftvertechnológia elıadás Architektúra D vs CORBA Példá 2 1987 Dynamic Data Exchange (DDE) Windows 2.0-ban Windows alkalmazások közötti adatcsere Ma is használatos (pl. vágólap) NetDDE NetBIOS

Részletesebben

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET) Cserép Máté.

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET) Cserép Máté. Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 4. előadás (ASP.NET) Cserép Máté mcserep@inf.elte.hu http://mcserep.web.elte.hu Készült Giachetta Roberto jegyzete alapján

Részletesebben

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010 Programozási technikák Pál László Sapientia EMTE, Csíkszereda, 2009/2010 Előadás tematika 1. Pascal ismétlés, kiegészítések 2. Objektum orientált programozás (OOP) 3. Delphi környezet 4. Komponensek bemutatása

Részletesebben

Felhasználó által definiált adattípus

Felhasználó által definiált adattípus Felhasználó által definiált adattípus C++ Izsó Tamás 2017. február 24. Izsó Tamás Felhasználó által definiált adattípus/ 1 Irodalom Izsó Tamás Felhasználó által definiált adattípus/ 2 Programtervezési

Részletesebben

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET Core) Cserép Máté

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET Core) Cserép Máté Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 4. előadás Megjelenítés és tartalomkezelés (ASP.NET Core) Cserép Máté mcserep@inf.elte.hu http://mcserep.web.elte.hu Nézetek

Részletesebben

Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban

Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban Tartalom OOP ismétlés Osztályok létrehozása Adattagok láthatóságai, elnevezési ajánlások Konstruktor, destruktor this pointer Statikus és dinamikus

Részletesebben

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama 10. évfolyam: 105 óra 11. évfolyam: 140 óra 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra 36 óra OOP 14 óra Programozási

Részletesebben

Java. Perzisztencia. ANTAL Margit. Java Persistence API. Object Relational Mapping. Perzisztencia. Entity components. ANTAL Margit.

Java. Perzisztencia. ANTAL Margit. Java Persistence API. Object Relational Mapping. Perzisztencia. Entity components. ANTAL Margit. Sapientia - EMTE 2008 Az előadás célja JPA - - perzisztencia ORM - - Objektumrelációs leképzés - Entitásbabok Állandóság Mechanizmus amely során az alkalmazás adatai megőrzésre kerülnek valamely perzisztens

Részletesebben

Programozás II. 2. gyakorlat Áttérés C-ről C++-ra

Programozás II. 2. gyakorlat Áttérés C-ről C++-ra Programozás II. 2. gyakorlat Áttérés C-ről C++-ra Tartalom Új kommentelési lehetőség Változók deklarációjának helye Alapértelmezett függvényparaméterek Névterek I/O műveletek egyszerűsödése Logikai adattípus,

Részletesebben

Forráskód formázási szabályok

Forráskód formázási szabályok Forráskód formázási szabályok Írta: Halmai Csongor, Webcenter Bt. A php és html kódrészletek Ugyanazon fájlon belül nem szerepelhet php kód és html tartalom. E kettő különválasztására smarty-t vagy más

Részletesebben

Programozási nyelvek Java

Programozási nyelvek Java Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 13. előadás Throwable Error Exception RuntimeException IOException Saját (általában) Nem ellenörzött kivételek (Unchecked

Részletesebben

Eseményvezérelt alkalmazások fejlesztése II 12. előadás. Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto

Eseményvezérelt alkalmazások fejlesztése II 12. előadás. Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése II 12. előadás Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto A jegyzet az ELTE Informatikai Karának 2014.

Részletesebben

Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez

Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez Székely István Debreceni Egyetem, Informatikai Intézet A rendszer felépítése szerver a komponenseket szolgáltatja Java nyelvű implementáció

Részletesebben

Adatbáziskezelő-szerver. Relációs adatbázis-kezelők SQL. Házi feladat. Relációs adatszerkezet

Adatbáziskezelő-szerver. Relációs adatbázis-kezelők SQL. Házi feladat. Relációs adatszerkezet 1 2 Adatbáziskezelő-szerver Általában dedikált szerver Optimalizált háttértár konfiguráció Csak OS + adatbázis-kezelő szoftver Teljes memória az adatbázisoké Fő funkciók: Adatok rendezett tárolása a háttértárolón

Részletesebben

Szoftvertechnológia alapjai Java előadások

Szoftvertechnológia alapjai Java előadások Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz e-mail: fandrew@mit.bme.hu tárgy honlap: http://home.mit.bme.hu/~fandrew/szofttech_hu.html A mai előadás tartalma: Miért pont Java?

Részletesebben