Gå til innhold

PHP·pub - Programming With Attitude - and beer


Anbefalte innlegg

Videoannonse
Annonse

rewind() skal ikke brukes med a/a+-mode, rett og slett fordi a/a+-mode implisierer at en alltid skal appende (skrive til slutten av) filen. Skal du både skrive til slutten av filen og andre steder, er det ikke værre enn å bruke r+-mode og fseek($fp, 0, SEEK_END) for å dra til slutten av filen og skrive der.

 

Og når det gjelder skriving i starten, er jo det helt åpenbart. Å legge til data i starten av en fil medfører nødvendigvis at alt av data senere i filen må flyttes. Hvis PHP utførte dette for deg (det er jo et tenkelig scenario), vil det fort bli trøbbel når alle nykommerne begynner å lage logg-scripts som legger nyeste loggpunkt øverst i filen, og lurer på hvorfor scriptet blir så tregt når filen runder 100MB. Den enkleste løsningen er å snu filen, "nyeste" linje sist.

 

Alternativt (om du må skrive til starten av filen), kan du lese inn hele filen, bruke strengkonkatenering for å legge til innholdet ditt, og skrive hele filen igjen. :)

Endret av jorgis
Lenke til kommentar
  • 1 måned senere...
  • 2 uker senere...
Lørdag ble det gjort en ganske idiotisk endring i PHP. I stedet for å bruke :: skal man nå bruke «backslash», altså \ ...

http://www.varslashlog.com/2008/10/27/php-...pace-separator/

 

Synes det var litt kult, jeg :cool:

Sikkert veldig kult hvis man liker Perl, utover det er det en latterlig løsning for å fortsatt tillate funksjoner i et «namespace». Er det virkelig et behov for funksjoner i et «namespace»? Zend Framework består da bare av klasser ... Dessuten, hvis det faktisk er et behov så finnes det andre alternativer som er vesentlig bedre. -> <> og () for å nevne noe, og alle er vesentlig mer logisk og konsekvent enn å bruke «backslash» som ikke har stort annen bruk en til «escaping».

Lenke til kommentar
Lørdag ble det gjort en ganske idiotisk endring i PHP. I stedet for å bruke :: skal man nå bruke «backslash», altså \ brukes som «namespace» separator ...

http://www.varslashlog.com/2008/10/27/php-...pace-separator/

 

Hadde håpet PHP skulle fortsette den fine morphingen til å bli mer og mer Java-aktig, men nå nærmer de seg C++, og ikke på en god måte en gang...

 

"If in doubt, add extra syntactic elements." :(

Lenke til kommentar

Ja, den tittelen er nok høyst passende. Det er et stort feilgrep å bruke \. -> ville i det minste vært logisk og man kunne holdt seg til :: hvis man dropper funksjoner i «namespace», noe jeg overhode ikke ser noen nytte av.

 

Lørdag ble det gjort en ganske idiotisk endring i PHP. I stedet for å bruke :: skal man nå bruke «backslash», altså \ brukes som «namespace» separator ...

http://www.varslashlog.com/2008/10/27/php-...pace-separator/

 

Hadde håpet PHP skulle fortsette den fine morphingen til å bli mer og mer Java-aktig, men nå nærmer de seg C++, og ikke på en god måte en gang...

 

"If in doubt, add extra syntactic elements." :(

Hvordan nærmer de seg C++ med dette? Strengt tatt så nærmer de seg ingen, men går heller langt vekk fra eksisterende språk og gjør seg atter en gang mindre konsekvent.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...