A programoz s oktat sa web es alkalmaz sfejleszt eszk z k seg ts g vel
This presentation is the property of its rightful owner.
Sponsored Links
1 / 81

A programozás oktatása WEB-es alkalmazásfejlesztő eszközök segítségével PowerPoint PPT Presentation


  • 38 Views
  • Uploaded on
  • Presentation posted in: General

A programozás oktatása WEB-es alkalmazásfejlesztő eszközök segítségével. Fábián Zoltán 2006 (az anyag itt elérhető: http://www.szily.hu/photoalbum/2006_Roadshow/2006_suli_webkonferencia_2.ppt ). Előzmények.

Download Presentation

A programozás oktatása WEB-es alkalmazásfejlesztő eszközök segítségével

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


A programoz s oktat sa web es alkalmaz sfejleszt eszk z k seg ts g vel

A programozás oktatása WEB-es alkalmazásfejlesztő eszközök segítségével

Fábián Zoltán

2006

(az anyag itt elérhető: http://www.szily.hu/photoalbum/2006_Roadshow/2006_suli_webkonferencia_2.ppt)


El zm nyek

Előzmények

  • 1982 – Commodore Plusz4 – Basic, AssemblySzámítástechnika tanítás (C-64 – BASIC), Pascal, Logo, ELAN, CLipper, C, Java, FazztScript nyelvek

  • 1992 – Világbanki project, programozás oktatása a Szilyben – Pascal nyelv

  • 1999 – Ismerkedés a PHP 3-mal, MySql-lel

  • 2000 – PHP oktatás kezdete a számítástechnikai programozók évfolyamán – szakdolgozatok (PHP+MySQL)


Sok di k jelentkezik informatik ra az ltal nos iskola ut n mi rt

  • Tartalom

  • Motiváció

  • Irány az internet

  • Eszközválasztás

  • Jó-e a PHP

  • PHP oktatási tematika

    • Első lépések

    • Szelekció

    • Iteráció

    • Tömbök

    • Eljárás, Függ.

    • Változók

    • GET, POST

    • Assz. tömbök

    • Szövegkezelés

    • Fájlkezelés

  • Folytatás

Sok diák jelentkezik informatikára az általános iskola után. Miért?

  • A számítógép játék

  • A számítógép egy elvarázsolt világ,

  • A számítógép „titkai” megtanulhatók

  • A családban van informatikus, esetleg programozó

  • Korábbi elhivatott tanár

Van megfelelő motiváció, de kevés az ismeret


Az informatikus di kok csek ly r sze lesz programoz mi rt

Az informatikus diákok csekély része lesz programozó. Miért?

  • Hozott képességek. Kell

    • algoritmizálási képesség,

    • kreativitás,

    • alkalmazni kell tudni a tanultakat,

  • Motiváltság

    • szorgalom – otthoni munka

    • kitartás – sokáig tart, amíg látványos eredményeket ér el az ember.


Az alkot s v gya az alapvet motiv ci a programoz sra

Az alkotás vágya az alapvető motiváció a programozásra?

Mikor marad fent ez a motiváció?

  • Vannak viszonylag gyors sikerek, látványos előrehaladás

  • Olyan alkalmazások készítésének a képessége, amelyeket nap, mint nap használ

  • Látványos alkalmazások elkészítésének képessége


Mi a helyzet k z piskol ban s az okj s szakm kban

Mi a helyzet középiskolában és az OKJ-s szakmákban?

Mi info tanárok mindannyian a Pascalon szocializálódtunk!

  • A középszintű Informatika érettséginek nem része a programozás, emelt szinten elegendő a Pascal nyelv ismerete

  • Informatikai alapismeretek érettségihez középszinten és emelt szinten elegendő a Pascal ismerete

  • OKJ középfokú programozó vizsgát lehet tenni Pascallal (Igaz kellene még egy nyelv, de a pontszám elegendő)

  • A képzési idő nem elég a jó programozási gyakorlat elsajátítására


Ma m r a pascal nem motiv l el gg

Ma már a Pascal nem motivál eléggé

  • Nem grafikus – csak Delphi esetén vagy BGI grafikával

  • Nincs képkezelés, gombok, stb...

  • Kevés ahhoz, hogy olyan játékot írjon a gyerek, mint amit szokott játszani

  • Nincs köze az Internethez

  • A számítógép szerepe mára megváltozott, ablak egy kitágult világra


A programoz s oktat sa web es alkalmaz sfejleszt eszk z k seg ts g vel

  • Tartalom

  • Motiváció

  • Irány az internet

  • Eszközválasztás

  • Jó-e a PHP

  • PHP oktatási tematika

    • Első lépések

    • Szelekció

    • Iteráció

    • Tömbök

    • Eljárás, Függ.

    • Változók

    • GET, POST

    • Assz. tömbök

    • Szövegkezelés

    • Fájlkezelés

  • Folytatás

MegoldásInternetes technológiák használata!


Vannak gyors sikerek

Vannak gyors sikerek!

<?php

print(”A hello World!”);

?>

  • Gyorsan fejleszthető

  • A változók használata a típusok keveredése miatt nem túl szigorú

  • Elágazások, ciklusok használata érthető, világos


L tv nyos el rehalad s

Látványos előrehaladás

  • Az alkalmazásokkal egyszerűen HTML és PHP keverésével látványos megoldások érhetők el


Olyan alkalmaz sok k sz t s nek a k pess ge amelyeket nap mint nap haszn l

Olyan alkalmazások készítésének a képessége, amelyeket nap, mint nap használ

  • Az internet használata során a diákok látják, hogy a site-ok jelentős része php alapú.

  • Viszonylag könnyen lehet készíteni alkalmazásokat, amelyek hasonlítanak nagy példaképekre.


L tv nyos alkalmaz sok elk sz t s nek k pess ge

Látványos alkalmazások elkészítésének képessége

  • Ha egy diák az Internetről levesz egy-egy ingyenes DHTML megoldást, akkor látványossá teheti az oldalt.


Milyen rendszer felel meg az oktat s k vetelm nyeinek

Milyen rendszer felel meg az oktatás követelményeinek?

  • Lehessen interaktív programot írni

  • Legyenek alapvető struktúrák (szekvencia, iteráció, szelekció)

  • Függvény, eljárás hívás

  • Sokféle egyszerű adattípus

  • Összetett adattípusok: tömbök, rekordok

  • Globális és lokális változók

  • Paraméterátadás: cím és érték szerint is

  • Szövegkezelő függvények

  • Fájlkezelés

  • OOP


Es lyes technol gi k

  • Tartalom

  • Motiváció

  • Irány az internet

  • Eszközválasztás

  • Jó-e a PHP

  • PHP oktatási tematika

    • Első lépések

    • Szelekció

    • Iteráció

    • Tömbök

    • Eljárás, Függ.

    • Változók

    • GET, POST

    • Assz. tömbök

    • Szövegkezelés

    • Fájlkezelés

  • Folytatás

Esélyes technológiák

  • Java (kliens és szerver oldal is)

  • Javascript (kliens oldal)

  • PHP (szerver oldal)


A programoz s oktat sa web es alkalmaz sfejleszt eszk z k seg ts g vel

JAVA

  • Appletekre és kliens alkalmazásokra tökéletesen alkalmas

  • Adattípusok széles választéka áll rendelkezésre

  • Globális, lokális változók használhatók

  • Paraméterátadás: cím és érték szerint is

  • Függvény és eljárás

  • Szigorú programszerkezet. csak formai megfelelőség esetén fordul le a program

  • Fájlkezelés kliens alkalmazások esetén

  • Grafika, képkezelés

  • Vezérlési szerkezetek széles választéka

  • OOP

    Kezdőnyelvnek nehéz, mert teljesen OOP centrikus!


Javascript

Javascript

  • Majdnem mindenben megfelel

    • Fájlkezelés nincs a böngészőben

    • A tömbök kissé „furcsán” viselkednek

    • Futási idejű hibaellenőrzés nehézkes


A programoz s oktat sa web es alkalmaz sfejleszt eszk z k seg ts g vel

PHP

  • Mindennek megfelel, kivéve

    • Nem túl szigorú a programszerkezet, futási időben történik a hibaellenőrzés

    • Nem interaktív –azért ez megoldható

    • Szerveroldali (majdnem csak)

    • OOP majdnem teljes a PHP5-ben

  • Erősségek

    • Sok szövegkezelő függvény

    • Sok fájlkezelő függvény

      Jó választás


A programoz s oktat sa web es alkalmaz sfejleszt eszk z k seg ts g vel

  • Tartalom

  • Motiváció

  • Irány az internet

  • Eszközválasztás

  • Jó-e a PHP

  • PHP oktatási tematika

    • Első lépések

    • Szelekció

    • Iteráció

    • Tömbök

    • Eljárás, Függ.

    • Változók

    • GET, POST

    • Assz. tömbök

    • Szövegkezelés

    • Fájlkezelés

  • Folytatás

Jó-e a PHP kezdőnyelvnek?

<?php

print(”Hello Word!”);

?>

  • Az elején egyszerű, természetes, a tanulással együtt lehet összetett alkalmazásokat írni.

  • Alapesetben nem interaktív


Milyen felt telek kellenek a tan t shoz ha lehet olcs n

Milyen feltételek kellenek a tanításhoz (ha lehet olcsón)?

  • HardverEgy mai átlagos PC, lehet kicsit régibb is.

  • MS Windows 2000, Windows XP vagy Linux op. rendszer, azaz platform független rendszer.

    Az eszközök ingyenesek

  • Jegyzettömb, vagy valami erősebb ASCII editor vagy komolyabb alkalmazásként, PSPad

  • Apache és később MySQL

  • Böngésző – IE6 vagy Firefox 1.5+


Komolyabb eszk z k

Komolyabb eszközök

  • WAMP – Windows Apache MySQL PHP (XAMP, BigApache, Uniserver, stb)

  • PHP Eclipse platformfüggetlen IDE – JAVA-ra épül

  • Zend IDE – minden ami a fejlesztéshez kell (Editor, Debugger, Profiler)

  • CodeCharge – későbbi előadás


El ismeretek

  • Tartalom

  • Motiváció

  • Irány az internet

  • Eszközválasztás

  • Jó-e a PHP

  • PHP oktatási tematika

    • Első lépések

    • Szelekció

    • Iteráció

    • Tömbök

    • Eljárás, Függ.

    • Változók

    • GET, POST

    • Assz. tömbök

    • Szövegkezelés

    • Fájlkezelés

  • Folytatás

Előismeretek

  • Stabil, de egyszerű HTML alapok kellenek

    • A HTML oldal szerkezete

    • Néhány alapvető tag:

      • <p>,<br>, <table>,<th>,<tr>,<td>,

    • A formázáshoz szükséges paraméterek

    • <FORM>

  • Jó, ha van stíluslap, CSS tudás

    A fenti dolgokat megtanítjuk, vagy átvesszük az oktatás előtt


A programoz s oktat sa web es alkalmaz sfejleszt eszk z k seg ts g vel

  • A kliens-szerver architektúra koncepció lényegét elmagyarázom

  • A fejlesztői gépen a kliens és szerver egy és ugyanaz lehet


Els l p sek a php k d s a html k d viszonya

Első lépések – a PHP kód, és a HTML kód viszonya

  • A PHP program kimenete HTML kód, amit a böngésző értelmez!

  • Sulykolni kell egyszerű kiírást és formázást létrehozó példákon keresztül

  • Ezalatt szintaktikai alapismeretek a PHP-ban.

  • Ha második nyelv, akkor jelmondat:

    Mint a C-ben (majdnem)!

    Lássunk néhány példát!


A majdnem hello world php ben

A majdnem „Hello world!” PHP-ben.

Majdnem_Hello_world.php

<html>

<head>

<title>Hello world</title>

</head>

<body>

Hello world!

</body>

</html>

Ha a PHP fájl csak HTML kódból áll, akkor, mintha nem is lenne PHP. A PHP értelmező beolvassa a fájlt, majd kiküldi a szervernek változatlan formában.


A hello world php ben

A „Hello world!” PHP-ben.

helloworld1.php

<html>

<head>

<title>Hello world</title>

</head>

<body>

<?php

echo ”Hello world!”;

?>

</body>

</html>

A PHP nyitó tagtől a zárótagig az interpreter értelmezi a kódot. A kimenet a webszerverhez kerül.


Alternat v ki r utas t sok

Alternatív kiíró utasítások

helloworld2.php

<html>

<head>

<title>Hello world</title>

</head>

<body>

<?php

echo ”Ez is jó lesz kiírásra”;

print (”Hello world!<br>”);

printf (”%6d a sorszáma”, 1984);

?>

</body>

</html>

A print() többször használatos, sőt van a c-hez hasonló printf() is, ugyanolyan formázó stringek használatával.

Az egyszerű példákban megjelenítünk HTML tag-eket is a PHP segítségével


V ltoz k s t pusok bevezet se

Változók és típusok bevezetése

  • Ha a változók és adattípusok fogalmát ismerik a diákok, akkor átismételjük a PHP-ben lévőket.

  • Ha nem ismerik azokat, akkor bevezetjük az egyszerű típusokat.

    • A String típus hová soroljuk? Szerintem az egyszerűek közé.

  • Változók használatának szintaktikai szabályai

  • A középiskolás korosztály esetén célszerű a példákon keresztül megközelíteni a programozás tanulását, és így eljutni az elméletig.


A php t pusos nyelv de

A PHP típusos nyelv, de …

  • A változó neve mindig $ jellel kezdődik. A név kis és nagybetű érzékeny!

  • A változó típusa értékadáskor dől el. Pl.:

    $s= ”Szia, ez egy string”; // string

    $d= 123; // egész szám

    $f= 123.23457; // float

    $b= true; // logikai típus

    $t= array(); // Tömb típus

    $fp= fopen(”C:/valami.txt”,”r”); // erőforrás típus

    $o= new semmi();// osztályokról később

    Gyakori az automatikus típuskonverzió:

    Echo $s . ” : ” . $d; // Stringre konvertál minden kiírandót

    // . A stringek összefűzésére használt jel


Oper torok haszn lata

Operátorok használata

  • Stringek összefűzése

  • Matematikai alapműveletek

    <?php

    $x = 5;

    $y = 10;

    $z = $x.”*”.$y.” eredménye:”.($x*$y).” lesz”;

    print($z);

    ?>


Szelekci

  • Tartalom

  • Motiváció

  • Irány az internet

  • Eszközválasztás

  • Jó-e a PHP

  • PHP oktatási tematika

    • Első lépések

    • Szelekció

    • Iteráció

    • Tömbök

    • Eljárás, Függ.

    • Változók

    • GET, POST

    • Assz. tömbök

    • Szövegkezelés

    • Fájlkezelés

  • Folytatás

Szelekció

Az elején nem törekszünk minden vezérlési szerkezet megismertetésére

<?php

$x = rand(0,100);

if($x <50){

print(” Nem nyert”);

}else{

print(” Ön nyert!”);

}

?>


Szelekci 2

Szelekció 2.

Persze a többi szerkezetet is megtanítjuk később

if( feltétel){

utasíás1;

Utasítás2;

}elseif(feltétel){

alternatív_utasítás1;

alternatív_utasítás2;

}else{

alternatív_2utasítás1;

alternatív_2utasítás2;

}

Switch(ertek){

case kons1 :

utasítás;

break;

case konst2 :

…….

default

utasítás;

}


Konstansok default rt kek

Konstansok, default értékek

  • Konstans definiálása

    Define(”KNEV”, érték);

  • Ha nem tudom, hogy korábban már definiáltam-e egy konstanst, akkor adok neki egy default értéket

    if( !defined(”KNEV”) ) define(”KNEV”, ”default érték”);

  • Ha nem tudom, hogy egy változó már létezik-e, azt is megvizsgálhatom és adhatok neki default értéket.

    if(!isset($a) ) $a = 1112; // default érték;

    Ha tudni akarom hogy létezik-e a változó vagy az értéke ...

    if (!isset($a) || ( $a == 0 ) ) $a = 1;


Iter ci

  • Tartalom

  • Motiváció

  • Irány az internet

  • Eszközválasztás

  • Jó-e a PHP

  • PHP oktatási tematika

    • Első lépések

    • Szelekció

    • Iteráció

    • Tömbök

    • Eljárás, Függ.

    • Változók

    • GET, POST

    • Assz. tömbök

    • Szövegkezelés

    • Fájlkezelés

  • Folytatás

Iteráció

Mintapélda a ciklus használatának bemutatására

<?php

for($i=0; $i< 100; $i++){

print($i.”<br>”);

}

print(”<table>”);

for($i=0; $i< 100; $i++){

print(”<tr>”);

print(”<td>”.$i.”</td>”);

print(”<td>”.($i+100).”</td>”);

print(”</tr>”);

}

print(”</table>”);

?>


Iter ci1

Iteráció

Mintapélda ciklusok alkalmazására:

$i = 0;

$x = 0;

while( $x> 80 && $i < 100 ){

$x = rand(1,100)

print($i.” : ”.$x);

$i++;

}

$i = 0

do{ echo $i;

} while ($i > 0);

Ezekre a ciklusokra a tanulás során a programozási tételeknél lesz szükség


T mb k

  • Tartalom

  • Motiváció

  • Irány az internet

  • Eszközválasztás

  • Jó-e a PHP

  • PHP oktatási tematika

    • Első lépések

    • Szelekció

    • Iteráció

    • Tömbök

    • Eljárás, Függ.

    • Változók

    • GET, POST

    • Assz. tömbök

    • Szövegkezelés

    • Fájlkezelés

  • Folytatás

Tömbök

  • Bevezetem a tömböket, mint egyszerű adatok sorozatát.

  • Index, tömbelem van stb...

  • Csak egy dimenziós tömbök

  • Példák a for ciklus és a tömbök együttműködésére ... itt most nem részletezem


Iter ci ii

Iteráció II.

A foreach speciális ciklus, később van jelentősége

$t = array("Pista", "géza");

foreach($t AS $i => $e){

print("index: ");

print($i);

print(", Érték: ");

print($e);

print("<br>");

}

A futás eredménye:

Index: 0, Érték: PistaIndex: 1, Érték: géza


Elj r sok f ggv nyek

  • Tartalom

  • Motiváció

  • Irány az internet

  • Eszközválasztás

  • Jó-e a PHP

  • PHP oktatási tematika

    • Első lépések

    • Szelekció

    • Iteráció

    • Tömbök

    • Eljárás, Függ.

    • Változók

    • GET, POST

    • Assz. tömbök

    • Szövegkezelés

    • Fájlkezelés

  • Folytatás

Eljárások, függvények

  • Hol deklarálhatom, és mikor érhetem el.

  • Paraméterátadás (Érték szerinti, default érték, cím szerint)

  • Eljárás a PHP-ban paraméterekkel

    function procnev($a, $b = 123){

    echo $a . $b;

    }

  • Függvény átadott paraméterekkel

    function fnev($a){

    $a = $a +2;

    return $a;

    }

  • Eljárás cím szerinti paraméterátadással

    function fnev ( &$a ){

    $a = $a *2;

    }


V ltoz k hat sk re s globalit sa

  • Tartalom

  • Motiváció

  • Irány az internet

  • Eszközválasztás

  • Jó-e a PHP

  • PHP oktatási tematika

    • Első lépések

    • Szelekció

    • Iteráció

    • Tömbök

    • Eljárás, Függ.

    • Változók

    • GET, POST

    • Assz. tömbök

    • Szövegkezelés

    • Fájlkezelés

  • Folytatás

Változók hatásköre és globalitása

  • A php oldalon létrejövő változók globálisak

  • A függvények/eljárásokon belül deklarált minden változó lokális.

  • Ha a globális névtérből importálhatok változókat

  • Léteznek szuperglobális változók, amelyek a PHP kód minden részérő elérhetők.


A programoz s oktat sa web es alkalmaz sfejleszt eszk z k seg ts g vel

Nézzünk egy példát

<?php

$a = 1118; //Globális változók

$b = 123;

$c = 9999;

$GLOBALS[”hello”] = ”Ez szuperglobális” //Mi ez tömb?

Function fn(){

global $a; // Importálom a globális névtérből,

// tehát használhatom a függvényen belül

$c = ”Ez lokális változó”;

$a ++; //A globális változó értékét növeltem

$szoveg = $GLOBALS[”hello”];

echo $szoveg.

}

?>


Egy kis kit r get met dus

  • Tartalom

  • Motiváció

  • Irány az internet

  • Eszközválasztás

  • Jó-e a PHP

  • PHP oktatási tematika

    • Első lépések

    • Szelekció

    • Iteráció

    • Tömbök

    • Eljárás, Függ.

    • Változók

    • GET, POST

    • Assz. tömbök

    • Szövegkezelés

    • Fájlkezelés

  • Folytatás

Egy kis kitérő - GET metódus

  • Ha egy HTML oldalon van egy link, és arra kattintasz, akkor paramétert adsz át a következő PHP oldalnak:

    <a href=”http://localhost/getpelda.php?sz=123&ok=sziamiau”>

    Ez itt a link

    </a>

    Ez a paraméterátadás GET metódussal zajlik.

    A meghívott oldalon automatikusan létrejön az alábbi változó:

    $_GET[”sz”] és értéke 123 lesz!

    getpelda.php

    <?php

    Echo ”Ezt kaptam: ” . $_GET[”sz”] . ”<br>”;

    echo ”Meg ezt: ” . $_GET[”ok”]

    ?>


Post met dus bevezet se interaktivit s

POST metódus bevezetése - interaktivitás

A HTML oldalon lévő űrlap elküldi az adatokat egy másik oldalnak POST metódussal.

Index.html

<form action=”postpelda.php” method=”POST”>

<input type=”text” name=”name”>

<input type=”checkbox” name=”chk”>

<input type=”submit” name=”ok” value=”ok”>

</form>

A meghívott oldalon létrejön automatikusan a $_POST tömb és azt feldolgozzuk

postpelda.php

<?php

foreach( $_POST AS $i => $e){

echo ”index: ” . $i . ”, Érték: ”. $e . ”<br>”;

}

?>

Önmagukat meghívó oldalakat alkalmazhatunk!


Asszociat v t mb k t pusok kevered se

  • Tartalom

  • Motiváció

  • Irány az internet

  • Eszközválasztás

  • Jó-e a PHP

  • PHP oktatási tematika

    • Első lépések

    • Szelekció

    • Iteráció

    • Tömbök

    • Eljárás, Függ.

    • Változók

    • GET, POST

    • Assz. tömbök

    • Szövegkezelés

    • Fájlkezelés

  • Folytatás

Asszociatív tömbök, típusok keveredése

  • A tömbelemeket tetszőleges típusú értékekkel indexelhetem.

  • A tömb elemeinek indexét tetszőlegesen keverhetem.

  • A tömbökben tárolt adatok típusa keveredhet!

    $a[”gj”] = 123;

    $a[1] = ”Ez fura”;

  • A tömbökben tárolhatok tömböket

  • A tömbök mérete dinamikusan változhat.

    $b = array(”Hi”, 1, true, array(11, 22) );

    $b[4] = ”Ez is bekerül!”;

  • A foreach ciklust igazából arra lehet jól használni, hogy feldolgozzunk asszociatív tömböket!


Sz vegkezel s

  • Tartalom

  • Motiváció

  • Irány az internet

  • Eszközválasztás

  • Jó-e a PHP

  • PHP oktatási tematika

    • Első lépések

    • Szelekció

    • Iteráció

    • Tömbök

    • Eljárás, Függ.

    • Változók

    • GET, POST

    • Assz. tömbök

    • Szövegkezelés

    • Fájlkezelés

  • Folytatás

Szövegkezelés

  • A bőség zavara (97 függvény)

  • A fontosabbak:

    substr(),

    str_replace(),

    strlen(),

    pos(),

    strpos()

    reguláris kifejezések...

  • Mintafeladatok:

    • Állapítsa meg, hogy egy szövegben szerepel-e egy adott karakter, és ha igen, akkor hol szerepel?

    • Cserélje ki egy szövegben előforduló minden email címben a @ jelet #-ra


F jlkezel s

  • Tartalom

  • Motiváció

  • Irány az internet

  • Eszközválasztás

  • Jó-e a PHP

  • PHP oktatási tematika

    • Első lépések

    • Szelekció

    • Iteráció

    • Tömbök

    • Eljárás, Függ.

    • Változók

    • GET, POST

    • Assz. tömbök

    • Szövegkezelés

    • Fájlkezelés

  • Folytatás

Fájlkezelés

  • Fájlok kezelése C szintaktika szerint,

    • fopen(),fclose(), feof(),fgets(), fgetc()

    • fseek(), fwrite()

  • Fájlok ahogy én szeretem

    • $str = file_get_contents(”file.txt”)

    • file_put_contents(”file.txt”,$str)

    • File() => array

  • Fájlrendszer műveletek

    • is_file(), is_dir(), file_exists(), dir()

    • dirname(), pathinfo()

  • WEB-es fájlműveletek, relatív címzés sulykolása,

    • $_SERVER["DOCUMENT_ROOT"]

    • $_SERVER[”PHP_SELF"]

  • __FILE__


F jlkezel s mintafeladatok

Fájlkezelés mintafeladatok

  • Készíts programot, amely a szerveren elmenti minden letöltő IP címét, és a böngészőjének típusát, majd készíts programot, amely kiértékeli a látogatottsági adatokat

  • Készítsd el egy könyvtárban lévő fájlok listáját! Jelenítsd meg a fájlok méretét is!

  • Készítsd el egy könyvtárban lévő fájlok listáját úgy hogy a fájlokat az internetről le lehessen tölteni. A fájl típusának megfelelő ikonok jelenjenek meg a fájl neve mellett!

  • Egy speciálisan formázott szövegfájlban tároljuk a könyvtárban lévő fényképek leírásait. Írj programot, amely kiírja a képeket egy weboldalra és hozzájuk fűzi a szövegeket.

  • Készíts programot, amellyel rekurzívan be lehet járni a szerver könyvtárstruktúráját


F jlok includol sa

Fájlok includolása

  • Miért kell – újrafelhasználható kód, struktúrált programozás

    • include(), include_once()

    • require(), require_once()


A szuperglob lis t mb k

A szuperglobális tömbök

Ez a téma átvezet a következő év anyagára.

$_GET – A GET metódussal átadott paraméterek tömbje

$_POST – a POST-tal átadott paraméterek tömbje

$_COOKIE – a php oldal meghívásakor a böngészőktől érkező cookie-k tömbje

$_SESSION – a munkamenet azonosítók tömbje (később)

$_SERVER – a webszerver környezeti paramétereit tároló tömb

$_ENV – az operációs rendszer környezeti változóit tároló tömb

$_FILES – A html űrlapról feltöltött file adatait tároló tömb

$_REQUEST – A böngésző által elküldött kérés paramétereit tartalmazó tömb

$GLOBALS – ebben minden benne van


Egy nagyon s r tan v v ge

Egy nagyon sűrű tanév vége

  • Körülbelül idáig juthatnak el egy tanév alatt a diákok egy tanév alatt heti 3-4 órában tanulva a programozást a semmiről

  • A tanév alatt természetesen algoritmusokat írunk, amikor csak lehet

  • Programozási tételek szerepelnek azután, miután a ciklusok, eljárások és függvények már ismertek

  • Otthoni munka fontos. Ma már a diákok jelentős részének van otthon számítógépe – lehet HF-et adni nekik. Akinek nincsen, az iskolában kaphat gépidőt.


Folytat s a m sodik v

Folytatás – a második év

  • Programok tervezésének ismerete -

  • A tanévben adatbázisokkal kapcsolatos ismeretek

  • OOP programozás, és azok alkalmazása

  • Modern programozási módszertan

  • Kliens oldali megoldások (CSS, DOM, Javascript, Java, XML, AJAX)


K sz n m figyelm ket v rom k rd seiket

Köszönöm figyelmüket!Várom kérdéseiket?


Adatb zisok kezel se 1 fapados m dszer

Adatbázisok kezelése? 1. „Fapados” módszer

  • A program kapcsolódik az adatbázishoz

  • Kiválasztja a célzott adatbázist

  • Elküld egy SQL lekérdezést az adatbázisra vonatkozólag az adatbázis szervernek

  • Az eredmény rekordszetet feldolgozza

  • Kiírja az eredményt.

  • Nézzük:


Kapcsolat l trehoz sa

Kapcsolat létrehozása

<?php$kapcsolat = mysql_connect("localhost", "felhasználónév", "titok");if (!$kapcsolat) {    die('Nem lehet csatlakozni ' . mysql_error()));}echo('A csatlakozás sikerült');mysql_close($kapcsolat);

?>

  • A lefutás után a kapcsolat megszakad a PHP és az adatbázis szerver között. A kapcsolat felépítése a leglassabb az adatbázis műveletek között.

  • Perzisztens kapcsolat időtakarékosabb, mert meglévő kapcsolatot használ az új kapcsolat helyett: mysql_connect() helyett mysql_pconnect().

  • A $kapcsolat változó típusa erőforrás típus (valójában a megadott memória területre mutató pointer)

  • A mysql kapcsolat hibáját le lehet kezelni: mysql_error();

  • A kapcsolatot le is lehet zárni: mysql_close(). az oldal lefutásakor a kapcsolat lezárul


Az adatb zis kiv laszt sa

Az adatbázis kiválasztása

<?php

$adatbazis_kivalasztva = mysql_select_db('szily', $kapcsolat);

if (!$adatbazis_kivalasztva) {

die('Nem tudom kiválasztani a szily adatbázist: ' . mysql_error())

}

?>

  • Le lehet kérdezni az adatbázisok listáját is. És még sok egyéb adatbázis-kezelő függvény van a PHP-ben, de erre most nem térek ki.


Sql lek rdez s elk ld se

SQL Lekérdezés elküldése

<?php

$kapcsolat = mysql_connect("localhost", "felhasználónév", "titok");

if (!$kapcsolat) {

die('Nem lehet csatlakozni ' . mysql_error()));

}

echo('A csatlakozás sikerült');

$adatbazis_kivalasztva = mysql_select_db('szily', $kapcsolat);

if (!$adatbazis_kivalasztva) {

die('Nem tudom kiválasztani az ize adatbázist: ' . mysql_error())

}

$eredmeny = mysql_query ("SELECT * FROM nevsor");

if (!$eredmeny) {

  die('Érvénytelen lekérdezés:' . mysql_error());

}

?>

A lekérdezés eredménye egy rekordszet, amit fel kell dolgoznunk ciklussal, vagy egyéb módon.


Az eredm ny feldolgoz sa s ki r sa t bl zatban egy html oldalra

Az eredmény feldolgozása és kiírása táblázatban egy html oldalra

<?php

$kapcsolat = mysql_connect("localhost", "felhasználónév", "titok");

$adatbazis_kivalasztva = mysql_select_db(‘szily', $kapcsolat);

$eredmeny = mysql_query ("SELECT * FROM nevsor");

echo ”<table>”;

echo ”<tr><td>név</td><td>cím</td><td>Életkor</td></tr>”;

while ($sor = mysql_fetch_array($eredmeny)) {echo ”<tr>”;

echo ” <td>”. $sor['nev'] .” </td>”;

echo ” <td>”. $sor['cim'] .” </td>”

echo ” <td>”. $sor['kor'] . ” </td>”;

echo ”</tr>”;

}

echo ”</table>”;

mysql_close();

?>

  • A mysql_fetch_array() egy rekord adatait beteszi egy asszociatív tömbbe.

  • A while ciklussal addig olvassuk a rekordszet eredménysorokat, amíg vannak még rekordok. Ha nincs több rekord, akkor a $sor értéke false és vége a ciklusnak.


Adatok m dos t sa egy adatb zisban t rl s

Adatok módosítása egy adatbázisban - Törlés

  • Egy oldalon rábökünk egy linkre vagy egy nyomógombra, ami meghív egy másik oldalt, ahol a megfelelő SQL utasítás lefut végrehajtja a szerver.

    <a href=”torol.php?id=100”>Törlés</a>

    Torol.php

    <?php

    $kapcsolat = mysql_connect("localhost", "felhasználónév", "titok");

    $adatbazis_kivalasztva = mysql_select_db(‘szily', $kapcsolat);

    $e = mysql_query (”DEL * FROM nevsor WHERE id=”.$_GET[”id”]);

    If ($e){

    echo ”A törlés sikerült”;

    }else{

    echo ”A törlés nem sikerült”;

    }

    mysql_close();

    ?>

    A kódot javíthatjuk a korábbiakban tanult isset() fv. segítségével.


M dos t s j sor besz r sa ugyanezen az elven de nagyon macer s egyszer bben lehet e

Módosítás, Új sor beszúrása, ugyanezen az elven, de nagyon macerás… egyszerűbben lehet-e?

  • Minden oldalon ugyanazokat a műveleteket kell elvégezni (kapcsolódás, adatbázis választás, stb…) => valami include kellene

    <?php

    Include(”adatbazis.php”);

    $e = mysql_query (”DEL * FROM nevsor WHERE id=”.$_GET[”id”]);

    If ($e){

    echo ”A törlés sikerült”;

    }else{

    echo ”A törlés nem sikerült”;

    }

    ?>

  • A kapcsolódásért felelős programrészleteket minden oldalon beincludoljuk a programba,

  • Más library jellegű eljárásokat és függvényeket is készíthetünk, betesszük őket az include fájlba és a megfelelő oldalon beincludoljuk.


M g mindig sokat kell dolgozni

Még mindig sokat kell dolgozni!

  • Készítsünk olyan előre gyártott függvényt, amely a gyakori műveleteket (lekérdezés, beszúrás, módosítás, törlés) eljárás formájában hajtja vége, megfelelő paraméterek átvételével

  • A lekérdezés eredményét a függvény eleve tömb formájában adja vissza.

  • Később mutatok ilyet...


Adatb zis f ggetlens g

Adatbázis függetlenség

  • A különböző adatbázis-kezelőkhöz nem pontosan ugyanazok a függvények tartoznak

  • Kell egy adatbázis-absztrakció, amely eltakarja az adatbázis-kezelők közti különbséget

  • Létező lehetőségek:

    • PEAR – A PHP-hez fejlesztett hivatalos programcsomag – nagy falat, de sok mindent tud

    • ADODB Library – adatbázis absztrakciós felület, viszonlyag egyszerűbben el lehet sajátítani

    • PHP 5.1.x – PDO, Új hivatalos adatbázis absztrakciós réteg.

      Hogyan működnek ezek?


Az adatb zis absztrakci s r tegek m k d se

Az adatbázis absztrakciós rétegek működése


Oop alap adatb zis kezel s

OOP alapú adatbázis kezelés

  • Később ilyet láthatunk, tervezést igényel


Alkalmaz sfejleszt s model view controler elk pzel s

AlkalmazásfejlesztésModel-View-Controler elképzelés

  • Az alkalmazások további rétegezése

  • Model => az adatbázis modell, eddig erről volt szó

  • View => Az adatbázis adatainak megjelenítését vezérli – az adatbázis absztrakcióra építjük. Kellhet hozzá kliens oldali komponens is.

    • (Javascript, Flash - ActionScript, Java, CSS)

  • Controller => A felhasználó tevékenységére hogyan reagáljon a felület – eseménykezelés a böngészőben

    • Kliens oldali megoldások kellenek (Javascript, CSS, ActionScript, Java Applet, AJAX, stb…)


Azonos t s bel ptet s session

Azonosítás, beléptetés, session

  • A user a HTML űrlapon beírja a usernév, password párost

  • Elküldi a szervernek az adatokat, amit az oldal ellenőriz az adatbázis alapján

  • Később már csak a belépettség állapotát ellenőrizzük.

  • Mielőtt ezt megnéznénk egy keveset halljunk a http protokollról


Http protokoll gyorstalpal cookie k

HTTP protokoll gyorstalpaló – Cookie-k

  • GET vagy POST kéréskor először a kérés headerei mennek a szerverhez.

  • A headerek közül az egyik legfontosabb a Cookie.

  • A cookie a böngészőn tárolt max. 4 kb-nyi adat. A Netscape vezette be. A cookie-kat a látogató azonosításra, számlálásra használják, stb...

  • A cookie-t a web szerver elküldi a PHP-nak, amit azzal fel lehet dolgozni.

  • A PHP oldal a először a válasz header-eit küldi el, amihez a webszerver hozzáteszi a magáét

  • A PHP oldal a HTML tartalmat csak ezután küldheti ki a szervernek


Cookie kezel s p lda h nyszor l togatta az oldalt

Cookie kezelés példa – hányszor látogatta az oldalt

<?php

if(isset($_COOKIE["counter"]))// Elküldte-e a counter nevű cookie-t

$counter = $_COOKIE["counter"];//Ha igen, akkor megjegyezzük az értéket

else

$counter = 0;//Még nem volt az oldalon

$counter ++; //Növeljük a látogatottság számlálót

if(isset($_POST["nev"])) $nev = $_POST["nev"]; //Ha beírta az adatokat, akkor majd megjelenítjük

else $nev = "";

if(isset($_POST["pwd"])) $pwd = $_POST["pwd"];

else $pwd = "";

setcookie("counter",$counter,time()+30*24*60*60);// Beállítom a cookie értékét és elküldöm a cookie-t a

// böngészőnek. A cookie lejárata 1 hónap

?>

<HTML>

<HEAD><TITLE>Cookieteszt</TITLE></HEAD>

<BODY>

<FORM METHOD="POST" ACTION=”cookietest.php">

<INPUT TYPE="text" NAME="nev" VALUE="<?php print($nev); ?>"><br>

<INPUT TYPE="password" NAME="pwd">

<INPUT TYPE="submit">

</FORM>

Belépések száma: <?php print($counter);?><br>

</BODY>

</HTML>


Session k kezel se 1

Session-ök kezelése 1.

  • A kliens oldalon tilos éles információt tárolni - > a szerveren kell olyan helyen, amit a PHP tud olvasni, de a webről nem elérhető

  • A session olyan fájl, amiben a PHP oldalak adatokat tárolhatnak. Ezek a többi oldalon is elérhetők (globális értékek)

  • A tárolás módja: az adatok serializációja (Az értékeket átalakítjuk speciális stringgé, $str = serialize($tomb) és vissza $tomb = unserialize($_SESSION[”tomb”])) pl.:

    col|a:4:{

    i:0;a:3:{s:5:"order";i:10;s:4:"view";s:1:"1";s:5:"width";i:0;}

    i:1;a:3:{s:5:"order";i:9;s:4:"view";s:1:"1";s:5:"width";i:10;}

    i:2;a:3:{s:5:"order";i:8;s:4:"view";s:1:"1";s:5:"width";i:20;}

    i:3;a:3:{s:5:"order";i:7;s:4:"view";s:1:"1";s:5:"width";i:30;}

    i:4;a:3:{s:5:"order";i:6;s:4:"view";s:1:"1";s:5:"width";i:40;}

    }

    A session véletlenszerű nevet kap, valami ilyet és ilyen nevű fájlba kerülnek az adatok. pl.:

    sess_ade7acbe988ecddbfbed16166ded0e54

  • A fájlnevet cookieban elküldi a szerver a böngészőnek. A cookie lejárata azonnali, tehát ha a user kilép a böngészőből a cookie érvénytelenné válik – így a kliens oldalra kerülő információ segítségével sem lehet hozzájutni a sessionben tárolt adatokhoz.


Session kezel s 2

Session kezelés 2.

session.php

<?php

session_start(); //megnyitom a sessiont, ha nincsen, akkor létrehozok egyet

if(isset($_SESSION[”szamlalo”]))

$i = $_SESSION[”szamlalo”] + 1;

else

$i = 1;

echo ”Ennyi oldalon át volt session kezelés: ”,$i.”<br>”

$_SESSION[”szamlalo”] = $t; //letároljuk a megőrzendő adatot

session_write_close();

?>

<a href=”session.php”>Kattints ide</a>

  • A session megnyitása előtt semmiféle html tartalom nem kerülhet a kimenetre, mivel a session-cookie is header adat, aminek a html tartalom előtt kell kikerülnie.

  • Ha nem zárjuk le az oldalon a session-t, akkor a rendszer automatikusan lezárja, mihelyt lefutott a script

  • A lezárás után a $_SESSION[] tartalmát már nem lehet cookie-ba írni.


Bel ptet rendszer

Beléptető rendszer

<?php

$name ="";

$pwd ="";

Session_start();

if(!isset($_SESSION["logged_in"])) $_SESSION["logged_in"] = False;

If (!$_SESSION["logged_in"]){

if( isset($_POST["name"]) && isset($_POST["pwd"])){ //Ha később login formot használunk POST-tal

$name = $_POST["name"];

$name = $PHP_AUTH_USER;

$pwd = $PHP_AUTH_PW;

//A jelszó és usernév ellenőrzése adatbázisból

mysql_connect("hostname", "username", "password") or die ("Unable to connect to database.");

mysql_select_db("Userlista") or die ("Unable to select database.");

$sql = "SELECT * FROM users WHERE username='$name' and password='$pwd'";

$result = mysql_query($sql); // Ha az eredménynek 0 sora van => nincs ilyen user és jelszó

// ha 1, akkor van

$num = mysql_numrows($result);

if($num>0){//Ide kell betenni a jelszóellenőrzést

$_SESSION["logged_in"] = True;//vagy sima text vagy mysql lekérdezés stb...

}

}

}

If (!($_SESSION["logged_in"])){//Authentikálás a szevrer segítségével

header('WWW-Authenticate: Basic realm="Beléptetés!"');

header('HTTP/1.0 401 Unauthorized');

exit;

}

?>

A rendszer csak a beléptetés tényét tárolja, de sem a usernevet, sem a jelszót nem szabad biztonsági okokból a sessionben tárolni.


E mailek k ld se kicsit hossz a k d

E-mailek küldése (kicsit hosszú a kód)

Lehetne fapadosan is, de miért ne tegyük elegánsabban, pl. adatbázisból véve a címeket?

include("phpMailer/class.phpmailer.php");

set_time_limit(20*60);

$maxmail = 220;

$con = mysql_connect('localhost','fz',‘jelszo') or die("Nincs kapcsoalt az adatbázissal");

if(!mysql_select_db("roadshow",$con)) die("Nem sikerült az adatbázishoz csatlakozni");

$sql = "SELECT id, mail, Name, elment, ismeros, nomail FROM mailcimek WHERE mail NOT IN (SELECT email FROM kizarva) ORDER BY mail";

$arr = array();

$rs = mysql_query($sql);

$i = 0;

while($sor = mysql_fetch_assoc($rs)){

if(!$sor['elment']){

$arr[$i] = $sor;

$i++;

}

}

//---------- levelek küldése -------------

$Logfilename = "./webkonferencia.log";

$log = file_get_contents($Logfilename);

for($j = 0;$j<count($arr) && $j<$maxmail ; $j++){

$mail = new phpmailer();

$mail->IsSMTP(); // set mailer to use SMTP

$mail->Hostname = "www.szily.hu"; // SMPT szerver címe

$mail->Host = "10.1.1.1"; // SMPT szerver címe

$mail->IsHTML(true); // set email format to HTML

$mail->SMTPAuth = false; // turn on SMTP authentication

$mail->From = "[email protected]"; // Küldő emailcime

$mail->FromName = "Fábián Zoltán"; // Én vagyok

$mail->AddAddress($arr[$j]['mail']); //Cím hozzáadása

$mail->Subject = "Web Konferencia Szily Kálmán RoadShow 2006";

$mail->Body = file_get_contents("level_ism.html");

$mail->AltBody = file_get_contents("level_ism.txt");

if($mail->Send()){

$logmail .= " - levellkuldes sikeres volt\n";

$sqlupdate = "UPDATE mailcimek SET elment = 1 WHERE id = ".$arr[$j]["id"]." ";

$db=mysql_query($sqlupdate);

}else{

$logmail .= " - levélküldés nem sikerült\n";

}

print($logmail);

$log .= $logmail;

file_put_contents($Logfilename,$log);

}


Mvc sablon rendszer haszn lata smarty

MVC – sablon rendszer használata - Smarty

  • Válasszuk szét a programozót és a designert!

    • design színek, képek, stílusok, azaz html tartalom.

    • Program – tartalom

  • A két fél lehetőleg ne avatkozzon egymás dolgaiba, de kell kapcsolódási felület => sablon

  • A sablon olyan fájl, ami HTML kódot tartalmaz + a tartalom beszúrásához jelölőket.

  • A jelölő legyen például {$valtozonev}

  • A jelölő lehet más is ...


Smarty 2 egy port l csontv za

Smarty 2 – egy portál csontváza

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>

<HEAD>

<TITLE>CMS rendszer - skeleton</TITLE>

</HEAD>

<BODY>

<TABLE>

<TR>

<TD colspan=2>{$fejlec} </TD>

</TR>

<TR>

<TD>{$menu}</TD><TD>{$tartalom}</TD>

</TR>

</TABLE>

</BODY>

</HTML>


Smarty3 a csontv z motorja a php k d

Smarty3 – a csontváz motorja, a PHP kód

<?php

// ---- Aktuális file elérési útvonala -----------

define("PATH", realpath(dirname(__FILE__)));

define("SMARTY_ROOT","D:/wwwroot/diak/2005inf/_lib/smarty/"); // A smartyhoz szükséges beállítások

define("SMARTY_DIR", "D:/wwwroot/diak/2005inf/_lib/smarty/libs/");

include("D:/wwwroot/diak/2005inf/_lib/smarty/libs/Smarty.class.php"); // Smarty beszerkesztése

$smarty = new Smarty();

$smarty->template_dir= SMARTY_ROOT."templates_c/"; // Smarty szükséges könyvtárai

$smarty->compile_dir= SMARTY_ROOT."templates_c/";

$smarty->config_dir = SMARTY_ROOT."templates_c/";

$smarty->cache_dir= SMARTY_ROOT."templates_c/";

//-----------------------------

$fejlec = "Fejléc tartalma";

$menu = "<a href='index.php?x=1'>Elso</a><br>\n";

$menu .= "<a href='index.php?x=2'>Kettes</a><br>\n";

$menu .= "<a href='index.php?x=3'>Harmas</a><br>\n";

$menu .= "<a href='index.php?x=4'>Négyes</a><br>\n";

$x = isset($_GET["x"]) ? $_GET["x"] :"";

if(!empty($x)){

$tartalom = "<div style='height:".($x*200)."px; width:".($x*250)."px'>”;

$tartalom .= „Ez függ a menüben átadott paramétertől: ".$x."</div>";

}else{

$tartalom = "Ez itt a tartalom";

}

//------------------------------

$smarty->assign("fejlec",$fejlec);

$smarty->assign("menu",$menu);

$smarty->assign("tartalom",$tartalom);

$smarty->display(”./cms.tpl");

?>


F jlok felt lt se

Fájlok feltöltése

Feltolt.html

<FORM method="post" action=”feltolt.php" enctype="multipart/form-data">

Fájlnév <input type="file" size=50 title="(Max. méret 5M)"><br>

<input type="submit" value="Ment" ><br>

<input type="submit" value="Mégsem">

</FORM>

feltolt.php

<?php

ini_set("max_execution_time", 300);//sokáig tarthat a fájlfeltöltés

reset($_FILES);

list($key,$up) = each($_FILES);

if(!empty($up["name"])){$errorcode = $up['error'];

switch($errorcode){

case 1:

case 2: $errmsg = "Fájl túl nagy. ".ini_get("upload_max_filesize").") ".msg("FILENAME").": "; break;

case 3: $errmsg = ”Részben feltöltött fájl”; break;

case 4: $errmsg = ”Nincs feltöltött fájl"; break;

default: $errmsg = ”Fájl feltöltve”;

move_uploaded_file($up["tmp_name"],”C:/valahova/".$up["name"]);

}

}

print($errmsg);

?>

A példában egy fájlt töltünk fel, de tetszőleges számút is lehet megfelelő módon. A fájlfeltöltésnél vigyázni kel arra, hogy a feltöltött fájlt ne lehessen elérni közvetlenül a webszerverről, illetve szűrni kell, hogy milyen típusú fájlokat lehessen feltölteni.


El re defini lt library k pear

Előre definiált library-k - PEAR

  • Előre definiált osztályok százai, a PHP által hivatalosan támogatott.

  • Minőségbiztosított kód!

  • Egyszerű példa – konfigurációs fájl egy alkalmazáshoz

    <?php

    require_once('Config.php');

    $conf =& new Config_Container('section', 'conf');

    $conf_DB =& $conf->createSection('DB');

    $conf_DB->createDirective('type', 'mysql');

    $conf_DB->createDirective('host', 'localhost');

    $conf_DB->createDirective('user', 'root');

    $conf_DB->createDirective('pass', 'root');

    $config = new Config();

    $config->setRoot($conf); // write the container to a php array   

    $config->writeConfig('/tmp/config_test.php',

    'phparray',   

                       array('name' => 'test')

    );

    echo $conf->toString('phparray', array('name' => 'test'));

    ?>

    A Pear csomag minden tagja automatikusan beincludolja azokat a pear fájlokat, amelyek szükségesek az osztály működéséhez! A programozónak az include-dal nem kell törődnie


Www phpclasses org

www.phpclasses.org

  • Szabad forrású PHP alapú osztályok gyűjteménye.

  • Nincs az osztályok között összefüggés,

  • A kódot nem ellenőrzi senki minőség szempontjából


Framework k haszn lata

Framework-ök használata

  • Prototype.js (alap!)

  • Dojo

  • Jquery

    Kissé nehézkes az áttekintésük, mert javascript, AJAX és PHP technológia keveredik bennük.


Cms rendszerek

CMS rendszerek

  • Lásd Drupal, Moodle, Joomla


Codecharge studio

Codecharge Studio

  • Kódgenerátor, komplex fejlesztőrendszer

  • A programozói „favágást” könnyíti meg.

  • Tematika készül az oktatására


Modern fejleszt eszk z k zend ide

Modern fejlesztő eszközök – Zend IDE

  • Csúcsszuper eszköz.

    • kódformázás

    • debug, IDE-ben, böngészőben (Böngésző pluginnnal)

    • Profiler

    • Adatbázis kapcsolat kezelése

    • Kód sablonok

    • A projekt kódjainak kezelése

    • Több nyelv támogatása

    • stb...


Eclipse

Eclipse

  • Freee!

  • Fejlődik, PHP Eclipse. Sok minden működik


Phpmyadmin

phpMyAdmin

  • MySQL adatbázis karbantartásához, használatához elengedhetetlen eszköz.


  • Login