Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  25 1788
Synes <br> taggen begynner å gå meg på nervene.
Altså er <br> riktig eller er <br /> riktig ?

Når man bruker <br />, og ser på kildekoden i firefox, blir / (slashen) markert med rødt farge, mens dreamweaver orginalen er <br />.. Altså, er det feil å bruke <br /> ?

Mer spesifikk: Er det ulempe å bruke <br /> ? For og imot argumenter hadde vært fint.
Sist endret av Donquijote; 14. mars 2009 kl. 14:49.
<br /> for xhtml og <br> for html.
Men hvilken av de taggene går fortere å lese ? Her er det snakk om nanosekunden altså !
Har noen peiling ?

- Lest av webleseren, sjølsagt.
Sist endret av Donquijote; 14. mars 2009 kl. 14:56. Grunn: Automatisk sammenslåing med etterfølgende innlegg.
Mer spesifikt: <br /> er det samme som å skrive <br></br>. Det kalles en selvlukkende tag. I xhtml er det ulovlig å holde en tag åpen, så der må man lukke den (eks. <p>innhold</p><p>inhold</p>, ikke bare <p>innhold<p>innhold>). I html er det lov å la være å lukke taggene, altså holder <br>.

Det går selvfølgelig fortere å lese <br>, siden det er en byte mindre. Men skriver du xhtml, er det ikke riktig markup, og siden vil ikke validere. Den ene byten har uansett ikke mye å si, siden prosessorer ikke har en klokkefrekvens på 1Hz, og de fleste ikke bruker dial-up-internett.
Sitat av akselsm Vis innlegg
Mer spesifikt: <br /> er det samme som å skrive <br></br>. Det kalles en selvlukkende tag. I xhtml er det ulovlig å holde en tag åpen, så der må man lukke den (eks. <p>innhold</p><p>inhold</p>, ikke bare <p>innhold<p>innhold>). I html er det lov å la være å lukke taggene, altså holder <br>.

Det går selvfølgelig fortere å lese <br>, siden det er en byte mindre. Men skriver du xhtml, er det ikke riktig markup, og siden vil ikke validere. Den ene byten har uansett ikke mye å si, siden prosessorer ikke har en klokkefrekvens på 1Hz, og de fleste ikke bruker dial-up-internett.
Vis hele sitatet...
Okey, takk for et flott svar.

Så, la meg spørre om enda en ting til: Det går altså ikke å bruke <br> i xhtml ettersom den ikke er selvutlukkende, men går det å bruke <br /> i html ?
Det går an, men det validerer ikke:
http://validator.w3.org/
Et annet viktig spørsmål:

Går det raskere å lese en php kode som har lite mellomrom (space) i forhold til en php kode som har mye space?

Eks.

Kode

<?php
	$b = TRUE; 
	$a = FALSE; $var = "sls"; $var1 = 0;
echo $var ."<br />". $var1 ."<br />". isset($var) ."<br />". isset($var1) ."<br />". empty($var1);
?>

Kode

<?php
	$b = TRUE; 
	$a = FALSE; 
        $var = "sls"; 
        $var1 = 0; 
?>

<?php echo $var . " <br /> " ; ?>
<?php $var1 . " <br /> " ; ?>  
<?php isset($var) . " <br /> " ; ?> 
<?php isset($var1) . "<br />" ; ?> 
<?php empty($var1) ; ?>
Hvem vil leses raskest ? De to kodene er identiske.

