Van 4 naar 5: Test je scripts

Door EdwinG , 20 jaar geleden, 4.956x bekeken

Nu de ondersteuning van php4 afloopt, is het tijd om ook de laatste scripts geschikt te maken voor php5

Gesponsorde koppelingen

Inhoudsopgave

  1. In deze tutorial
  2. Register Globals
  3. Sleutelwoorden
  4. Veranderde functies

 

Er zijn 11 reacties op 'Overig'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Paul K
Paul K
20 jaar geleden
 
0 +1 -0 -1
Ik vind 't wel af dat je na 3 jaar nog niet overgestapt zou zijn btw :P
Maargoed over de tutorial:
Beetje kort, zelf vind ik 'm niet veel toevoegen. Maarja dat zal aan mij liggen.
EdwinG
EdwinG
20 jaar geleden
 
0 +1 -0 -1
Ik mis ook nog enkele dingen, maar ik zie niet hoe ik nu nog een pagina kan toevoegen. (De .ini settings)

Hoe dan ook:
register-long-arrays
Tot versie 5.0 konden ze altijd gebruikt worden:
HTTP_GET_VARS en HTTP_POST_VARS. Bij php5 kunnen ze uitgeschakeld worden door bij php.ini register_long_arrays op '0' te zetten. Het uitschakelen van deze variabelen heeft gunstige gevolgen voor de prestaties.
Om er zeker van te zijn dat je scripts blijven werken, is het dan ook handig om HTTP_*_VARS te vervangen door $_*
Dus:
$HTTP_GET_VARS >> $_GET
$HTTP_POST_VARS >> $_POST
$HTTP_SERVER_VARS >> $_SERVER
$HTTP_COOKIE_VARS >> $_COOKIE
$HTTP_ENV_VARS >> $_ENV
$HTTP_POST_FILES >> $_FILES
Paul K
Paul K
20 jaar geleden
 
0 +1 -0 -1
Je moet volgens mij gewoon op wijzig klikken en dat ergens pagina aanmaken.
Frank -
Frank -
20 jaar geleden
 
0 +1 -0 -1
Register Globals hebben niets te maken met versie 4 of 5, in beide versies kun je ze aan of uit zetten.

Dit geldt, bij mijn weten, ook voor de $HTTP_x_VARS die je ook in zowel versie 4 als 5 uit kunt schakelen.

Dit soort zaken hebben bij mijn weten dan ook niets met de verschillende versies te maken, maar gewoon met de instellingen die worden gehanteerd.

Dat je van al die ellende af wilt zijn, dat mag duidelijk zijn.


20 jaar geleden
 
EdwinG
EdwinG
20 jaar geleden
 
0 +1 -0 -1
Dit geldt, bij mijn weten, ook voor de $HTTP_x_VARS die je ook in zowel versie 4 als 5 uit kunt schakelen.

register_long_arrays "1" PHP_INI_PERDIR Available since PHP 5.0.0.

Long arrays (Dat zijn de HTTP_*_VARS) zijn pas vanaf 5.0.0 uit te zetten. Daar dient dus wel degelijk rekening mee gehouden te worden, zeker aangezien je er niet altijd controle over hebt.

register_globals zijn inderdaad ook in versie 4 al uit te zetten. Vanaf versie 6 kunnen ze waarschijnlijk helemaal niet meer gebruikt worden. Daarom is het zeker raadzaam er nog eens extra op te letten. (Ik ken helaas genoeg voorbeelden die er misbruik van maken, of door te misbruiken zijn)
Arend a
Arend a
20 jaar geleden
 
0 +1 -0 -1
Dit mocht wel ietsje meer zijn. Ook het wijzen op nieuwe functies als PDO zou een goede aanbeveling zijn. Een tutorial mag iets meer zijn dan puur een verwijzing naar documentatie van php.
Paul K
Paul K
20 jaar geleden
 
0 +1 -0 -1
.... of als je mysql gebruikt mysqli
PHP erik
PHP erik
20 jaar geleden
 
0 +1 -0 -1
Wat voor mij bij de overstap eigenlijk het enige verschil was is het object georienteerd programmeren. Daar zit weldegelijk groot verschil (lees: verbetering) in. Ik vind het vooral raar dat d?t niet wordt genoemd.

Verder is het fout wat er wordt gezegd over meerdere includes in 1 pagina. Ik heb het zojuist getest. Geen notice, geen warning, geen error. In bepaalde situatie is het best mogelijk dat je 2 keer iets wil includen. Bijvoorbeeld een stuk HTML (al zou ik dit anders doen).
HaasOnline XX
HaasOnline XX
20 jaar geleden
 
0 +1 -0 -1
@PHPerik: PHP4 ondersteund OOP anders ook prima hoor. Maar wat je zegt, als je net begint in OO dan is het lastig om het grote voordeel erin te zien. Ik heb ook nog steeds mijn bedenkingen op de snelheid, maar het onderhoud is vele malen gemakkelijker geworden.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Joren de Wit
Joren de Wit
20 jaar geleden
 
0 +1 -0 -1
@HaasOnline: PHP4 ondersteund OOP inderdaad, maar met de komst van PHP5 is er op dat gebied heel veel verbeterd. Dat is een groot verschil tussen PHP 4 en 5 dat, zoals PHPErik zegt, in deze tutorial helaas niet behandeld wordt.

Verder mis ik eigenlijk de verwijzing naar enkele handige nieuwe functies in PHP 5 die je veel scriptwerk t.o.v PHP 4 kunnen schelen. Denk bijvoorbeeld aan filters voor het verifieren van waarden of PDO voor het verbinden met een database.

Voor het aanpassen van een script dat nog gebruik maakt van registered globals, zou ik gewoon register_globals uit zetten en error_reporting op E_ALL. En dan gewoon alle notices 1 voor 1 wegwerken.

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. In deze tutorial
  2. Register Globals
  3. Sleutelwoorden
  4. Veranderde functies

Labels

  • Geen tags toegevoegd.

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.