PHP-presentation Dataföreningens Open Source-nätverk



Relevanta dokument
Karlstads Universitet, Datavetenskap 1

Innehåll. MySQL Grundkurs

Webbservrar, severskript & webbproduktion

Introduktion till PHP

Webbprogrammering. Introduktion till PHP. Christian Ohlsson

PHP. PHP: Hypertext Preprocessor

729G28. Webbprogrammering och databaser. Introduktion till webbutveckling med PHP. Jakob Pogulis Institutionen för Datavetenskap (IDA)

Nya webbservern Dvwebb.mah.se

2I1070 Lektion 2 Servlets och databaskopplingar Internetprogrammering 2I1049 Treskiktsarkitektur Klient-server med servlets

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet

Introduktion HTML och PHP 732G16 Databaser design och programmering

Innehålls förteckning

Databaser på webben. Revision Johan Näsholm, johan@nasholm.com

Preliminär elmarknadsstatistik per månad för Sverige 2014

WWW. Exempel på klientsidan. Överföring av en html-fil. Snyggare variant. Verkligt format. Meddelandeformat för begäran HTTP

JavaScript. Innehåll. Historia. Document object model DHTML. Varför Javascript?

Modern webbutveckling. av Robert Welin-Berger

Dugga i Grundläggande programmering STS, åk

Programmeringteknik. Planering MÅL LABB: MOMENT LAB4 HTML - EXEMPEL HTML. Webbdelen

emopluppen Installationsmanual

PHP. Dynamiska webbsidor

Du skall naturligtvis visa körexempel med output där det behövs i din rapport!

ASP.NET Thomas Mejtoft

Arbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query).

TDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson

EDA095 HTML. Per Andersson. April 26, Lund University Innehåll: HTML, CSS, DOM, JavaScript

Surfning. Webbklienter och webbservrar. Specialskrivna webbservrar. Kommunikation med sockets

The Last Adventure. Innehåll. Objektorientering. Språket Java. Java - Paket. Java - synlighet. Den sista lektionen. Repetition.

2016, Arbetslösa samt arbetslösa i program i GR i åldrarna år

Elisabet Stöök Konsult SAS Institute AB Copyright 2003, SAS Institute Inc. All rights reserved.

PHP. TNMK30 - Elektronisk publicering

Preliminär elmarknadsstatistik per månad för Sverige 2014

Exempel: Exempel: Exempel: Exempel: $djur=array("ko","katt","älg"); foreach ($djur as $d) { echo $d. " "; } Resultat. ko katt älg

WCMS-15, Webbutvecklare CMS

Databaser och Datamodellering Foreläsning IV

Tentamen etjänster och webbprogrammering Institutionen för informatik och media, informattionssystem Datum 30/5 Tid

Introduktion till integrering av Schenkers e-tjänster. Version 2.0

Statistik från webbplatser

TDDD78, TDDE30, 729A Introduktion till Java -- för Pythonprogrammerare

Olika slags datornätverk. Föreläsning 5 Internet ARPANET, Internet började med ARPANET

TDP013 Node.js, JSCoverage, Mocha. Marcus Bendtsen Institutionen för Datavetenskap

Domänspecifika språk. TDP007 Konstruktion av datorspråk Föreläsning 5. Peter Dalenius Institutionen för datavetenskap

E13 Behind the Wild. Dagens agenda. Cookies Context/ändra context Augmentation (förstärkning) Klassiskt arv Att låna metoder Namespaces Postludium

Klientprogrammering mot databaser

Language Integrated Query, LINQ, och databaser

Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo

Objektorienterad Programkonstruktion. Föreläsning 10 7 dec 2015

Objektorienterad Programmering (OOP) Murach s: kap 12-16

Teknisk kravspecifikation för nytt Omsorgs system

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin Micael Karlsson

Grundläggande datavetenskap, 4p

Datacentertjänster PaaS

EVRY One Outsourcing Linköping AB. Erfaranheter av daglig drift och nyttjande av IFS Applications 8.

E13 "Behind the Wild"

OMTENTAMEN I PROGRAMSPRÅK -- DVG C kl. 08:15-13: 15

Allmänna anvisningar: Skriv dina svar på svarsblanketten (se nästa sida) Markera och ange alla svar tydligt och entydigt efter instruktionerna.

Användarhandledning Version 1.2

TDDD78, TDDE30, 729A Introduktion till Java -- för Pythonprogrammerare

Webbprogrammering. Sahand Sadjadee

DUGGA: Objektorienterade applikationer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.

Innehåll. PHP Grundkurs. Introduktion till PHP. Kurslitteratur. Webbserver. Lite historik. PHP Grundkurs 1