Og hva er php språket språkskikk ?
Sist endret av Donquijote; 14. mars 2009 kl. 15:11.
Jeg vil uansett anbefale deg å bruke den siste versjonen, ellers vil det bli umulig å jobbe videre med koden, debuging og gjøre oppdateringer senere. En ryddig kode vil alltid være enklere å lese over for deg. Det er mulig den første koden vil bli mindre i bytes, fordi du tar vekk en del whitespace, men hastigheten er neppe merkbar for deg som kjører siden.
z0p
uʍop ǝpısdn
z0p's Avatar
Leses av interepeteren eller av mennesker?
For førstnevnte er nok betydningen veldig liten. Dette er en tendsen i javascript, men der har man også båndbredde å ta hensyn til. I et scriptspråk er det veldig mange forhåndsregler man kan ta med tanke på hastighet, men antall whitespace kommer nok ganske langt bak i rekken. Sistnevnte sier seg vel kanskje selv..
Sist endret av z0p; 14. mars 2009 kl. 15:17.
Hvorfor i alle dager henger du deg opp i noe slikt? Forskjellene (om det i det hele tatt er noen) er av så mikroskopisk kaliber at det ikke vil utgjøre noen forskjell i praksis uansett, noen gang. Fokuser heller på det som faktisk er viktig, i stedet for å bruke unødvendig tid og ressurser på dette
Sitat av ma10as Vis innlegg
Jeg vil uansett anbefale deg å bruke den siste versjonen, ellers vil det bli umulig å jobbe videre med koden, debuging og gjøre oppdateringer senere. En ryddig kode vil alltid være enklere å lese over for deg. Det er mulig den første koden vil bli mindre i bytes, fordi du tar vekk en del whitespace, men hastigheten er neppe merkbar for deg som kjører siden.
Vis hele sitatet...
Okey, så konklusjonen er at man skal prøve å få det så oversiktlig som mulig, isteden for så lite whitespace som mulig.

Er alle PHP-kidsa enige her eller ?

Sitat av loathsome Vis innlegg
Hvorfor i alle dager henger du deg opp i noe slikt? Forskjellene (om det i det hele tatt er noen) er av så mikroskopisk kaliber at det ikke vil utgjøre noen forskjell i praksis uansett, noen gang. Fokuser heller på det som faktisk er viktig, i stedet for å bruke unødvendig tid og ressurser på dette
Vis hele sitatet...
Jeg er nokså opptatt av disse mikroskopiske kaliberene, for de kan jo slå seg sammen til et par sekunder om man har et par terrakilobyter med php. Tar jeg feil ?
Sist endret av Donquijote; 14. mars 2009 kl. 15:19. Grunn: Automatisk sammenslåing med etterfølgende innlegg.
Ja. Pøs på med kommentarer så du ikke "glemmer" hva koden gjør. Av optimalisering er det mye bedre å ta hensyn til SQL-spørringer, løkker; ting som ofte kan ta stor pass.

Og ja, du tar feil. Dersom PHP er laget for å bruke flere sekunder på en lang kode kan du bare glemme å installere Joomla, Wordpress og andre bibliotek med milelange koder.

Optimalisering er viktig, men akkurat her er det bare totalt unødvendig.
Sist endret av davste; 14. mars 2009 kl. 15:20.
Sitat av Donquijote Vis innlegg
Okey, så konklusjonen er at man skal prøve å få det så oversiktlig som mulig, isteden for så lite whitespace som mulig.

Er alle PHP-kidsa enige her eller ?

Jeg er nokså opptatt av disse mikroskopiske kaliberene, for de kan jo slå seg sammen til et par sekunder om man har et par terrakilobyter med php. Tar jeg feil ?
Vis hele sitatet...
Oversiktlig er alltid en vinner .

Det skal ganske mye til for å få mer enn 1kb ved å ha en ekstra byte , så det har virkelig veldig lite å si .

