Nye funksjoner i PHP 5.6 Vs Php 5.4

Argumenter som disse, blant annet, gjøre folk tror noen av de sentrale utviklerne ikke engang bruke PHP i deres daglige liv, og er grunnen til at utviklerne av PHP og folket ved hjelp av PHP er ofte betraktet som uprofesjonell.

Fremtiden er ikke frastøtende, skjønt. Det er en stund siden utgivelsen av PHP 5.4, og nye versjoner har kommet ut raskere og raskere siden den gang. Når 5,5 hit og innført noen uventet flotte funksjoner, PHP samfunnet pustet lettet ut og gjenvant håpet om en mer dedikert, strukturert og smart kjerne utvikling. Hvorvidt vi faktisk får dette gjenstår å se, men fremtiden ser virkelig lovende ut, spesielt hvis man ser på PHP 5.6 endringene gjort så langt.

Mens en full forklaring av alle oppdateringene ville være altfor stort til å dekke i en artikkel, ønsker vi å rette oppmerksomheten på noen anser som de viktigste funksjonene introdusert i PHP 5.6:
< li> Nye konstanter er lagt for LDAP, OpenSSL, PostgreSQL

Konstant skalar uttrykk (som involverer numeriske og strenger og /eller konstanter) er nå mulig

Variadic funksjoner kan nå bli gjennomført ved hjelp av. .. operatør, i stedet for å stole på func_get_args (). Dette vil legge en stor lettelse i å definere nødvendige og valgfrie parametre.

  • Arrays og travers objekter kan pakkes inn i argumentlister når du ringer funksjoner ved hjelp av ... operatør. Dette er også kjent som sprut operatør i andre språk, inkludert Ruby.
  • Potens er nå mulig å bruke ** operatør

    I en bestemt navnerom vi kan inkludere spesifikke medlemmer av andre navnerom nå.

    Bedre debugging er nå mulig å bruke PHPDBG som er implementert som en SAPI modul.

    __debugInfo () har blitt lagt magiske metoden for å la objekter endre egenskapene og verdiene som vises når objektet er utgang med var_dump ()

    php. //innspill kan nå bli gjenåpnet og lese så mange ganger som nødvendig. Dette arbeidet har også resultert i en betydelig reduksjon i mengden minne som kreves for å håndtere POST data.
  • filer større enn 2 gigabyte i størrelse er nå akseptert.
  • MIME-typer i PHP kan være brukes til å sende innhold som en annen enn PHP-type, det vil si som en annen enn text /html type. Kommandolinjen server fra PHP 5.4 hadde bare noen få MIME-typer så langt, og denne versjonen har innført mange flere

    oppdaterte funksjoner.

  • opplastninger brukerfile Syntaksen er nå støttes bare hvis CURLOPT_SAFE_UPLOAD er satt til USANN. CURLFile bør brukes i stedet.
  • substr_compare () vil nå godta 0 for sin lengde parameter.
  • unserialize () vil nå mislykkes hvis passert seriedata som har blitt manipulert til å forsøke på å bruke et objekt uten å kalle sin konstruktør.

    Nye funksjoner i PHP 5.4

    Trekk

    Short array syntaks

    Funksjon rekke dereferencing

    Nedleggelser

    PHP forkorte syntaks tilgjengelig

    klasse medlem tilgang

    Binary tallformat

    økten forlengelse

    Innebygd bygd~~POS=HEADCOMP utvikling web server i CLI-modus.

    Fjernet Legacy funksjoner

    sikkermodus støttes ikke lenger. Eventuelle søknader som er avhengige av sikker modus kan trenge justering, når det gjelder sikkerhet.

  • register_globals og register_long_arrays ini alternativer og php.ini direktiver blir fjernet.
  • pause og fortsette uttalelser ikke lenger godta variabel argumenter (f.eks pause 1 + foo () * $ bar;). Statiske argumenter fortsatt arbeid, for eksempel pause 2;. Som en bivirkning av denne endringen pause 0; og fortsette 0; er ikke lenger tillatt.

    define_syslog_variables ini alternativ og tilhørende funksjoner er fjernet.

    De register_globals og register_long_arrays php.ini direktiver har blitt fjernet.

    Ikke-numeriske streng forskyvninger - f.eks $ A [ 'foo'] hvor $ a er en streng - nå return false på isset () og sant på tom ()

    Konvertering en array til en streng vil nå generere en E_NOTICE nivå feil, men resultatet av karakterene vil fortsatt være strengen "Array".

    array_combine () nå returnerer array () i stedet for USANN når to tomme matriser er gitt som parametre.

    nøkkelordene er nå reservert, og kan ikke brukes som navn av funksjoner, klasser, etc.

    egenskap

    Callable

    insteadof

    følgende funksjoner er fjernet fra PHP:

    define_syslog_variables ()

    import_request_variables ()

    session_is_registered (), session_register () og session_unregister () <. br>
    Den aliaser mysqli_bind_param (), mysqli_bind_result (), mysqli_client_encoding (), mysqli_fetch (), mysqli_param_count (), mysqli_get_metadata (), mysqli_send_long_data (), mysqli :: client_encoding () og mysqli_stmt :: stmt ().