VAD GÖR DU / VEM ÄR DU?

Hemsideutveckling för Anjool AB

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Tentamen ITK:P2. Inga hjälpmedel tillåtna förutom penna och papper. Skriv tydligt och texta gärna. 14 st frågor, 70 poäng.

OOP Objekt-orienterad programmering

"Är en"-relation. "Har en"-relation. Arv. Seminarium 2 Relevanta uppgifter. I exemplet Boll från förra föreläsningen gällde

F8 Webbteknologier 1. Dynamiska webbsidor

WP-Edit. Robin Larsson Martin Davik. Examensarbete, grundnivå, 15 hp Datavetenskap Internetteknologprogrammet

TDDC76 - Programmering och Datastrukturer

Yanting Larsen. Mjukvaruutvecklare. Cybercom Group

Tentamen Nätverksprogrammering Lösningsförslag

Services + REST och OAuth

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier

Översikt. Installation av EasyPHP 1. Ladda ner från Jag använder Release Installera EasyPHP.

Preliminär elmarknadsstatistik per månad för Sverige 2013

Hur hänger det ihop? För att kunna kommunicera krävs ett protokoll tcp/ip, http, ftp För att veta var man skall skicka

Asp.net mvc intro PER KVARNBRINK,

DOM (Document Object Model) är modellen efter vilken en webbläsaren är uppbyggd. Alla objekt/element i webbläsaren finns hierarkiskt ordnade i DOM.

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Webbprogrammering - 725G54 PHP. Foreläsning II

Objektorientering. Objekt och metoder. Objektorientering. Viktiga begrepp. Klass. Objekt. Deklarativ programmering

Föreläsning 2. Operativsystem och programmering

Systemutvecklare.NET, C#/VB, C/C++, ASP.NET, T-SQL, JAVA Systemdesign

C++ Objektorientering - Klasser. Eric Elfving

ADITRO LÖSNINGAR FÖR EN ENKLARE JOBBVARDAG SUMMIT 2014 PER JOHANSSON & JOEL KÖHL ADITRO L FRÅN WINDOWS TILL WEB

Algoritmer. Två gränssnitt

Föreläsning 4 Serverskript PHP Validering av data med serverskript Formulär

JAVASCRIPT-POWERED LOADRUNNER CHRISTIAN GERDES PERFORMANCE ENGINEER LIGHTS IN LINE AB

2I1049 Föreläsning 5. Objektorientering. Objektorientering. Klasserna ordnas i en hierarki som motsvarar deras inbördes ordning

Webbteknik. Innehåll. Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender. En kort introduktion

Tentamen Nätverksprogrammering Lösningsförslag

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1.

F8 Webbteknologier 2. PHP PHP: Hypertext Preprocessor

C++ Objektorientering - Klasser. Eric Elfving Institutionen för datavetenskap

Classpath. Class loading + resurser. Class loader. jar-filer

Vad kännetecknar en god klass. Vad kännetecknar en god klass. F12 Nested & Inner Classes

Statistik från webbplatser

Uniform Resource Locator (URL) JavaServer Pages - JSP. Webbklienter. Webbserver. Hypertext Transfer Protocol (HTTP) HTTP Request

Tillämpad programmering

Transkript:

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 Ingår i de-facto standarden LAMP (Linux, Apache, MySQL, PHP) Utvecklades från början av Rasmus Lerdorf och var då en samling Perlskript C-liknande syntax

PHP milstolpar 1995 - PHP/FI 1.0 Nov 97 - PHP/FI 2.0 PHP 3.0 - Jun 1998 PHP 4.0 Beta 1 - Jul 1999 PHP 4.0 - May 2000 PHP 4.1 - Dec 2001 PHP 4.2 - Apr 2002 PHP 4.3 - Dec 2002 Feb, 2003 - PHP 4.3.1 May, 2003 - PHP 4.3.2 Aug 2003 - PHP 4.3.3 Nov 2003 - PHP 4.3.4 Feb 2004 - PHP 4.3.5 RC 3 Jun 2003 - PHP 5 Beta 1 Feb 2003 - PHP 5 Beta 4 April 2004 PHP 5 RC 2

PHP-användning PHP: 15,528,732 domäner, 1,343,899 Ip-adresser Källa: Netcraft

PHP är standard för all nyutveckling på Yahoo. Över 2 miljarder sidvisningar per dag. E-ticketsystem byggt i PHP. Bokning, check-in osv. 6 miljoner sidvisningar per dag.

Serverside scriptspråk PHP körs på servern innan information skickas till webbläsaren. Som ASP, Perl, Java servlets Inte som JavaScript, CSS, HTML

