Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

1 Organisering av kode (Kapittel 5). 2 Mål ● Forstå inkludering er og hvilken gevinst det gir ● Lære å utvikle egne funksjoner ● Forstå variablenes virkemåte.

Liknende presentasjoner


Presentasjon om: "1 Organisering av kode (Kapittel 5). 2 Mål ● Forstå inkludering er og hvilken gevinst det gir ● Lære å utvikle egne funksjoner ● Forstå variablenes virkemåte."— Utskrift av presentasjonen:

1 1 Organisering av kode (Kapittel 5)

2 2 Mål ● Forstå inkludering er og hvilken gevinst det gir ● Lære å utvikle egne funksjoner ● Forstå variablenes virkemåte

3 3 Hva er inkludering? ● Vi bruker inkludering av filer hovedsaklig for: – Gjennbruk av kode – Enklere vedlikehold ● Vanlig å dele opp ulike deler av et script i isolerte deler (topp, bunn, meny) ● Inkludering gjøres med funksjonene: – include, require, include_once og require_once

4 4 Eksempel på inkludering main.php topp.html meny.php bunn.html

5 5 Legg filene dine i et hierarki ● Du står helt fritt til å velge filstruktur selv ● Finn deg en struktur du syns er fornuftig og liker og hold deg til den

6 6 Eksempel på hierarki for et enkelt nettsted / config.php - Konfigurasjons-script index.php - Hovedside include/ topp.inc - Topptekst bunn.inc - Bunntekst meny.inc - Meny nyheter.html produkter.html bestilling/ index.php side2.php omoss.html kontaktskjema.html kontaktskjema.php

7 7 / config/ - Konfigurasjonfiler default.ini - Standard konfigurasjon docs/ - Dokumentasjon lib/ - Bibliotek-kode sql/ - Database script www/ - Rotkatalog for script css/ - Stilark js/ - Javascript images/ - Bilder index.php - Hovedside for applikasjonen README - Kort om applikasjonen INSTALL - Installasjonsveiledning ChangeLog - Endringslogg (dagbok) Eksempel på struktur for en webapplikasjon

8 8 Eksempel på inkludering variable.php: <?php $frukt = “pære”; $farge = “grønn”; ?> test.php: <?php echo “En $frukt er $farge”; // En er include “variabler.php”; echo “En $frukt er $farge”; // En pære er grønn ?>

9 9 Typisk bruk av inkludering include/topp.inc: Dagbladet.no include/bunn.inc: nyheter.php: Hus seilte 700 meter - og grunnstøtte ute i fjorden. Fikk berget hunden og katten.

10 10 Egendefinerte funksjoner ● Navngitt samling av kode ● Brukes til å organisere og gjennbruke kode ved at de kan kjøres flere ganger fra ulike steder ● Gjør scriptet ditt både mindre og enklere og forstå ● Uten funksjoner er det tilnærmet umulig å skrive kode som kan vedlikeholdes på en enkel måte

11 11 Egendefinerte funksjoner function $a $b $c $resulta t ● En funksjoner tar imot ingen, en eller flere argumenter og kan produsere et resultat function $a $b $c function $resulta t

