Organisering av kode kapittel 5
This presentation is the property of its rightful owner.
Sponsored Links
1 / 24

Organisering av kode (Kapittel 5) PowerPoint PPT Presentation


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

Organisering av kode (Kapittel 5). Mål. Forstå inkludering er og hvilken gevinst det gir Lære å utvikle egne funksjoner Forstå variablenes virkemåte. Hva er inkludering?. Vi bruker inkludering av filer hovedsaklig for: Gjennbruk av kode Enklere vedlikehold

Download Presentation

Organisering av kode (Kapittel 5)

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


Organisering av kode kapittel 5

Organisering av kode(Kapittel 5)


Organisering av kode kapittel 5

Mål

  • Forstå inkludering er og hvilken gevinst det gir

  • Lære å utvikle egne funksjoner

  • Forstå variablenes virkemåte


Hva er inkludering

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


Eksempel p inkludering

Eksempel på inkludering

main.php

topp.html

meny.php

bunn.html


Legg filene dine i et hierarki

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


Eksempel p hierarki for et enkelt nettsted

Eksempel på hierarki foret 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


Eksempel p struktur for en webapplikasjon

Eksempel på struktur foren webapplikasjon

/

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 inkludering1

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

?>


Typisk bruk av inkludering

Typisk bruk av inkludering

include/topp.inc:

<html>

<head><title>Dagbladet.no</title></head>

<body>

include/bunn.inc:

</body>

</html>

nyheter.php:

<?php include 'include/topp.inc'; ?>

<h1>Hus seilte 700 meter</h1>

<p>- og grunnstøtte ute i fjorden. Fikk berget hunden og katten.</p>

<?php include 'include/bunn.inc'; ?>


Egendefinerte funksjoner

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


Egendefinerte funksjoner1

$a

$b

$c

$a

$b

$resultat

$resultat

$c

Egendefinerte funksjoner

  • En funksjoner tar imot ingen, en eller flere argumenter og kan produsere et resultat

function

function

function


Opprette egendefinerte funksjoner

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) {

}

?>


Eksempel p egendefinert funksjon

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;

}

?>


Eksempel p funksjon for datovelger

Eksempel på funksjon for datovelger

<?php

function datovelger($navn, $fra, $til, $valg) {

$valg = getdate($valg);

$dag = "<select name=\"{$navn}_dag\">\n";

for($i=1; $i<=31; $i++) {

$dag .= "\t<option value=\"$i\"".($valg['mday']==$i?'selected':'').">$i</option>\n";

}

$dag .= "</select>\n";

$mnd = "<select name=\"{$navn}_mnd\">\n";

for($i=1; $i<=12; $i++) {

$mnd .= "\t<option value=\"$i\"".($valg['mon']==$i?'selected':'').">$i</option>\n";

}

$mnd .= "</select>\n";

$aar = "<select name=\"{$navn}_aar\">\n";

for($i=$fra; $i<=$til; $i++) {

$aar .= "\t<option value=\"$i\"".($valg['year']==$i?'selected':'').">$i</option>\n";

}

$aar .= "</select>\n";

return $dag.$mnd.$aar;

}

echo datovelger('test', 1970, 2006, time());

?>


Inkludering og funksjoner

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

?>


Variablenes virkeomr de og levetid

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


Eksempeler p virkem te

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

?>


Global

global

<?php

$a = 1;

$b = 2;

function sum() {

global $a, $b;

$b += $a;

}

echo $b; // 2

sum();

echo $b; // 3

?>

  • Brukes for å få tilgang til variabler som er eksisterer utenfor funksjonen

  • Merk: Konstanter er alltid tilgjengelig i funksjoner


Static

static

<?php

function nestePartall() {

static $i = 0;

$i += 2;

return $i;

}

echo nestePartall(); // 2

echo nestePartall(); // 4

echo nestePartall(); // 6

?>

  • Brukes til å beholde verdien på variabelen

  • Nyttig ved opptelling av verdier


Valgfrie argumenter

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);

?>


Eksempel p valgfritt argument

Eksempel på valgfritt argument

test.php:

<?php

function wrap_html_tag($string, $tag = 'b') {

return “<$tag>$string</tag>”;

}

$string = “Litt tekst”;

echo wrap_html_tag($string);

echo wrap_html_tag($string, 'i');

?>

Resultat:

<b>Litt tekst</b>

<i>Litt tekst</i>


Overf ring av referanser pass by reference

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

?>


Eksempel p overf ring av referanser

Eksempel på overføring av referanser

<?php

function wrap_html_tag(&$string, $tag = 'b') {

$string = “<$tag>$string</tag>”

return $string;

}

$string = “Litt tekst”;

echo wrap_html_tag($string);

echo wrap_html_tag($string, 'i');

?>

Resultat:

<b>Litt tekst</b>

<b><i>Litt tekst</i></b>


Dynamiske funksjonskall

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”;

}

?>


  • Login