Hur förbereder du din webbplats innan du uppgraderar till PHP 7?

18 augusti 2017

PHP 7-versionen är huvudsakligen inriktad på att ta bort funktionalitet som föråldrats i dess tidigare versioner och att förbättra konsistensen i språket.

Vid tidpunkten för en ny version:

  • vissa tillägg kan tas bort
  • vissa tillägg eller funktioner kan fasas ut
  • vissa andra funktioner kan ändras

Termen "Utfasning" här innebär att programmerarna erbjuds ett bättre alternativ till en viss tillägg eller funktion så att användningen avskräcks och i framtida utgåvor kan denna funktion eller tillägg tas bort helt.
Detta kräver användning av migreringsdokumentet vid tidpunkten för uppgradering till en nyare version. Detta dokument kan omfatta följande:

  • Nya funktioner och funktioner
  • Föråldrade egenskaper och funktioner
  • Ändrade egenskaper och funktioner
  • Bakåt inkompatibla ändringar
  • Nya globala konstanter
  • Nya klasser och gränssnitt
  • Ändringar i SAPI-moduler
  • Ta bort tillägg och SAPI
  • Andra ändringar

Här är stegen som vi kan följa när vi uppgraderar till PHP 7 från dess äldre version:
Det första som behöver göras är att eliminera se av de borttagna förlängningarna. De PHP-migrering document kan erbjuda en hel del alternativ för dessa borttagna tillägg.

När PHP 7 introducerades, är följande tillägg som har tagits bort:

  1. mssql
  2. mysql
  3. ereg
  4. sybase_ct

För det andra, från migreringsdokumentet har vi den information som krävs där alla funktioner har ändrats. I samband med att en ny version introduceras kan vissa ändringar också införas, såsom:

  • ändra returtypen
  • borttagning av några av parametrarna

Så vi måste kontrollera om någon av dessa ändrade funktioner används på vår PHP-webbplats, vi måste hänvisa till migreringsdokumentet för dessa och göra de nödvändiga ändringarna därefter.

I fallet med PHP 7 är några av de ändrade funktionerna som följer:

  • Funktionerna mktime() och gmmktime() accepterar inte parametern is_dst längre.
  • Funktionerna substr() och iconv_substr() returnerar en tom sträng nu, där sträng motsvarar långa starttecken

Det tredje som måste göras är ett försök att eliminera användningen av föråldrade funktioner och tillägg eftersom dessa så småningom kommer att tas bort i framtida utgåvor.

I fallet med PHP 7, här är några av funktionerna som är föråldrade:

  1. PHP 4-stilkonstruktörer – För att skapa konstruktörer använde PHP 4 samma metoder som klassen de definierades i, vilket är en föråldrad funktion och kommer att tas bort i framtiden. Så dessa metodnamn måste nu ersättas av __construct()
  2. De statiska anropen till icke-statiska metoder har också fasats ut och kommer att tas bort i framtida utgåvor
  3. Saltalternativet för funktionen password_hash() har föråldrats eftersom funktionen kan generera ett kryptografiskt säkert salt om utvecklaren inte tillhandahåller saltet.

Nästa dvs det fjärde som behöver göras är behandlingen av de bakåtkompatibla förändringarna. Vid tidpunkten för introduktionen av den nya versionen måste migreringsdokumentet hänvisas till för "bakåt inkompatibla ändringar".

Här är några av de bakåtinkompatibla ändringarna:

  • foreach ändrar inte den interna arraypekaren längre
  • global accepterar nu endast enkla variabler
  • Variablerna kan inte längre användas med det globala nyckelordet.
  • Hexadecimala strängar anses inte längre vara numeriska
    Till exempel:
    <?php
    var_dump(is_numeric(“0x123”));
    ?> Utdata från exemplet ovan i PHP 7 är:bool(false)
  • Ändringar till Division By Zero
    Tidigare, när 0 användes som divisor för antingen divide(/)- eller modulus(%)-operatorerna, och E_WARNING skulle sändas ut och falskt skulle returneras. Det har nu ändrats till att divideringsoperatorn returnerar en float som antingen +INF, -INF eller NAN. Moduloperatorn E_WARNING har tagits bort och kommer att skapa ett DivisionByZeroError-undantag.

Vi som en av de ledande PHP utvecklingsföretag har över ett decenniums erfarenhet av att utföra PHP-webbutvecklingsprojekt för sin globala kundkrets som verkar i olika branscher. Vi använder de mest avancerade verktygen och teknikerna för att komma fram till de mest effektiva lösningarna för dina affärsproblem eller så kan du kolla in vår 'Anlita PHP-utvecklare' tjänst där du kan utvärdera våra utvecklares tekniska färdigheter, inställning till ditt projekt och deras tidigare arbete för att välja från branschens mest erfarna talangpool.

sv_SESwedish