PHP. PHP: Hypertext Preprocessor
|
|
- Katarina Henriksson
- för 7 år sedan
- Visningar:
Transkript
1 PHP PHP: Hypertext Preprocessor
2 Vad är PHP? Script-språk (jmfr. JavaScript / Python) C-liknande syntax (familj: C / C++ / C# / Java) Dynamiskt typat Används främst server-side för att generera dynamisk output Bakgrund (Personal Home Page) restriktion vad gäller användningsområde Alternativ: Python / JavaScript (node) / (Perl)
3 Script-språk Kompileras ej (ev. bytecode) Ursprungligen: automatisera manuella uppgifter (ex vis döpa om filer o s v). Är överlag hög-nivå, men går att kombinera med låg-nivå, t ex moduler skrivna i C (Python). Det skall gå snabbt att skapa något konkret, exempel följer:
4 Exempel på script (Python) def even_sum(n): return sum((m for m in xrange(1, n+1) if not m % 2)) def QS(A): return QS([n for n in A if n < A[0]]) + QS([n for n in A if n >= A[0]]) if len(a) 1 else A
5 C-liknande syntax for / while / foreach / {...} / if...else / o s v Funktioner: function my_func(x, y, z){ } Klasser: class MyClass{ } Överlag: fungerar som man förväntar sig (givet en bakgrund med C#)
6 Dynamiskt typat Vi är vana med int i = 3; (strikt typat => vi anger typ för allt, går ej att definiera om!) Dynamiskt typat => anger enkom variabelnamn; typ framgår implicit genom värdet vi lagrar. Exempel: int i = 3; blir $i = 3;. Alla variabelnamn har $ före sig. Vi kan ändra typ på en variabel: $i = 3; // int $i = 'blabla'; // string $i = 3.2; // float
7 Används främst server-side Klient A (webbläsare) connectar till server S. Klient A requestar./somefolder/somepage.php S (säg apache2) ber PHP köra somepage.php => erhåller HTML som output, vilken sedan skickas till A. Output till klienten är därmed dynamisk, ty PHP-intrp körs vid varje request => möjligt med ny output varje gång.
8 Upplägg Klient APACHE2 MOD_PHP MySQL
9 Grundläggande Syntax
10 Introduktion PHP kan bäddas in i vanlig HTML. Det vi skriver ut hamnar i output (d v s den HTML klienten erhåller). Vi kan ha hur många <?php?>sektioner som helst. <html> <head></head> <body> <?php echo '<p>blabla</p>';?> </body> </html>
11 IF $i = 17; if ($i > 8){ echo 'aaaa'; } elseif ($i > 10){ echo 'bbb'; } else { echo 'ccc'; }
12 FOR for ($i = 0; $i < 100; $i++) { } $somevalue += do_stuff($i);
13 FOREACH $arrayprod = 1; foreach (array(1, 9, 1, 1) as $i) { $arrayprod *= $i; }
14 WHILE while ($somevar > 20){ } $somevar--;
15 SWITCH switch($a){ case 1: case 2: dostuff(); break; default: dootherstuff(); break; }
16 Strängar bla och 'bla' är skilda ting! stödjer fler escapes (\r\t o s v) försöker utvärdera variabler, ex vis hej $bla UNDVIK! Använd ' om det rör sig om vanliga strängar! (sällan behov av \n etc) Strängar är inte immutable (!), ex vis kan vi skriva $str = 'hello'; $str[0] = 'j'; echo $str; // blir jello Längd får vi m h a strlen($somestr);
17 Arrayer Är implementerade som ordnade hashmaps Jmfr. Dictionary<TKey, TValue> som är strikt Nyckel (Key) måste vara int eller string Värdet kan vara vad som helst Vi skriver: $arr = array( 'skoj' => 7, 3 => 4 ); echo $arr['skoj']; // 7
18 Arrayer forts Om flera värden har samma key blir enkom det sista värdet aktuellt. $myarr = array(1 => 'skoj', 1.03 => 'lek', true => 'bla' ); echo $myarr[1]; // bla Man behöver inte ange nyckel för alla element, då tilldelas det automatiskt istället (typexempel på PHP:s konstiga utformning).
19 Arrayer forts I C# skriver vi somearray.length för att få fram antal element. I PHP gör vi: for ($i = 0; $i < sizeof($somearray); $i++){ dostuff(); } Vi kan erhålla arrayer från strängar genom ex vis str_split($str, [splitlen]) och explode($strdelim, $str, [sizelim]).
20 Exempel str_split $str = 'ribbons'; $strarr = str_split($str); // [0] => r, [1] => i o s v explode $str = 'ribbons are trendy'; $strarr = explode(' ', $str); // [0] => ribbons, [1] => are...
21 Operatorer $a += 3; $a *= 7; $a -= 8; $a %= 17; o s v som vanligt. (=== ny typ + värde) $j = 'hej'; $j.= 'san'; echo $j; // hejsan Betyder att vi kan skriva $i = 7; echo 'Det finns '. $i. ' lådor'; // Det finns 7 lådor
22 VARNING Vi anger aldrig typen på argument, konstiga fel kan följa. Exempel: $i = 7; $i += $j; Vad händer om $j är en sträng? Svaret måste ligga i (int) => vi får konstig output! Testkör era script, se vad som händer med konstig input och skriv kod som kollar att era funktioner får vad ni förväntar er.
23 Typomvandling Ibland måste vi typomvandla (casta) variabler. Görs C-style, d v s (targettype) varname. Exempel: $strnum = '17'; $intnum = (int) $strnum;
24 Ett mer användbart exempel Hur kan vi vara säkra på att input (sträng) är ett tal innan vi typomvandlar till int? is_numeric räddar dagen: if (is_numeric($someuserinput)){ $myint = (int) $someuserinput; } Finns is_int(), is_string(), is_array() o s v för datatyper (returnerar true om så är fallet, annars false).
25 Funktioner Fungerar precis som i C#, vi skriver: function my_func_name(x, y, z){ do_stuff(); return $something; } Dynamiskt typad => vi kan returnera vad som helst! Ett anrop blir my_func_name(2, 8, 'BASS');
26 Klasser och objekt PHP kan skrivas objektorienterat (men påklistrat). För större projekt kan det kanske vara användbart. Vi skriver klasser enligt: class MyClass { public function hej(x){ echo 'x'; } } $sw = new MyClass(); $sw->hej(3);
27 Klasser och objekt Arv class Child extends Parent { function somefuncthatexistinparent(){ dostuff(); parent::somefuncthatexistinparent(); // ist. base } }
28 Klasser och objekt Precis som i C# använder vi oss av this ($this) för att referera till nuvarande instans. Exempel: class SomeClass { $a = 3; } function dostuff(){ $this->a += 7; // ok $a += 7; // nej! }
29 Klasser och objekt Precis som i C# använder vi oss av this ($this) för att referera till nuvarande instans. Exempel: class SomeClass { $a = 3; } function dostuff(){ $this->a += 7; // ok $a += 7; // nej! }
30 Constructor / Destructor Constructor: construct(){ } Destructor: destruct(){ } Finns fler, ex vis clone().
31 Interface Fungerar som vanligt, definieras enligt: interface ISomething {... } class SomeClass implements ISomething { }
32 Exceptions Fungerar som vanligt: try { somecode(); } catch(exception e){ echo $e->getmessage(); } Kastas enligt: throw new Exception('something went wrong!');
33 Sessions, MySQL, includes och filhantering
34 Includes När vi har stora projekt vill vi dela upp koden över flera filer. Kräver att vi importera andra filer i den nuvarande. Exempel, vi har databas-koden i db.php, vi skriver följande i index.php: include 'db.php'; // vi kan använda allt som finns i db nu
35 Includes Om filen i fråga verkligen behövs, kan vi använda require. Den enda skillnaden mellan include och require är att require resulterar i ERROR om filen inte kan laddas in. require 'db.php';
36 Includes forts Lägger vi till include_once resp require_once kommer includen enkom köras om filen inte redan är includad. Är bra om vi includar filer (ex vis vår db.php) i flera filer som sedan läggs ihop i index.php.
37 Formulär När vi skickar saker med POST och GET (via <form>) kan vi erhålla innehållet i PHP. Data hamnar i $_POST och $_GET (är arrayer!). Skickar jag <input type= text name= namn /> med POST, skriver jag: $inputtext = $_POST['namn']; // namn måste finnas! Mer på PHP-labben!
38 Filhantering Vi kan läsa och skriva till filer utan större svårigheter. Öppna en fil: $file = fopen('./somefile.log', MODE); där MODE är w (write), r (read), r+ (read+write skapa ej ny), w+ (read+write skapa ny). Finns fler!
39 Filhantering För att skriva till en öppnad fil (säg $file): fwrite($file, 'blabla'); För att läsa en öppnad fil (säg $file): fread($file, filesize($file)); Vi stänger en fil med fclose($file); (MÅSTE GÖRAS!)
40 Sessions Server-side, lagrar användarens id (hashmap, key-value). Används bl a när man loggar in på sidor. I PHP skriver vi session_start() längst upp på varje sida. session_start() skapar ny eller fortsätter gammal session, måste finnas på varje sida. Notera att en session purgas när klienten dödar connection med servern.
41 Sessions forts Vi kommer sparar data enligt: $_SESSION[someKey] = someval;...och kommer åt det enligt: $_SESSION[someKey];
42 Sessions forts En session kan dödas direkt genom session_destroy(); Exempel: <?php session_start(); if ($_POST['logout'] == 1){ session_destroy(); }?>
43 Cookies Sparar data lokalt hos klienten. I PHP skriver vi: setcookie(name, [val], [expire], [path], [domain]); Måste skickas INNAN <html>! Dödas genom setcookie("user", "", time()); // expire nu
44 Cookies forts Ett litet exempel: <?php $expire=time() + 60 * 60 * 24 * 30; setcookie('user', 'sötnosen_mattias', $expire);?>
45 Cookies forts <html><body> <?php if (isset($_cookie["user"])) echo 'Welcome '. $_COOKIE['user']. '<br />'; else echo 'Welcome guest!<br />';?> </body></html>
46 MySQL Hur ni hämtar och skickar data till en MySQL-databas ingår i föreläsningen om MySQL. Där finner ni även kodexempel. Överlag finns det mycket resurser på nätet kring detta och det är inte svårt att klippa-och-klistra ihop en lösning. Det vi kan ta upp är lite grundläggande säkerhet.
47 MySQL SQL-injections Det är vanligt att man låter användaren fylla i ett formulär med data som sedan hämtas i ex vis $_POST. Lita inte på att användaren skickar in trevlig data! Tänk er följande SQL-fråga: SELECT * FROM sometbl WHERE username='$username' AND password = '$password' Vad händer om $username är admin'-- vanlig comment i SQL
48 MySQL SQL-injections Frågan blir nu istället att hämta alla rader där username är admin (och inget om password). Om vi kollar huruvida resultatet är större en noll för att godkänna en inloggning, har användaren nu loggat in som admin utan lösenord! Löses genom att använda: mysql_escape_string($str) Exemplet tidigare: WHERE username='mysql_escape_string($username)'...
49 Tips
50 Allmänt!!! Använd PHP-manualen på php.net!!! Om ni vet hur ni löser något i C# kommer det gå att lösa på ett liknande sätt i PHP. Experimentera med nya inslag, ex vis sessions och databas-frågor. Det finns VÄLDIGT mycket exempel online, Google is your friend!
51 Projektarbetet Dela upp koden i filer. Undersök templates bättre separation: HTML/CSS/JS vs PHP Kolla färdiga lösningar, finns många! Titta på ramverk, ex vis CakePHP och dylikt. Gör dynamiska lösningar, blir mindre kod. Utforma grundläggande funktionalitet först, innehållet kan med fördel skapas sist!
52 Projektarbetet Gör en grundläggande design. Skapa logiken för hur sidan skall byggas upp. Implementera databas-funktionalitet. Skapa innehåll och lägg till fräsiga saker (jquery, AJAX).
53 Projektarbetet Notera att PHP är ett rörigt språk. Om er sida uppför sig konstigt behöver det inte betyda att ni har tänkt fel, bara att ni missat något i PHP (jmfr. array-nycklar). Man behöver inte låta output vara HTML, man kan även skapa bilder och dylikt.
54 GAME OVER It feels like something is missing... ÅLÅF?
Karlstads Universitet, Datavetenskap 1
DAV B04 - Databasteknik KaU - Datavetenskap - DAV B04 - MGö 229 PHP Hypertext Preprocessor Scriptspråk på serversidan Innebär att webbservern översätter php-scripten innan sidan skickas till webbläsaren,
Läs merÖversikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP.
Laboration 1 Översikt 1. Att komma igång med laborationsmiljön a. installera Aptana Studio 3 b. Installera EasyPHP 2. Testa lite programmering a. Testa enkla uppgifter b. Testa automatiskt 3. Skapa inloggningsformulär
Läs merPHP. Dynamiska webbsidor
PHP Dynamiska webbsidor WEBBPROGRAMMERING PÅ SERVERSIDAN DB server web browser client client script HTTP Request (get, post) HTTP Response (HTML, CSS, JS) web server server script JS PHP file (txt, xml,
Läs merIntroduktion HTML och PHP 732G16 Databaser design och programmering
Introduktion HTML och PHP 732G16 Databaser design och programmering 08-04-22 Ingrid Alin Nilsson 1 Presentationen tar upp Lite grundläggande om HTML Grunderna i PHP Styrstrukturer Funktioner Filhantering
Läs merPHP. TNMK30 - Elektronisk publicering
PHP TNMK30 - Elektronisk publicering HTML, index, W; W: http://www.student.itn.liu.se/~liuid### index.html 15php_test_server Dagens föreläsning Statisk webbsida -> HTML, CSS Interaktion -> JS (klientscript)
Läs merProva på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09
Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09 1. Introduktion till webbprogrammering Webbprogrammering består av ett antal
Läs mer729G28. Webbprogrammering och databaser. Introduktion till webbutveckling med PHP. Jakob Pogulis Institutionen för Datavetenskap (IDA)
729G28 Webbprogrammering och databaser Introduktion till webbutveckling med PHP Jakob Pogulis Institutionen för Datavetenskap (IDA) 729G28 Webbprogrammering och databaser Introduktion till webbutveckling
Läs merJavaScript. Innehåll. Historia. Document object model DHTML. Varför Javascript?
Innehåll JavaScript En introduktion till skriptspråket JavaScript och till DOM Scripting Introduktion till JavaScript och DOM JavaScript Syntax DOM och DOM Scripting Händelsehantering och CSS Historia
Läs merWebbprogrammering - 725G54 PHP. Foreläsning II
Webbprogrammering - 725G54 PHP Foreläsning II Agenda Serverskript PHP Validering av data med serverskript Säkerhet Lab 2. Live coding Serverskript Kör ett program på servern och resultatet skickas till
Läs merAnvändarhandledning Version 1.2
Användarhandledning Version 1.2 Innehåll Bakgrund... 2 Börja programmera i Xtat... 3 Allmänna tips... 3 Grunderna... 3 Kommentarer i språket... 4 Variabler... 4 Matematik... 5 Arrayer... 5 på skärmen...
Läs merFöreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?
Föreläsning 10 Datalogi 1 DA2001 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer på skärmen print( Hej ) print( Hur är det?
Läs merAvancerade Webbteknologier
Projektledning, Business Knowledge Användbarhet & Layout Avancerade Webbteknologier Lkti Lektion 1 Kommunikation Tobias Landén tobias.landen@chas.se Avancerade webbteknologier del 1 (4 KY poäng) Syfte
Läs merFöreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen
Föreläsning 2 Programmeringsteknik och Matlab DD1312 Introduktion till python Variabler, datatyper, omvandling av typer sfunktioner Två olika typer av program omvandlar högnivå till lågnivå program: Interpreterande
Läs merDOM (Document Object Model) är modellen efter vilken en webbläsaren är uppbyggd. Alla objekt/element i webbläsaren finns hierarkiskt ordnade i DOM.
JavaScript del1 Syftet med detta häfte är att sammanfatta det viktigaste i JavaScript så kort och koncist som möjligt men ändå tillräckligt omfattande för att ge god kännedom om en av de vanligaste teknikerna
Läs merKopiering av objekt i Java
1 (6) Kopiering av objekt i Java Först När du läser detta papper bör du samtidigt studera dokumentationen för klasserna Object, Cloneable (java.lang) och ArrayList (java.util). Mycket blir klarare genom
Läs merFöreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen
Föreläsning 2 Programmeringsteknik och Matlab DD1312 Introduktion till python Variabler,datatyper, omvandling av typer sfunktioner Två olika typer av program omvandlar högnivå till lågnivå program: Interpreterande
Läs merFöreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk
Föreläsning 2 steknik DD1310 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer funktioner betyder att instruera en dator Ett program
Läs merFöreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk
Föreläsning 2 steknik och C DD1316 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program
Läs merDIAGNOSTISKT PROV. Tid. Hjälpmedel. Antaganden. Rättning. Övrigt. Diagnostiskt Prov. Klockan Inga
203-03-9 203-03-9 DIAGNOSTISKT PROV Tid Klockan 09.00-2.00 Hjälpmedel Inga Antaganden Om förutsättningar saknas I en uppgift skall rimliga antaganden göras och nedtecknas. Rättning Tentamen omfattar 6
Läs merE02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition. Johan Leitet. Kurs: 1dv403 Webbteknik I
E02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition Kurs: 1dv403 Webbteknik I Johan Leitet E02 - "The Review" Dagens agenda Identifierare Kommentarer Variabler Datatyper Operatorer Villkorssatser
Läs merFöreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt
Föreläsning 2 Programmeringsteknik och C DD1316 Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling
Läs merWebbprogrammering. Sahand Sadjadee
Webbprogrammering Sahand Sadjadee Agenda Webb The World Wide Web (WWW) is a network of online content that is formatted in HTML and accessed via HTTP. The term refers to all the interlinked HTML pages
Läs merPHP-presentation Dataföreningens Open Source-nätverk
PHP-presentation Dataföreningens Open Source-nätverk Netera AB Jimmy Furland jimmy@netera.se Björn Hansson hansson@netera.se Introduktion HTML-inbäddat webbprogrammeringsspråk Står för PHP Hypertext Preprocessor
Läs merKompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering
Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk
Läs merF4. programmeringsteknik och Matlab
Programmeringsspråk Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer 1 Ett program är en eller flera instruktioner
Läs merFöreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk
Föreläsning 2 steknik DD1310 Python introduktion Variabler Datatyper Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program är
Läs merFöreläsning 4 Serverskript PHP Validering av data med serverskript Formulär
TDDD52 PHP Föreläsning 4 Serverskript PHP Validering av data med serverskript Formulär Återblick HTML Seman@k Uppdelning Länka dokument CSS Layout och styling Användarvänlighet Javascript Validering Animering
Läs merAlla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php
Introlektion PHP är ett av de enklare språken att lära sig just pga. dess dynamiska struktur. Det används för att bygga upp båda stora och mindre system. Några vanliga system som använder sig av PHP är
Läs merF6 Objektorienterad design. ID1004 Objektorienterad programmering Fredrik Kilander
F6 Objektorienterad design ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se långa ord AKTIVITETER I PROGRAMVARUUTVECKLING Iterativ utveckling Kravspecifikation Design Implementation Testning
Läs merProgrammeringteknik. Planering 2014-05-12 MÅL LABB: MOMENT LAB4 HTML - EXEMPEL HTML. Webbdelen
MÅL Programmeringteknik Webbdelen Efter webbmomentet ska du: kunna använda ett tiotal kommandon i: HTML (göra webbsidor) CSS (webbsidans utseende) Javascript (programmering - klienten) PHP (programmering
Läs mer729G04 Programmering och diskret matematik. Föreläsning 7
729G04 Programmering och diskret matematik Föreläsning 7 Föreläsningsöversikt Information Interaktion via text Läsa från fil Skriva till fil Spara och läsa abstrakta datatyper från fil Information Felaktigt
Läs merHemsideutveckling för Anjool AB
Beteckning: Akademin för teknik och miljö Hemsideutveckling för Anjool AB Christopher Gidlöf Maj 2012 Examensarbete 15hp B nivå Datavetenskap Internetteknologi Examinator: Carina Petterson Handledare:
Läs merEssential Php Security Författare: Shiflett, Chris Antal sidor: 124 Förlag: O'Reilly
PHP Säkerhet & Optimering tobias.landen@chas.se se Att läsa om ämnet Bra och kortfattad tt dbok: Essential Php Security Författare: Shiflett, Chris Antal sidor: 124 Förlag: O'Reilly ISBN 10: 059600656X
Läs merWebbservrar, severskript & webbproduktion
Webbprogrammering Webbservrar, severskript & webbproduktion 1 Vad är en webbserver En webbserver är en tjänst som lyssnar på port 80. Den hanterar tillgång till filer och kataloger genom att kommunicera
Läs merLaboration: Whitebox- och blackboxtesting
Tilda11 höstterminen 2011 Laboration: Whitebox- och blackboxtesting Mål med laborationen Du ska lära dig begreppen white-box testing och black-box testing Du ska öva dig på att konstruera testfall Du ska
Läs merIntroduktion till PHP
PHP - Grund Copyright 2016 Mahmud Al Hakim mahmud@dynamicos.se www.webacademy.se Introduktion till PHP PHP = PHP: Hypertext Preprocessor PHP är ett programmeringsspråk. PHP är ett skriptspråk som körs
Läs merSammanfattning. Listor. List-manipulering. Matris. /home/lindahlm/activity-phd/teaching/11dd1310/exercise3/exercise3.py September 13, 20111
/home/lindahlm/activity-phd/teaching/11dd1310/exercise3/exercise3.py September 13, 20111 0 # coding : latin Sammanfattning Gick igenom listor, dictionary, felhantering, strängjämförelser, split(), rstrip()
Läs merOrdlistor, filhantering och ut på webben. Linda Mannila 20.11.2007
Ordlistor, filhantering och ut på webben Linda Mannila 20.11.2007 Vad kan vi nu? Primitiva datatyper Tal, strängar, booleska värden Samlingsdatatyp Listan Utskrift Indata Felhantering Funktioner och moduler
Läs merITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet
ITK:P1 Föreläsning 1 Att programmera i språket Java DSV Peter Mozelius Programmering Olika typer av programmering som t ex: o Imperativ programmering (C, Pascal m fl) o Funktionell programmering (Lisp,
Läs mer729G74 IT och programmering, grundkurs. Tema 2, Föreläsning 2 Jody Foo,
729G74 IT och programmering, grundkurs Tema 2, Föreläsning 2 Jody Foo, jody.foo@liu.se Föreläsningsöversikt Kursinfo: återkoppling Muddy Cards och kompletteringar Diskret matematik Python: Programmering
Läs merIntroduk+on +ll programmering i JavaScript
Föreläsning i webbdesign Introduk+on +ll programmering i JavaScript Rune Körnefors Medieteknik 1 2012 Rune Körnefors rune.kornefors@lnu.se Språk Naturliga språk Mänsklig kommunika+on T.ex. Svenska, engelska,
Läs merFöreläsning 3: Typomvandling, villkor och val, samt textsträngar
Föreläsning 3: Typomvandling, villkor och val, samt textsträngar Camilla Kirkegaard camilla.kirkegaard@liu.se Linköpings universitet Sweden October 14, 2013 1 Innehåll n n n n n Repetition Typomvandlingar
Läs merClasses och Interfaces, Objects och References, Initialization
Classes och Interfaces, Objects och References, Initialization Objekt-orienterad programmering och design (DIT953) Niklas Broberg/Johannes Åman Pohjola, 2018 Abstract class En abstract class är en class
Läs merF8 Webbteknologier 2. PHP PHP: Hypertext Preprocessor
PHP PHP: Hypertext Preprocessor F8 Webbteknologier 2 EDA095 Roger Henriksson Datavetenskap Lunds universitet Skriptspråk särskilt lämpligt för webbapplikationer. Öppen, gratis, programvara. HTML-kod med
Läs merProgrammering B med Visual C++ 2008
Programmering B med Visual C++ 2008 Innehållsförteckning 1 Repetition och lite nytt...5 I detta kapitel... 5 Programexekvering... 5 Loop... 5 Källkod... 6 Verktyg... 6 Säkerhetskopiera... 6 Öppna, kompilera,
Läs merOutline. Objektorienterad Programmering (TDDC77) En frukt har ett namn. Man kan lägga en frukt i en korg... Hashing. Undantag. Ahmed Rezine.
Outline Objektorienterad Programmering (TDDC77) Föreläsning XIV: Undantag, Design Ahmed Rezine IDA, Linköpings Universitet Undantag Design Hösttermin 2017 En frukt har ett namn Man kan lägga en frukt i
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning XIV: Undantag, Design Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Outline Hashing Undantag Design Outline Hashing Undantag Design En frukt
Läs merFöreläsning 3. Stack
Föreläsning 3 Stack Föreläsning 3 ADT Stack Stack JCF Tillämpning Utvärdera ett postfix uttryck Stack implementerad med en array Stack implementerad med en länkad lista ADT Stack Grundprinciper: En stack
Läs merF5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander
F5 Selektion och iteration ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Boolska uttryck Boolska uttryck använder sig av jämförelseoperatorer < > = ==!= Resultatets datatyp är boolean
Läs merFöreläsning 2 Programmeringsteknik och C DD1316
Föreläsning 2 Programmeringsteknik och C DD1316 Föreläsning 2 Programmeringsteknik och C Datatyp Aritmetiska operatorer Omvandling av typer Reserverade ord Mikael Djurfeldt Logiska operatorer
Läs merE13 "Behind the Wild"
E13 "Behind the Wild" Föreläsning 13, HT2014 Det vi missat och lite till Kurs: 1dv403 Webbteknik I Johan Leitet E13 Behind the Wild Dagens agenda Cookies Web storage Context/ändra context Augmentation
Läs merF8 - Arv. ID1004 Objektorienterad programmering Fredrik Kilander
F8 - Arv ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Arv och subklasser Klasser innehåller attribut och beteenden En subklass ärver dessa från föräldern Detta ger: Återanvänd kod
Läs merF8 Webbteknologier 2. EDA095 Nätverksprogrammering. Roger Henriksson Datavetenskap Lunds universitet
F8 Webbteknologier 2 EDA095 Nätverksprogrammering Roger Henriksson Datavetenskap Lunds universitet PHP PHP: Hypertext Preprocessor Skriptspråk särskilt lämpligt för webbapplikationer. Öppen, gratis, programvara.
Läs merJAVASCRIPT. Beteende
JAVASCRIPT Beteende OVERVIEW HTML Formulär JavaScript Syntax Events DOM Validering av fomulär WEBBPROGRAMMERING PÅ KLIENTSIDAN Skriptspråk som körs på klientsidan (klientskript) Koden exekveras i webbläsaren
Läs merObjektorienterad Programmering (OOP) Murach s: kap 12-16
Objektorienterad Programmering (OOP) Murach s: kap 12-16 2013-01-28 1 Winstrand Development Objektorienterad Programmering Förkortas OOP Objektorientering innebär att man delar in koden i olika block,
Läs merProgrammering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.
Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java
Läs merInnehåll. PHP Grundkurs. Introduktion till PHP. Kurslitteratur. Webbserver. Lite historik. PHP Grundkurs 1
Innehåll PHP Grundkurs Copyright 2014 Mahmud Al Hakim mahmud@dynamicos.se www.webbacademy.se Introduktion till PHP Webbserver och XAMPP Variabler Datatyper Operatorer $_GET och $_POST Skicka variabler
Läs merProgrammering I Tobias Wrigstad fredag, 2009 augusti 28
Programmering I Tobias Wrigstad tobias@dsv.su.se Vad är programmering? Lågnivåspråk och högnivåspråk Kompilering och interpretering Variabler Notation för flödesschema (flow chart) Kontrollstrukturer (conditionals,
Läs merAtt förstå hur man konstruerar modulära program Att kunna skapa nya funktioner Att förstå hur data skickas mellan funktioner
Lektion 4, del 1, kapitel 10 Funktioner i JavaScript Inlärningsmål Att förstå hur man konstruerar modulära program Att kunna skapa nya funktioner Att förstå hur data skickas mellan funktioner Introduktion
Läs merKlassdeklaration. Metoddeklaration. Parameteröverföring
Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar
Läs merGeneriska konstruktioner. Kursbokens kapitel 13
Generiska konstruktioner Kursbokens kapitel 13 1 Vad är en generisk konstruktion? Generisk står för; allmän eller generell En generisk konstruktion kan användas för olika typer av data Med hjälp av templates
Läs merIntroduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser
Introduktion till programmering Föreläsning 2: Variabler, uttryck och satser 1 1 Värden De grundläggande saker som en dator manipulerar resultaten av beräkningar kallas värden Värden vi stött på: 2 och
Läs merTentamen i Introduktion till programmering
Tentamen i Introduktion till programmering Kurskod: Skrivtid: D0009E 09:00-13:00 (4 timmar) Totalt antal uppgifter: 7 Totalt antal poäng: 38 Tentamensdatum: 2014-05-17 Jourhavande lärare: Tillåtna hjälpmedel:
Läs merTDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Mer om Interface Generiska klasser Undantag Nästlade klasser 1
Läs merTUTORIAL: KLASSER & OBJEKT
TUTORIAL: KLASSER & OBJEKT I denna tutorial lär vi oss att använda klasser och objekt samt hur vi bygger en enkel applikation kring dessa. I tutorialen kommer det finnas en mängd kod som du antingen kan
Läs mer729G04 Programmering och diskret matematik. Python 3: Loopar
729G04 Programmering och diskret matematik Python 3: Loopar Översikt Labbar Punktnotation och strängmetoder Loopar Labb 3 Labbar? Punktnotation Punktnotation Ni har stött på punktnotation tidigare - kapitel
Läs merFöreläsning 3: Booleans, if, switch
TDA 545: Objektorienterad programmering Föreläsning 3: Booleans, if, switch Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Påminnelse om klasser och objekt Boll boll1 = new Boll(5,12); skapar ett nytt
Läs merLaboration 1 - Grunderna för OOP i Java
Uppdaterad: 2006-08-31 Laboration 1 - Grunderna för OOP i Java Inledning Laborationen går ut på att lära sig grunderna för objektorienterad programmering, samt motsvarande språkkonstruktioner i Java. Labben
Läs merDiagnostiskt Prov. Antaganden Om förutsättningar saknas I en uppgift skall rimliga antaganden göras och nedtecknas.
.0.0 DIAGNOSTISKT PROV Tid Klockan 09.00-2.00 Hjälpmedel Inga Antaganden Om förutsättningar saknas I en uppgift skall rimliga antaganden göras och nedtecknas. Rättning Tentamen omfattar 6 poäng Denna tentamen
Läs merExempel: Exempel: Exempel: Exempel: $djur=array("ko","katt","älg"); foreach ($djur as $d) { echo $d. " "; } Resultat. ko katt älg
Loopar och upprepning Vill man upprepa kod flera gånger så istället för att skriva en massa rader så kan man lägga koden i ett kodblock som man sedan loopar. Det finns ett par olika typer av loopar, FORloop,
Läs merKungl. Tekn. Högskolan Förel 1, bild 1 Föreläsning 1: Introduktion ffl Kursinnehåll ffl Javarepetition ffl Referenser ffl Nyckelordet static ffl Klass
Kungl. Tekn. Högskolan Förel 1, bild 1 Föreläsning 1: Introduktion ffl Kursinnehåll ffl Javarepetition ffl Referenser ffl Nyckelordet static ffl Klassen Mio ffl Särfall ffl Interface Kungl. Tekn. Högskolan
Läs merIdag. Exempel, version 2. Exempel, version 3. Ett lite större exempel
Idag Ett exempel Undantag Substitutierbarhet, subtyper, subklasser När val av metod beror av typerna hos två objekt Lite om överlagring Exempel, version 2 Notera: för samtliga figurer gäller: arean av
Läs merTDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Interface Generiska klasser Undantag
Läs merPython. Datatyper. Mer om datatyper. Heltal - 3 Flyttal - 2,456 Listor - [1,2,3,4] Strängar - spam!
Python Mer om datatyper Heltal - 3 Flyttal - 2,456 Listor - [1,2,3,4] Strängar - spam! Datatyper Dictionaries - {1: camelot,2: shrubbery } Tupler - (1,2,3,) 1 Lite om strängar Strängar innehåller specialtecken
Läs merID1004 Laboration 4, November 2012
06-Nov-2012/FK ID1004 Laboration 4, 14-16 November 2012 Beräknad tid ca 1-2 timmar. Instruktionen antar att labben utförs i datasal, med hjälp av den integrerade utvecklingsmiljön Eclipse. Alternativt
Läs merPlatser för att skriva och testa kod online. Workshop om programmering i matematikkurser, version 0.7 senast sparat
Cheat sheets Nedan finns referensblad för fyra olika programmeringsspråk, som kan bli aktuella att använda i matematikundervisning. MATLAB är en välkänd programvara för att göra matematiska beräkningar,
Läs merMVC med Javascript och Ajax. Filip Ekberg
MVC med Javascript och Ajax Filip Ekberg MVC med Javascript och Ajax Lektion 7 ASP.NET MVC mail@filipekberg.se Veckans mål ASP.NET MVC Repetition & Diskussion Vad är MVC? Vad är ASP.NET MVC? Hur skapar
Läs merNya webbservern Dvwebb.mah.se
Nya webbservern Dvwebb.mah.se Bakgrund: BIT (Bibliotek och IT) beslutar att ta ner Novell systemet 28/3 som är en katalogtjänst som styr bland annat alla studenter s.k. hemkataloger på Malmö högskola såväl
Läs merTentamen ID1004 Objektorienterad programmering October 29, 2013
Tentamen för ID1004 Objektorienterad programmering (vilande kurs), 29 oktober 2013, 9-13 Denna tentamen examinerar 3.5 högskolepoäng av kursen. Inga hjälpmedel är tillåtna. Tentamen består av tre sektioner.
Läs merGrundläggande datalogi - Övning 1
Grundläggande datalogi - Övning 1 Björn Terelius October 30, 2008 Python är ett tolkat språk som kan köras interaktivt. tcs-ray:~/grudat08>python >>> 11+3*4 23 >>> a = 15 >>> b=a >>> print "a =", a, "b
Läs merClasses och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016
Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Abstract class En abstract class är en class som inte kan skapa några objekt. Syfte:
Läs merProgrammering för språkteknologer II, HT2014. evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/
Programmering för språkteknologer II, HT2014 Avancerad programmering för språkteknologer, HT2014 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/ Idag - Hashtabeller
Läs merIdag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.
Idag Javas datatyper, arrayer, referenssemantik Klasser Arv, polymorfi, typregler, typkonvertering Strängar Tänker inte säga nåt om det som är likadant som i C. Objectorienterad programmering Sida 1 Ett
Läs merInnehåll MySQL Intro. Allmänt om Lagrade Procedurer Enkel utformning Skapa en lagrad procedur Använda parameter som indata
Innehåll MySQL Intro Allmänt om Lagrade Procedurer Enkel utformning Skapa en lagrad procedur Använda parameter som indata 1 Lagrad procedur / Stored Procedure Lagrad procedur har många namn, förkortningen
Läs merDesign av interaktiv multimedia. Läs i förväg om det som övningarna kommer att beröra. Träna hemma både före och efter övningarna.
Använd olika lager. Döp lagren! Organisera era bibliotek! Design av interaktiv multimedia Ge era symboler instansnamn för att hitta dem med AS. Nytt för denna kurs: Ingen ActionScript-kod i.fla-filen!
Läs merÖvningsuppgifter kapitel 8
Inst. för Systemteknik Introduktion till programmering (SMD 180), 5 p Övningsuppgifter kapitel 8 1. Listor är en viktig datatyp i Python. Hur definierar kursboken lista? Vad kallas de värden som tillsammans
Läs merF8 Webbteknologier 1. Dynamiska webbsidor
Dynamiska webbsidor F8 Webbteknologier 1 EDA095 Roger Henriksson Datavetenskap Lunds universitet HTML är statisk. En sida får sitt utseende bestämt när en webbdesigner skapar den. Ofta vill man ha mera
Läs merFakulteten för ekonomi, kommunikation och IT. Corba. Datum: Mathias Andersson
Fakulteten för ekonomi, kommunikation och IT Corba Datum: 2007-10-17 Namn: Kurs: Henrik Bäck Mathias Andersson DVGC02 Innehållsförteckning Implementation 3 IDL-fil 3 Server 3 Klient 3 Körning 3 Bilagor
Läs merAppar med ryggrad. Introduktion till JavaScriptramverket Backbone
Appar med ryggrad Introduktion till JavaScriptramverket Backbone Vanlig webbsida Databas MVC - Model View Controller MVC - Model View Controller MVC Backbone.js Ger struktur Bygger på MVC konceptet Tvingar
Läs merObjektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Interface Generiska klasser Undantag
Läs merTENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: 13-06-05 Tid: kl 16.00-20.
Umeå Universitet Datavetenskap Anders Broberg 130605 TENTAMEN Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg VT-13 Datum: 13-06-05 Tid: kl 16.00-20.00 Namn: Personnummer:
Läs merASP.NET MVC. Copyright Mahmud Al Hakim mahmud@dynamicos.se http://www.webbacademy.se. Innehåll
ASP.NET MVC Copyright Mahmud Al Hakim mahmud@dynamicos.se http://www.webbacademy.se Innehåll Introduktion till MVC Controller Action-metoder Views Arbeta med Layout-sidor och sektioner Route konfiguration
Läs merDu skall naturligtvis visa körexempel med output där det behövs i din rapport!
och databprogrammering Christilinda Göstson - PL/SQL, paket och ref cursor Du skall naturligtvis visa körexempel med output där det behövs i din rapport! OBS! Denna labb redovis i labbrapport via mail
Läs merObjektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11
Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11 Undantag Engelska: exceptions Skansholm: exceptionella händelser Fel som genereras om man försöker
Läs merIntroduktion C-programmering
Introduktion C-programmering Viktor Kämpe C Historik Utvecklades först 1969 1973 av Dennis Ritchcie vid AT&T Bell Labs. Högnivå språk med kontakt mot maskinvara. Ett utav de mest använda språken. 2 C Standarder
Läs merModern webbutveckling. av Robert Welin-Berger
Modern webbutveckling av Robert Welin-Berger robertwb@kth.se Modern webbutveckling 1. Projektstorlek och Arkitektur 2. Callbacks 3. Event driven arkitektur 4. MEAN stack 5. ODM/ORM 1. Projektstorlek och
Läs merFöreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad
1 Datatyper Tobias Wrigstad Det finns flera olika typer av (slags) data Olika datatyper har olika egenskaper. T.ex. är ett personnummer inte ett tal. (Den sista siffran skall stämma enligt den s.k. Luhnalgoritmen
Läs merProjekt Foreläsning VI
Webbprogrammering - 725G54 Projekt Foreläsning VI Agenda Sessions update Labb 5 Genomgång projektuppgift Kursinnehåll avstämning Kursmål avstämning Sessions På IDA måste ni göra session_save_path('dir)
Läs mer732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner
732G11 Linköpings universitet 2011-01-21 1 2 3 4 5 6 Skapa program Kompilera: Källkod Kompilator bytekod Köra: Bytekod Virtuell maskin Ett riktigt program Hej.java class Hej { public static void main (
Läs merFöreläsning 2 Objektorienterad programmering DD1332. Typomvandling
metoder Föreläsning 2 Objektorienterad programmering DD1332 Array [modifierare] String metodnamn (String parameter) Returtyp (utdata typ) i detta fall String Indata typ i detta fall String 1 De får man
Läs mer