PHP 8 ਦੀ ਬੀਟਾ ਟੈਸਟਿੰਗ ਸ਼ੁਰੂ ਹੋ ਗਈ ਹੈ

ਪੇਸ਼ ਕੀਤਾ PHP 8 ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ ਦੀ ਨਵੀਂ ਸ਼ਾਖਾ ਦੀ ਪਹਿਲੀ ਬੀਟਾ ਰੀਲੀਜ਼ 26 ਨਵੰਬਰ ਨੂੰ ਤਹਿ ਕੀਤੀ ਗਈ ਹੈ। ਉਸੇ ਸਮੇਂ, PHP 7.4.9, 7.3.21 ਅਤੇ ਦੇ ਸੁਧਾਰਾਤਮਕ ਰੀਲੀਜ਼
7.2.33, ਜਿਸ ਨੇ ਸੰਚਿਤ ਗਲਤੀਆਂ ਅਤੇ ਕਮਜ਼ੋਰੀਆਂ ਨੂੰ ਖਤਮ ਕੀਤਾ।

ਮੁੱਖ ਨਵੀਨਤਾਵਾਂ PHP 8:

  • ਪਾਵਰ ਅਪ ਜੇਆਈਟੀ ਕੰਪਾਈਲਰ, ਜਿਸ ਦੀ ਵਰਤੋਂ ਉਤਪਾਦਕਤਾ ਵਿੱਚ ਸੁਧਾਰ ਕਰੇਗੀ।
  • ਸਪੋਰਟ ਨਾਮਿਤ ਫੰਕਸ਼ਨ ਆਰਗੂਮੈਂਟਸ, ਤੁਹਾਨੂੰ ਨਾਮਾਂ ਦੇ ਸਬੰਧ ਵਿੱਚ ਫੰਕਸ਼ਨ ਨੂੰ ਮੁੱਲ ਪਾਸ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ. ਤੁਸੀਂ ਕਿਸੇ ਵੀ ਕ੍ਰਮ ਵਿੱਚ ਆਰਗੂਮੈਂਟਸ ਪਾਸ ਕਰ ਸਕਦੇ ਹੋ ਅਤੇ ਵਿਕਲਪਿਕ ਆਰਗੂਮੈਂਟਾਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰ ਸਕਦੇ ਹੋ। ਉਦਾਹਰਨ ਲਈ, "ਐਰੇ_ਫਿਲ(ਸਟਾਰਟ_ਇੰਡੈਕਸ: 0, ਨੰਬਰ: 100, ਮੁੱਲ: 50)"।
  • ਕਾਲ ਕਰਨ ਦੇ ਢੰਗ ਆਗਿਆ ਹੈ "?" ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ, ਜੋ ਤੁਹਾਨੂੰ ਕਾਲ ਸ਼ੁਰੂ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ ਜੇਕਰ ਵਿਧੀ ਮੌਜੂਦ ਹੈ, ਜੋ "ਨਲ" ਮੁੱਲ ਨੂੰ ਵਾਪਸ ਕਰਨ ਲਈ ਬੇਲੋੜੀ ਜਾਂਚਾਂ ਤੋਂ ਬਚਦਾ ਹੈ। ਉਦਾਹਰਨ ਲਈ, "$dateAsString = $booking->getStartDate()?->asDateTimeString()";
  • ਸਪੋਰਟ ਯੂਨੀਅਨ ਕਿਸਮ, ਦੋ ਜਾਂ ਦੋ ਤੋਂ ਵੱਧ ਕਿਸਮਾਂ ਦੇ ਸੰਗ੍ਰਹਿ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨਾ (ਉਦਾਹਰਨ ਲਈ, “ਪਬਲਿਕ ਫੰਕਸ਼ਨ foo(Foo|Bar $input): int|float;”)।
  • ਸਪੋਰਟ ਗੁਣ (ਐਨੋਟੇਸ਼ਨ) ਜੋ ਤੁਹਾਨੂੰ ਮੈਟਾਡੇਟਾ (ਜਿਵੇਂ ਕਿ ਕਿਸਮ ਦੀ ਜਾਣਕਾਰੀ) ਨੂੰ Docblock ਸੰਟੈਕਸ ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ ਕਲਾਸਾਂ ਨਾਲ ਜੋੜਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੇ ਹਨ।
  • ਸਮੀਕਰਨ ਸਮਰਥਨ ਮੈਚ, ਜੋ, ਸਵਿੱਚ ਦੇ ਉਲਟ, ਮੁੱਲ ਵਾਪਸ ਕਰ ਸਕਦਾ ਹੈ, ਸੰਯੋਜਨ ਦੀਆਂ ਸਥਿਤੀਆਂ ਦਾ ਸਮਰਥਨ ਕਰ ਸਕਦਾ ਹੈ, ਸਖਤ ਕਿਸਮ ਦੀਆਂ ਤੁਲਨਾਵਾਂ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦਾ ਹੈ, ਅਤੇ "ਬ੍ਰੇਕ" ਨਿਰਧਾਰਨ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ।

    $ਨਤੀਜਾ = ਮੈਚ($ਇਨਪੁਟ) {
    0 => "ਹੈਲੋ",
    '1', '2', '3' => "ਸੰਸਾਰ",
    };

  • ਛੋਟਾ ਸੰਟੈਕਸ ਕਲਾਸ ਪਰਿਭਾਸ਼ਾਵਾਂ, ਤੁਹਾਨੂੰ ਕੰਸਟਰਕਟਰ ਅਤੇ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਪਰਿਭਾਸ਼ਾ ਨੂੰ ਜੋੜਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀਆਂ ਹਨ।
  • ਨਵੀਂ ਵਾਪਸੀ ਕਿਸਮ - ਸਥਿਰ.
  • ਨਵੀਂ ਕਿਸਮ - ਮਿਕਸਡ, ਜਿਸਦੀ ਵਰਤੋਂ ਇਹ ਨਿਰਧਾਰਤ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ ਕਿ ਕੀ ਕੋਈ ਫੰਕਸ਼ਨ ਵੱਖ-ਵੱਖ ਕਿਸਮਾਂ ਦੇ ਪੈਰਾਮੀਟਰਾਂ ਨੂੰ ਸਵੀਕਾਰ ਕਰਦਾ ਹੈ।
  • ਸਮੀਕਰਨ ਸੁੱਟ ਅਪਵਾਦ ਨੂੰ ਸੰਭਾਲਣ ਲਈ.
  • ਕਮਜ਼ੋਰ ਨਕਸ਼ਾ ਵਸਤੂਆਂ ਬਣਾਉਣ ਲਈ ਜੋ ਕੂੜਾ ਇਕੱਠਾ ਕਰਨ ਦੌਰਾਨ ਕੁਰਬਾਨ ਕੀਤੀਆਂ ਜਾ ਸਕਦੀਆਂ ਹਨ (ਉਦਾਹਰਣ ਵਜੋਂ, ਬੇਲੋੜੇ ਕੈਚਾਂ ਨੂੰ ਸਟੋਰ ਕਰਨ ਲਈ)।
  • ਮੌਕਾ ਵਸਤੂਆਂ ਲਈ ਸਮੀਕਰਨ "::class" ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ (get_class() ਨੂੰ ਕਾਲ ਕਰਨ ਦੇ ਸਮਾਨ)।
  • ਮੌਕਾ ਅਪਵਾਦਾਂ ਦੇ ਕੈਚ ਬਲਾਕ ਵਿੱਚ ਪਰਿਭਾਸ਼ਾਵਾਂ ਜੋ ਵੇਰੀਏਬਲਾਂ ਨਾਲ ਬੰਨ੍ਹੇ ਨਹੀਂ ਹਨ।
  • ਮੌਕਾ ਫੰਕਸ਼ਨ ਪੈਰਾਮੀਟਰਾਂ ਦੀ ਸੂਚੀ ਵਿੱਚ ਆਖਰੀ ਤੱਤ ਦੇ ਬਾਅਦ ਇੱਕ ਕੌਮਾ ਛੱਡਣਾ।
  • ਨਵਾਂ ਇੰਟਰਫੇਸ ਸਟ੍ਰਿੰਗੇਬਲ ਕਿਸੇ ਵੀ ਸਟ੍ਰਿੰਗ ਕਿਸਮ ਜਾਂ ਡੇਟਾ ਦੀ ਪਛਾਣ ਕਰਨ ਲਈ ਜੋ ਇੱਕ ਸਟ੍ਰਿੰਗ ਵਿੱਚ ਬਦਲਿਆ ਜਾ ਸਕਦਾ ਹੈ (ਜਿਸ ਲਈ __toString() ਵਿਧੀ ਉਪਲਬਧ ਹੈ)।
  • ਨਵੀਂ ਵਿਸ਼ੇਸ਼ਤਾ str_contains(), ਇੱਕ ਸਬਸਟ੍ਰਿੰਗ ਦੀ ਮੌਜੂਦਗੀ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਨ ਲਈ strpos ਦਾ ਇੱਕ ਸਰਲ ਐਨਾਲਾਗ, ਨਾਲ ਹੀ ਇੱਕ ਸਤਰ ਦੇ ਸ਼ੁਰੂ ਅਤੇ ਅੰਤ ਵਿੱਚ ਮੈਚਾਂ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਫੰਕਸ਼ਨਾਂ str_starts_with() ਅਤੇ str_ends_with()।
  • ਫੰਕਸ਼ਨ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ fdiv(), ਜੋ ਜ਼ੀਰੋ ਨਾਲ ਵੰਡਣ ਵੇਲੇ ਕੋਈ ਗਲਤੀ ਸੁੱਟੇ ਬਿਨਾਂ ਇੱਕ ਵੰਡ ਕਾਰਵਾਈ ਕਰਦਾ ਹੈ।
  • ਬਦਲਿਆ ਸਤਰ ਜੋੜਨ ਦਾ ਤਰਕ। ਉਦਾਹਰਨ ਲਈ, ਸਮੀਕਰਨ 'echo "sum:"। $a + $b' ਨੂੰ ਪਹਿਲਾਂ 'echo ("sum: ". $a) + $b' ਵਜੋਂ ਸਮਝਿਆ ਜਾਂਦਾ ਸੀ, ਅਤੇ PHP ਵਿੱਚ 8 ਨੂੰ 'echo "sum:" ਮੰਨਿਆ ਜਾਵੇਗਾ। ($a + $b)'।
  • ਕੱਸਿਆ ਅੰਕਗਣਿਤ ਅਤੇ ਬਿੱਟ ਓਪਰੇਸ਼ਨਾਂ ਦੀ ਜਾਂਚ ਕਰਨਾ, ਉਦਾਹਰਨ ਲਈ, ਸਮੀਕਰਨ "[] % [42]" ਅਤੇ "$object + 4" ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਇੱਕ ਗਲਤੀ ਹੋਵੇਗੀ।
  • ਲਾਗੂ ਕੀਤਾ ਇੱਕ ਸਥਿਰ ਛਾਂਟੀ ਕਰਨ ਵਾਲਾ ਐਲਗੋਰਿਦਮ ਜਿਸ ਵਿੱਚ ਵੱਖ-ਵੱਖ ਦੌੜਾਂ ਵਿੱਚ ਇੱਕੋ ਜਿਹੇ ਮੁੱਲਾਂ ਦਾ ਕ੍ਰਮ ਸੁਰੱਖਿਅਤ ਰੱਖਿਆ ਜਾਂਦਾ ਹੈ।
  • ਸਰੋਤ: opennet.ru

ਇੱਕ ਟਿੱਪਣੀ ਜੋੜੋ