Toon posts:

[PHP] Algemeen, versie 4.3 en hoger.

Pagina: 1
Acties:
  • 36 views sinds 30-01-2008

Verwijderd

Topicstarter
Hallo,

Zopas werd op de server waar ik gehost ben de PHP software geupgrade naar PHP v 4.3.1, dat gaf verscheidene problemen in software die ik gemaakt had.
De software maakt gebruik van enkele quotes e.g.: ' ' ipv "".

Dit omdat ik gelezen heb dat het héél klein beetje verschil is in snelheid, maar vooral deed ik dat om overzicht te houden in mijn scripting.

Voordat de PHP software werd geupgrade werkte alles nog zonder problemen, maar vanaf gisteren werken functies niet meer, bv. header(' Location: index.php ');
functioneerde niet meer in bepaalde functies, het werd gewoonweg niet uitgevoerd.

Nu vertelde gisteren een vriend van me dat " " soms gewoon nodig zijn voor bepaalde functies, is dat waar?

Hij vertelde me ook dat ' nu " is, nu is dat opzich wel een ramp want dan gaan er vele functies niet meer werken en moet ik alles aanpassen.
En $var = "bla".$varerbij."bla";
zou:
$var = "bla{$varerbij}bla";
geworden zijn, is dat waar?

want ik gebruikte nl. altijd de eerste methode... kan het gebruik van de eerste methode hier ook errors opleveren in PHP 4.3 of hoger?

Kan iemand me vertellen wat nu de juiste en efficiënste methode is?
Het is nl. erg verwarrend.. B)

Mvg,


Kris.

  • The_Eternal
  • Registratie: Oktober 2001
  • Laatst online: 18-10-2025
ik gebruik zelf altijd ' ' (vind ik wat duidelijker)
maar uiteindelijk maakt het geen verschil bij functies. behalve dat je bij " " variabelen IN de string zelf kan zetten en bij ' ' je met de . operator deze aan elkaar moet voegen (wat ik er netter uit vind zien :)) en daarnaast ondersteund " " ook nog special characters zoals \t \r \n etc :)

ik zie wel een spatie aan het begin en het einde van die string '[spatie]blah.php[spatie]' dus. ik heb het zelf nooit geprobeerd, maar zou dat misschien een fout kunnen opleveren?

[ Voor 27% gewijzigd door The_Eternal op 22-07-2003 15:44 . Reden: iets gezien :D ]

Uhm... ja


Verwijderd

Topicstarter
Nog een voorbeeld, neem de recentste versie van phpBB 2 die is afgestemt op 4.1.2 en lager.. daar gebruikt men ook enkele quotes, maar versie 3 zou voor PHP 4.3 zijn, zouden ze daar dan ook weer enkele quotes gebruiken of dubbele quotes?

Verwijderd

Sorry dat ik het zeg, maar die vriend van je zit allemaal onzin te verkondigen... Je kunt nog gewoon ' ipv " gebruiken. :)

Dat die header('Location: index.php') niet werkt, is vreemd, want dat zou nog gewoon moeten werken. Weet je zeker dat de functie waarin header('Location: index.php') staat wel wordt aangeroepen? Er mag geen output verstuurt worden voordat je de functie header() gebruikt!

Die phpBB versie 3 heeft waarschijnlijk te maken met de zogenaamde superglobals die in PHP versie 4.2(?) zijn geïntroduceerd.

[ Voor 18% gewijzigd door Verwijderd op 22-07-2003 15:52 ]


  • The_Eternal
  • Registratie: Oktober 2001
  • Laatst online: 18-10-2025
het lijkt me erg onlogisch dat ze compleet de werking van enkele en dubbele quotes door elkaar hebben gegooid.. vooral niet bij een minor versie release... ik denk dat er gewoon iets fout staat in gesteld in de php.ini (oude php.ini laten staan die niet meer werkt met nieuwe php / nieuwe php.ini erover gezet en iets niet aangepast...)

En wat triyazo zegt, het zou best kunnen dat je error messages uit hebt staan doordat je een nieuwe php.ini neer hebt geplant (de recommended ini file) die geeft volgens mij totaal geen errors weer!

[ Voor 24% gewijzigd door The_Eternal op 22-07-2003 15:52 ]

Uhm... ja


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Verwijderd schreef op 22 July 2003 @ 15:35:
Dit omdat ik gelezen heb dat het héél klein beetje verschil is in snelheid, maar vooral deed ik dat om overzicht te houden in mijn scripting.
De laatste reden is de beste ;)
Voordat de PHP software werd geupgrade werkte alles nog zonder problemen, maar vanaf gisteren werken functies niet meer, bv. header(' Location: index.php ');
functioneerde niet meer in bepaalde functies, het werd gewoonweg niet uitgevoerd.
Ik kan me wel voorstellen dat ie die spatie voor en na de header niet zo leuk vindt, maar verder is er geen enkele reden dat dat om deze reden niet zou werken.
Nu vertelde gisteren een vriend van me dat " " soms gewoon nodig zijn voor bepaalde functies, is dat waar?
Nee, dat is complete onzin. De php-code wordt eerst geparsed en dan pas uitgevoerd, dus het is al een interne representatie (die compleet los van de " en ' staat) voor het de functie in gaat.
Hij vertelde me ook dat ' nu " is, nu is dat opzich wel een ramp want dan gaan er vele functies niet meer werken en moet ik alles aanpassen.
Onzin dus.
En $var = "bla".$varerbij."bla";
zou:
$var = "bla{$varerbij}bla";
geworden zijn, is dat waar?
Ook complete onzin, beide waren al heel lang mogelijk, beide zijn nog steeds mogelijk.
want ik gebruikte nl. altijd de eerste methode... kan het gebruik van de eerste methode hier ook errors opleveren in PHP 4.3 of hoger?
Beide leveren je geen errors op.
Kan iemand me vertellen wat nu de juiste en efficiënste methode is?
De juiste is de gene die jij het lekkerst vindt werken en waarmee je het minste fouten in je code maakt ;)
De meest efficiente? Beide zijn behoorlijk geoptimaliseerd sinds php 4.1 oid, dus lijkt me niet dat je daar naar moet kijken.

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Wat houdt je tegen om in de PHP manual te bladeren? http://www.php.net/manual/en/language.types.string.php
Waarom kijk je niet in een Changelog om te kijken wat er veranderd is.
Version 4.2.0
22-Apr-2002
ATTENTION!! register_globals defaults to 'off' now !!!
Is de grootste eigenlijk.

Verder krijgt je vriend geen kado's dit jaar van sinterklaas omdat hij een leugenaar is en jij ook niet omdat je te lui bent om fatsoenlijk te zoeken :P
Pagina: 1

Dit topic is gesloten.