Noe du derimot kan du bytte ut er dobbelquotes (") rundt vanlige tekststrenger med singlequotes(') , da php vil se etter variabler mellom quotene (og tolke \n,\t,\r osv) .
Sist endret av lsrr; 14. mars 2009 kl. 15:29.
lsrr: du mener vel motsatt? Double-quotes => PHP søker etter variabler, tolker newlines, return, tabulator
Single quote => Nothing.
z0p
uʍop ǝpısdn
z0p's Avatar
Skulle du faktisk produsere så mye kode at det faktisk vil være nyttig å komprimere, er det veldig enkelt å gjøre det i ettertid, men veldig vanskelig å skrive uten struktur..

Strukturen av kode varierer ofte litt fra språk til språk, og prosjekt til prosjekt, og ikke minst fra person til person, men mye av strukturen går igjen i de fleste språk, og det er bare å lese litt anbefalinger og litt kildekode, og slå deg til ro med normen.
Jeg fant f.eks http://www.shawnstratton.info/code-readability-part-1 som tar for seg litt om emnet med php
Sitat av lsrr Vis innlegg
Oversiktlig er alltid en vinner .

Det skal ganske mye til for å få mer enn 1kb ved å ha en ekstra byte , så det har virkelig veldig lite å si .

Noe du derimot kan du bytte ut dobbelquotes (") rundt vanlige tekststrenger med singlequotes(') , da php vil se etter variabler mellom quotene (og tolke \n,\t,\r osv) .
Vis hele sitatet...
Hvis man tar en variabel inn i en string, så får man fort problemer:


Kode

<?php

$minvariabel = "x"

echo "$minvariabel igjen" /*  Printer ut helt fint */
echo '$minvariabel igjen' /*opps, her sliter vi litt */

?>
Sist endret av Donquijote; 14. mars 2009 kl. 15:36.
Sitat av davste Vis innlegg
lsrr: du mener vel motsatt? Double-quotes => PHP søker etter variabler, tolker newlines, return, tabulator
Single quote => Nothing.
Vis hele sitatet...
Jepp, det var vel akkurat hva jeg skrev også om du leser setningen en gang til ?

Sitat av Donquijote Vis innlegg
Hvis man tar en variabel inn i en string, så får man fort problemer:


Kode

<?php

$minvariabel = "x"

echo "$minvariabel igjen" <!-- Printer ut helt fint -->
echo '$minvariabel igjen' <!-- opps, her sliter vi litt -->

?>
Vis hele sitatet...
Det er fordi at php ikke ser etter variabler etc. når du bruker singlequotes .

Jeg pleier å gjøre det sånn:

Kode

<?php
echo $variabel . ' litt tekst ' . $variabel2 . ' mer tekst ';
// Istedenfor
echo "$variabel litt tekst $variabel2 mer tekst";
?>
Mer oversiktlig blir det også
Sist endret av lsrr; 14. mars 2009 kl. 15:36. Grunn: Automatisk sammenslåing med etterfølgende innlegg.
Sitat av lsrr Vis innlegg
Jepp, det var vel akkurat hva jeg skrev også om du leser setningen en gang til ?



Det er fordi at php ikke ser etter variabler etc. når du bruker singlequotes .

Jeg pleier å gjøre det sånn:

Kode

<?php
echo $variabel . ' litt tekst ' . $variabel2 . ' mer tekst ';
// Istedenfor
echo "$variabel litt tekst $variabel2 mer tekst";
?>
Mer oversiktlig blir det også
Vis hele sitatet...
Å ja!

Jeg pleier også å gjøre som deg, bare med double quotes. Er det ulempe, skal jeg bytte til single, hva er fordelen ?

Kode

<?php
echo $variabel . " litt tekst " . $variabel2 . " mer tekst ";
?>
Sist endret av Donquijote; 14. mars 2009 kl. 15:39.
Sitat av Donquijote Vis innlegg
Å ja!

Jeg pleier også å gjøre som deg, bare med double quotes. Er det ulempe, skal jeg bytte til single, hva er fordelen ?

Kode

<?php
echo $variabel . " litt tekst " . $variabel2 . " mer tekst ";
?>
Vis hele sitatet...
Fordelen er null og niks med mindre du har mye kode , men allikevel en god vane etter min mening .
Andre fordeler med single-quote er at man slipper å escape alle forekomster av " i html.

Kode

<?php
echo "<div id=\"id\"><span class=\"class\">Text</span></div>"; // Tungvindt, ja?
echo '<div id="id"><span class="class">Text</span></div>'; // Trenger vel ikke å si mer?
?>
Sitat av lsrr Vis innlegg
Fordelen er null og niks med mindre du har mye kode , men allikevel en god vane etter min mening .
Vis hele sitatet...
Flott, da switcher jeg over til single quotes på grunnlaget av følgende 3 påstander:

Single quotes går fortere å taste inn på norsk tastatur.
Dobbelquotes er bedre synlig om man ikke har en tag editor, som f.eks dreamweaver.
Og det ma10as skrev.


Takk Isrr og ma10as.
Sist endret av Donquijote; 14. mars 2009 kl. 15:50.
m0b
m0b's Avatar
DonorAdministrator
Forskjellen er at php går i modus for å tolke signals og special characters. Den leter altså etter variabler og vil derfor kunne være tregere enn singlequotes som er literals.

Men, det er ikke her optimalisering egentlig kommer inn i bildet. Hvis du er flink og tenker lengre enn som så enn å bare skrive kode fra topp til bunn, har du laget funksjoner. Ved optimalisering vil man først og framst se på den logiske delen av koden for å finne bedre metoder for å gjøre ting mer optimalisert. Flisespikkeri som spaces og alt slikt er ikke ting man skal tenke på engang. Har du funksjoner som hiver klasser(objekter) og parametre i hytt og pine, så kan det lønne seg å benytte referanser istedet for å putte inn en variabel på vanligvis. Forskjellen er at ved større strukturer så slipper php å benytte stacket til å sende data.

Stacket har den egenskap at tolkeren rett og slett må kopiere data på stacket. Bruker du en referanse, kopieres ikke selve verdien du sender, men du sender en direkte referanse til hvor verdien ligger.

Uansett. Hvorfor benytter ikke folk seg av sprintf og printf? Noe jeg selv synes er mye mer hyggelig, spesielt i og med at jeg er en gammel C-traver.

Kode

$var = NULL;
...
$var = sprintf( "Jeg har %d %s i %s", 10, "øl", "kjøleskapet." );
...
printf( "Jeg har %d %s i %s", 10, "øl", "kjøleskapet." );
Sist endret av m0b; 14. mars 2009 kl. 16:04.
For øvrig er det lurt å ta i bruk HereDoc-syntaksen dersom du skal skrive ut store HTML-bolker.
Sitat av |d13m0b Vis innlegg
Uansett. Hvorfor benytter ikke folk seg av sprintf og printf? Noe jeg selv synes er mye mer hyggelig, spesielt i og med at jeg er en gammel C-traver.

Kode

$var = NULL;
...
$var = sprintf( "Jeg har %d %s i %s", 10, "øl", "kjøleskapet." );
...
printf( "Jeg har %d %s i %s", 10, "øl", "kjøleskapet."
Vis hele sitatet...
Savner ');' på siste linjen . - Jeg er skuffet .

Tror mye av grunnen er at folk ikke ser nytten i det, jeg har brukt det noen ganger, men ikke nevneverdig mye .
Sist endret av lsrr; 14. mars 2009 kl. 16:00.
m0b
m0b's Avatar
DonorAdministrator
Bra du la merke til det, er ordnet nå. Poenget mitt er i alle all at ofte har litt feil fokus eller begrep om hva optimalisering egentlig handler om. I php har du ofte et utvalg av funksjoner som ofte kan brukes til å gjøre omtrent nøyaktig den samme tingen, og forksjellen på kallene er ofte ikke veldig store. Derfor bør man legge fokus på å få en best mulig logisk effektiv (da med tanke på enten minnebruk eller eksekvenstid) kode før man går over til å hente ut de siste millisekundene fra bytting av funksjoner.
Sitat av lsrr
Tror mye av grunnen er at folk ikke ser nytten i det, jeg har brukt det noen ganger, men ikke nevneverdig mye .
Vis hele sitatet...
For å snakke fra et litt personlig perspektiv, så bruker jeg sprintf/printf flere ganger (og ofte) mer en echo/print.

Det er jo kanskje fordi jeg har 1-2 echo-kall totalt, men likevel. Utrolig nyttige funksjoner, spesielt når du blander inn %2$s"-parameterne.