PHP-taggar Standard <?php [code]?> Kort version - <? [code]?> ASP-liknande - <% [code] %> Lång - <script language= PHP > [code] </script>

<html> <?php echo "Hello World"?> </html> <html> Hello World </html>

Lätt att använda <?php $handle = fopen("/home/www/file.txt", "r"); $handle = fopen("/home/www/file.gif", "wb"); $handle = fopen("http://www.example.com/", "r"); $handle = fopen("ftp://user:password@example.com/somefile.txt", "w");?>

Anslutning till MySQL-databas <?php $link = mysql_connect('localhost', 'mysql_user', 'mysql_password'); if (!$link) { die('could not connect: '. mysql_error()); } $query = mysql_query( SELECT name FROM persons, $link); while($person = mysql_fetch_assoc($query)) { print( $person[name]\n ); }?>

Skapa bild $im = imagecreate(100, 30); // white background and blue text $bg = imagecolorallocate($im, 255, 255, 255); $textcolor = imagecolorallocate($im, 0, 0, 255); // write the string at the top left imagestring($im, 5, 0, 0, "Hello world!", $textcolor); // output the image header("content-type: image/jpg"); imagejpeg($im);

Fördelar Finns till ett flertal operativsystem och webbservrar Distribueras som öppen källkod Mycket stor funktionalitet Över 2000 inbyggda funktioner Mycket enkelt att lära sig

Lätt att integera med MySQL / PostgreSQL / MS SQL (även ODBC) PDF Skapa bilder, libgd Flash Klienter och servrar som använder TCP/IP Finns ett flertal färdiga templatemotorer Mycket mer

PHP Accelerators Lättaste sättet att höja prestandan Kräver inga kodförändringar Flera valmöjligheter ioncube Zend Performance Suite APC (bättre som profiler)

PHP-GTK Tillägg för att bygga GUI-klienter i PHP Fungerar på de flesta grafiska OS med PHP installerat. Kan användas för att bygga CMS-system, tidrapportering, administration, statistik m.m.

PHP5 Zend engine 2 Objektorientering SQLite Förbättrat XML-stöd

Objektorientering, Zend engine 2 Helt omskriven objektorientering Ger bättre prestanda och ny funktionalitet Inte bakåtkompatibel med PHP4 Samma typ av arv, inkapsling, metoder och konstruktorer som i t.ex. C++

Klasser Class user { public name; public birthday; public function construct($name, $birthday) { $this->name = $name; $this->birthday = $birthday; } } public function hello() { return Hello $this->name!\n ; } public function age() { $ts = strtotime($this->birthday); If($ts == -1) { return Unknown ; } else { $diff = time() - $ts; return floor($diff / (24*60*60*365)); } }

Klasser Användningsexempel på föregående klass $user = new User( Erik, 10 Nov 1972 ); echo $user->hello(); echo Du är. $user->age(). år gammal.\n ;

Klasser arv och inkapsling Funktioner kan deklareras som public, protected eller private. Anger var i koden funktionen kan anropas Klasser kan ärva egenskapar från andra klasser. Class AdminUser extends User

Undantag / felhantering PHP4 har ingen undantagshantering PHP5 innehåller undantagsmodell som liknar den i andra språk, t.ex. C++ Try{} och catch{}

SQLite Inbyggd databashanterare Arbetar direkt mot filer Enkel kräver ingen egen databashanterare Stöder transaktioner Optimerad för SELECT, minst lika snabb som MySQL. Generellt sett långsammare än MySQL på INSERT, UPDATE, DELETE Väldigt fri licens (public domain) http://www.sqlite.org/

SimpleXML Mycket mindre kod för att hantera XML <?xml version="1.0"?> <library> <shelf id="fiction"> <book> <title>of Mice and Men</title> <author>john Steinbeck</author> </book> <book> <title>harry Potter and the Philosopher's Stone</title> <author>j.k. Rowling</author> </book> </shelf> </library>

SimpleXML Minst 50 rader kod med PHP4, som använde DOMXML. Koden nedan löser samma problem med XMLite. <?php $library = simplexml_load_file('library.xml'); foreach ($library->shelf as $shelf) { }?> printf("shelf %s\n", $shelf['id']); foreach ($shelf->book as $book) { } printf("title: %s\n", $book->title); printf("author: %s\n", $book->author);

PEAR PHP Extension and Application Repository Ramverk för distribution av återanvändbar PHPkod. Tusentals färdiga paket som löser olika problem. Vanligaste ingår i PHP, andra hämtas på http://pear.php.net

http://www.netera.se/dfs/php.pdf