12 12 Opprette egendefinerte funksjoner ● Deklareres med nøkkelordet function ● Må ha et unikt navn ● Bruk store bokstaver eller understrek for å skille ord ● Trenger ikke være deklarert før den taes i bruk <?php function navn() { // kropp } function navn($arg1, arg2) { // kropp } function legg_sammen($a, $b) { } function leggSammen($a, $b) { } ?>

13 13 Eksempel på egendefinert funksjon <?php function add($a, $b) { return $a + $b; } $total = add(2, 2); echo $total; // 4 ?> <?php $total = add(2, 2); echo $total; // 4 function add($a, $b) { return $a + $b; } ?>

14 14 Eksempel på funksjon for datovelger <?php function datovelger($navn, $fra, $til, $valg) { $valg = getdate($valg); $dag = " \n"; for($i=1; $i<=31; $i++) { $dag.= "\t $i \n"; } $dag.= " \n"; $mnd = " \n"; for($i=1; $i<=12; $i++) { $mnd.= "\t $i \n"; } $mnd.= " \n"; $aar = " \n"; for($i=$fra; $i<=$til; $i++) { $aar.= "\t $i \n"; } $aar.= " \n"; return $dag.$mnd.$aar; } echo datovelger('test', 1970, 2006, time()); ?>

15 15 Inkludering og funksjoner ● Etterhvert som du lager funksjoner er det vanlig å samle de i et “funksjonsbibliotek” som kan inkluderes i scriptene dine functions.php: <?php function sum($a, $b) { return $a + $b; } function difference($a, $b) { return $a - $b; } ?> index.php: <?php include 'functions.php'; echo sum(2, 2); // 2 echo difference(4, 2); // 2 ?>

16 16 Variablenes virkeområde og levetid ● Virkeområde (variable scope) – Konteksten en variabel er definert i ● Globale variabler (global scope) – Normalt eksisterer variabler så lenge scriptet kjører ● Lokale variabler (local scope) – En variabel opprettet i en funksjon eksisterer bare i funksjonen og blir slettet når funksjonen er utført

17 17 Eksempeler på virkemåte ● Globale variabler vil også være definert i alle inkluderte filer <?php $a = 1; // global variabel include “fil.php”; function test() { echo $a; // lokal variabel } test(); // “” ?> fil.php: <?php echo $a; // 1 ?>

18 18 global ● Brukes for å få tilgang til variabler som er eksisterer utenfor funksjonen ● Merk: Konstanter er alltid tilgjengelig i funksjoner <?php $a = 1; $b = 2; function sum() { global $a, $b; $b += $a; } echo $b; // 2 sum(); echo $b; // 3 ?>

19 19 static ● Brukes til å beholde verdien på variabelen ● Nyttig ved opptelling av verdier <?php function nestePartall() { static $i = 0; $i += 2; return $i; } echo nestePartall(); // 2 echo nestePartall(); // 4 echo nestePartall(); // 6 ?>

20 20 Valgfrie argumenter ● Argumenter kan tilegnes en standard verdi i signaturen til funksjonen ● Et valgfritt argument kan utelates ved kall på funksjonen ● Alle valgfrie argumenter må ligge på slutten av signaturen <?php function navn($a, $b = 5) { // kropp } navn($arg1); navn($arg1, $arg2); ?>

21 21 Eksempel på valgfritt argument test.php: <?php function wrap_html_tag($string, $tag = 'b') { return “ $string ”; } $string = “Litt tekst”; echo wrap_html_tag($string); echo wrap_html_tag($string, 'i'); ?> Resultat: Litt tekst

22 22 Overføring av referanser (pass-by-reference) ● Brukes for å beholde endringer gjort på en variabel i en funksjon <?php function leggTil(&$a, $b) { $a += $b; } $a = 0; leggTil($a, 2); echo $a; // 2 leggTil($a, 2); echo $a; // 4 ?>

23 23 Eksempel på overføring av referanser <?php function wrap_html_tag(&$string, $tag = 'b') { $string = “ $string ” return $string; } $string = “Litt tekst”; echo wrap_html_tag($string); echo wrap_html_tag($string, 'i'); ?> Resultat: Litt tekst

24 24 Dynamiske funksjonskall ● En variabel kan brukes som funksjonsnavn ved et funksjonskall ● Tips: Sjekk alltid om funksjonen faktisk eksisterer dersom det er mulighet for at den ikke gjør det <?php function a() { echo “Funksjon A”; } function b() { echo “Funksjon B”; } function c() { echo “Funksjon C”; } $funksjon = $_GET['funksjon']; if(function_exists($funksjon)) { $funksjon(); } else { echo “$funksjon eksisterer ikke”; } ?>


Laste ned ppt "1 Organisering av kode (Kapittel 5). 2 Mål ● Forstå inkludering er og hvilken gevinst det gir ● Lære å utvikle egne funksjoner ● Forstå variablenes virkemåte."

Liknende presentasjoner


Annonser fra Google