PHP ਅਜੇ ਵੀ ਮਸ਼ਹੂਰ ਸਾਈਟਾਂ ਨੂੰ ਚਲਾਉਂਦਾ ਹੈ ਭਾਵੇਂ ਲੋਕ ਇਸਦੇ ਖ਼ਤਮ ਹੋਣ ਦੀ ਭਵਿੱਖਬਾਣੀ ਕਰਦੇ ਰਹਿੰਦੇ ਹਨ। ਜਾਣੋ ਇਹ ਕਿਵੇਂ ਵਿਕਸਤ ਹੋਇਆ, ਅੱਜ ਇਹ ਕਿੱਸ ਵਿੱਚ ਮਹਿਰਤ ਹੈ, ਅਤੇ ਕਦੋਂ ਇਸਨੂੰ ਚੁਣਨਾ ਹੈ।

"PHP ਮੁਰ੍ਹਾ ਗਿਆ" ਦਾ ਅਰਥ ਬਹੁਤ ਵਾਰ ਇਹ ਨਹੀਂ ਹੁੰਦਾ ਕਿ "ਕੋਈ ਵੀ PHP ਵਰਤਦਾ ਹੀ ਨਹੀਂ." ਜ਼ਿਆਦਾਤਰ ਕੇਸਾਂ ਵਿੱਚ, ਇਹ ਇਹ ਦੱਸਦਾ ਹੈ ਕਿ "PHP ਹੁਣ ਨਵਾਂ ਤੇ ਰੋਮਾਂਚਕ ਚੀਜ਼ ਨਹੀਂ ਰਹੀ," ਜਾਂ "ਮੈਨੂੰ ਇਸ ਨਾਲ ਇਕ ਵਾਰੀ ਖਰਾਬ ਤਜ਼ਰਬਾ ਹੋਇਆ।" ਇਹ ਦੋਹਾਂ ਦਾਅਵੇ ਬਿਲਕੁਲ ਵੱਖਰੇ ਹਨ।
ਜਦੋਂ ਕੋਈ PHP ਨੂੰ ਮੁਰ੍ਹਾ ਹੋਇਆ ਖਿਆਲ ਕਰਦਾ ਹੈ, ਉਹ ਆਮ ਤੌਰ 'ਤੇ ਧਾਰਣਾ ਅਤੇ ਨਿੱਜੀ ਤਜ਼ਰਬੇ ਦੇ ਮਿਲਾਪ 'ਤੇ ਪ੍ਰਤੀਕਿਰਿਆ ਕਰ ਰਿਹਾ ਹੁੰਦਾ ਹੈ:
ਵੈੱਬ ਡਿਵੈਲਪਮੈਂਟ ਵਾਲੀ ਦੁਨੀਆ ਦੀ ਧਿਆਨ ਕਾਫੀ ਛੋਟੀ ਹੁੰਦੀ ਹੈ। ਹਰ ਕੁਝ ਸਾਲ ਪੁਰਾਣੇ ਸਟੈਕ ਨੂੰ ਛੱਡਕੇ ਕੋਈ ਨਵਾਂ ਸਟੈਕ ਵਾਅਦਾ ਕਰਦਾ ਹੈ ਕਿ ਉਹ ਸਾਫ਼ ਆਰਕੀਟੈਕਚਰ, ਬਿਹਤਰ ਕਾਰਗੁਜ਼ਾਰੀ, ਜਾਂ ਸੁਖਦ ਡਿਵੈਲਪਰ ਅਨੁਭਵ ਦੇਵੇ—ਅਤੇ ਫਿਰ ਮੈਨਸਟ੍ਰੀਮ ਟੂਲ punchline ਬਣ ਜਾਂਦੇ ਹਨ।
PHP ਆਪਣੀ ਕਾਮਯਾਬੀ ਕਾਰਨ ਵੀ ਪਰੇਸ਼ਾਨ ਹੁੰਦੀ ਹੈ: ਸ਼ੁਰੂ ਵਿੱਚ ਸ਼ੁਰੂਆਤ ਆਸਾਨ ਸੀ, ਇਸ ਲਈ ਬਹੁਤ ਸਾਰਾ ਖਰਾਬ ਕੋਡ ਲਿਖਿਆ ਗਿਆ। ਸਭ ਤੋਂ ਖਰਾਬ ਉਦਾਹਰਣਾਂ memes ਬਣ ਗਈਆਂ, ਅਤੇ memes ਆਪਣਾ ਸੰਦਰਭ ਲੰਬਾ ਸਮਾਂ ਰੱਖਦੇ ਹਨ।
PHP ਨੂੰ ਮੌਜੂਦਾ ਰਹਿਣ ਲਈ ਲਗਾਤਾਰ ਉਤਸ਼ਾਹ ਦੀ ਲੋੜ ਨਹੀਂ। ਇਹ ਸ਼ਾਂਤ ਢੰਗ ਨਾਲ ਬਹੁਤ ਵੱਡੀ ਹੱਦ ਤੱਕ ਵਾਸਤਵਿਕ ਟਰੈਫਿਕ ਚਲਾਉਂਦਾ ਹੈ—खਾਸ ਕਰਕੇ WordPress ਵਰਗੇ ਪਲੇਟਫਾਰਮਾਂ ਰਾਹੀਂ—ਅਤੇ ਇਹ ਲਗਭਗ ਹਰ ਕਿਸੇ ਵੈੱਬ ਹੋਸਟਿੰਗ 'ਤੇ ਇੱਕ ਪ੍ਰਯੋਗਿਕ ਵਿਕਲਪ ਬਣਿਆ ਰਹਿੰਦਾ ਹੈ।
ਇਹ ਪੋਸਟ ਕਿਸੇ ਮਨਪਸੰਦ ਭਾਸ਼ਾ ਦੀ ਰੱਖਿਆ ਨਹੀਂ ਕਰ ਰਹੀ। ਇਹ ਪ੍ਰਾਇਕਟਿਕ 현실 ਬਿਆਨ ਕਰਦੀ ਹੈ: PHP ਅੱਜ ਕਿੱਥੇ ਮਜ਼ਬੂਤ ਹੈ, ਕਿੱਥੇ ਕਮਜ਼ੋਰ ਹੈ, ਅਤੇ ਜੇ ਤੁਸੀਂ ਅੱਜ ਸਾਫਟਵੇਅਰ ਬਣਾ ਰਹੇ ਹੋ ਜਾਂ ਮੈਨਟੇਨ ਕਰ ਰਹੇ ਹੋ ਤਾਂ ਇਹ ਤੁਹਾਡੇ ਲਈ ਕੀ ਮਤਲਬ ਰੱਖਦਾ ਹੈ।
PHP ਇਕ عملی ਹਥਿਆਰ ਵਜੋਂ ਸ਼ੁਰੂ ਹੋਇਆ, ਨਾ ਕਿ ਕੋਈ ਵੱਡਾ ਪਲੇਟਫਾਰਮ। 1990ਆਂ ਦੇ ਦਰਮਿਆਨ ਇਹ ਮੁਢਲੀਆਂ ਸਾਦੀਆਂ ਸਕ੍ਰਿਪਟਾਂ ਦਾ ਸੈੱਟ ਸੀ ਜੋ HTML ਵਿੱਚ ਐਂਬੈੱਡ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ—ਪੇਜ ਵਿੱਚ ਰੱਖੋ ਅਤੇ ਤੁਰੰਤ ਡਾਇਨਾਮਿਕ ਆਉਟਪੁਟ ਮਿਲ ਜਾਵੇ। ਇਹ "ਸਰਵਰ ਉੱਤੇ ਰੱਖੋ ਅਤੇ ਚਲਾo" ਮਨੋਭਾਵ PHP ਦੀ ਦਨ-ਐ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋ ਗਿਆ।
ਜਿਵੇਂ ਜੇਹੜਾ ਵੈੱਬ ਵਧਿਆ, PHP 4 ਅਤੇ ਖ਼ਾਸ ਕਰਕੇ PHP 5 ਸਸਤੀ ਸ਼ੇਅਰਡ ਹੋਸਟਿੰਗ ਦੀ ਲਹਿਰ ਤੇ ਚਲੇ। ਪ੍ਰੋਵਾਈਡਰ ਇੱਕ ਵਾਰੀ PHP ਮੋਡੀਊਲ ਰੱਖਦੇ ਸਨ ਅਤੇ ਹਜ਼ਾਰਾਂ ਛੋਟੀਆਂ ਸਾਈਟਾਂ ਬਿਨਾਂ ਖ਼ਾਸ ਸੈਟਅਪ ਦੇ ਸਰਵਰ-ਸਾਈਡ ਸਕ੍ਰਿਪਟਿੰਗ ਤੱਕ ਪਹੁੰਚ ਦੇ ਲਾਇਕ ਬਣ ਗਈਆਂ।
ਇਹ ਯੁੱਗ PHP ਦੀ ਸਾਕੁ-ਸੂਰੀ ਖਿਆਤੀ ਨੂੰ ਵੀ ਬਣਾਉਂਦਾ ਹੈ: ਕਾਫੀ ਕਾਪੀ-ਪੇਸਟ ਤუკੜੇ, ਇਕਸਾਰ ਨਾ ਸਟਾਈਲਾਂ, ਅਤੇ ਐਜੀਐਪਸ ਜੋ ਸਾਲਾਂ ਤੱਕ ਮਹੱਤਵਪੂਰਣ ਰੀ-ਵਰਾਈਟਿੰਗ ਦੇ ਬਿਨਾਂ ਚੱਲਦੀਆਂ ਰਿਹਾ ਕਰਨ।
ਲੰਬੇ ਸਮੇਂ ਲਈ PHP ਦੀ ਸਭ ਤੋਂ ਵੱਡੀ ਤਾਕਤ ਪਹੁੰਚਯੋਗਤਾ ਸੀ, ਨਾ ਕਿ ਗਤੀ। PHP 7 ਨੇ ਇਹ ਬਦਲ ਦਿੱਤਾ। ਇੰਜਣ ਦੇ ਓਵਰਹੌਲ ਨੇ ਵੱਡੇ ਪ੍ਰਦਰਸ਼ਨ ਫਾਇਦੇ ਦਿੱਤੇ ਅਤੇ ਮੈਮੋਰੀ ਵਰਤੋਂ ਘਟਾਈ, ਜੋ ਛੋਟੇ ਬਲੌਗ ਤੋਂ ਲੈ ਕੇ ਉੱਚ ਟਰੈਫਿਕ ਐਪ ਤੱਕ ਸਭ ਲਈ ਮੈਟਰ ਕਰਦਾ ਸੀ। ਇਹ ਇਸ ਗੱਲ ਦਾ ਸੰਕੇਤ ਸੀ ਕਿ PHP ਸਥਿਰ ਨਹੀਂ ਬੈਠੀ—ਇਹ ਕੋਰ ਨੂੰ ਮਾਡਰਨਾਈਜ਼ ਕਰਨ ਲਈ ਤਿਆਰ ਸੀ।
PHP 8 ਅਤੇ ਬਾਅਦ ਵਾਲੀਆਂ ਰਿਲੀਜ਼ਾਂ ਨੇ "ਮਾਡਰਨ PHP" ਵੱਲ ਰੁਝਾਨ ਜਾਰੀ ਰੱਖਿਆ: ਵਧੀਆ ਟਾਈਪਿੰਗ ਫੀਚਰ, ਸਾਫ਼ ਸਿੰਟੈਕਸ, ਅਤੇ ਹੋਰ ਇੱਕਸਾਰ ਰਵੱਈਆ। ਇਹ ਬਦਲਾਅ ਪੁਰਾਣੇ ਕੋਡ ਨੂੰ ਜਾਦੂਈ ਤੌਰ 'ਤੇ ਠੀਕ ਨਹੀਂ ਕਰਦੇ, ਪਰ ਨਵੇਂ ਕੋਡਬੇਸ ਨੂੰ ਜ਼ਿਆਦਾ ਅਨੁਮੋਦਨੀਕ ਅਤੇ ਸੰਭਾਲਣ ਜੋਗ ਬਣਾਉਂਦੇ ਹਨ।
PHP ਦੀ ਬੈਕਵਰਡ ਕੰਪੈਟਬਿਲਟੀ ਦਾ ਵਚਨਬੱਧਤਾ ਇੱਕ ਵੱਡਾ ਕਾਰਨ ਹੈ ਕਿ ਅਪਣਾਵਣ ਉੱਚ ਰਿਹਾ। ਤੁਸੀਂ ਹੋਸਟਿੰਗ ਅਪਗ੍ਰੇਡ ਕਰ ਸਕਦੇ ਸੀ, ਵਰਜ਼ਨ ਅਪਡੇਟ ਕਰ ਸਕਦੇ ਸੀ, ਅਤੇ ਕਈ ਪੁਰਾਣੀਆਂ ਐਪਾਂ ਨੂੰ ਚਲਾਉਂਦੇ ਰਹਿ ਸਕਦੇ ਸੀ। ਟਰੇਡ‑ਆਫ਼ ਇਹ ਹੈ ਕਿ ਇੰਟਰਨੈੱਟ ਵਿੱਚ ਇੱਕ ਲੰਬੀ ਪੱਛੀ (ਟੇਲ) ਬਣ ਗਈ—ਹੁਣ ਵੀ ਕੰਮ ਕਰ ਰਹੀ, ਤੈਨਾਤ, ਅਤੇ ਅਜੇ ਵੀ ਲੋਕਾਂ ਦੀ PHP ਬਾਰੇ ਗੱਲ ਕਰਨ ਦੇ ਢੰਗ 'ਤੇ ਪ੍ਰਭਾਵ ਪਾਉਂਦੀ ਹੈ।
PHP ਨੇ ਸ਼ੁਰੂਆਤੀ ਵੈੱਬ ਡਿਵੈਲਪਮੈਂਟ ਨੂੰ ਸੁੰਦਰ ਭਾਸ਼ਾ ਹੋਣ ਕਰਕੇ ਨਹੀਂ ਜਿੱਤਿਆ। ਇਸ ਨੇ ਉਸ ਵੇਲੇ ਜਿੱਤਿਆ ਕਿਉਂਕਿ ਇਹ ਸਭ ਤੋਂ ਭਰੋਸੇਯੋਗ ਤਰੀਕੇ ਨਾਲ ਪਹੁੰਚਯੋਗ ਸੀ।
ਕਾਫੀ ਸਮੇਂ ਲਈ, ਕਿਸੇ ਚੀਜ਼ ਨੂੰ ਡਾਇਨਾਮਿਕ ਢੰਗ ਨਾਲ ਨਲਾਈਨ ਰੱਖਣ ਦਾ ਸਭ ਤੋਂ ਆਸਾਨ ਤਰੀਕਾ ਸੀ: ਸਸਤੀ ਵੈੱਬ ਹੋਸਟਿੰਗ ਲਵੋ, ਇੱਕ .php ਫਾਇਲ ਅਪਲੋਡ ਕਰੋ, ਅਤੇ ਉਹ ਸਿਰਫ ਚੱਲ ਗਈ। ਕੋਈ ਖ਼ਾਸ ਸਰਵਰ ਨਹੀਂ ਸੰਰਚਿਤ ਕਰਨੇ ਪੈਂਦੇ, ਕੋਈ ਜਟਿਲ ਡਿਪਲੋਇਮੈਂਟ ਪਾਈਪਲਾਈਨ ਨਹੀਂ, ਅਤੇ ਕੋਈ ਵੱਖਰਾ ਰਨਟਾਈਮ ਇੰਸਟਾਲ ਨਹੀਂ। ਉਹ "ਫਾਇਲ ਸੁੱਟ ਦੋ ਅਤੇ ਬ੍ਰਾੁਜ਼ਰ ਰਿਫਰੈਸ਼ ਕਰੋ" ਚੱਕਰ PHP ਨੂੰ HTML ਦਾ ਇਕ ਵਿਸ਼ੇਸ਼ ਜਿਹਾ ਹਿੱਸਾ ਬਣਾਉਦਾ ਸੀ, ਨਾ ਕਿ ਇੱਕ ਵੱਖਰਾ ਇੰਜੀਨੀਅਰਿੰਗ ਵਿਸ਼ਾ।
PHP ਬੇਨਤੀ/ਜਵਾਬ ਮਾਡਲ ਨਾਲ ਮਿਲਦਾ ਸੀ: ਬ੍ਰਾੁਜ਼ਰ ਪੇਜ ਮੰਗਦਾ, ਸਰਵਰ ਕੋਡ ਚਲਾਉਂਦਾ, HTML ਵਾਪਸ ਕਰਦਾ, ਖਤਮ। ਇਹ ਮਾਡਲ ਆਮ ਸਾਈਟ ਦੀਆਂ ਜ਼ਰੂਰਤਾਂ—ਫਾਰਮ, ਸੈਸ਼ਨ, ਲਾਗਇਨ, ਸਮੱਗਰੀ ਪੇਜ—ਨੂੰ ਬਿਨਾਂ ਲੰਬੇ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ ਸੋਚੇ ਨਿਭਾ ਲੈਂਦਾ।
ਅੱਜ ਵੀ, ਇਹ ਡਿਜ਼ਾਇਨ ਕਈ ਉਤਪਾਦਾਂ ਲਈ ਠੀਕ ਤਰ੍ਹਾਂ ਮੈਚ ਕਰਦਾ ਹੈ: ਮਾਰਕੇਟਿੰਗ ਸਾਈਟਾਂ, ਸਮੱਗਰੀ-ਚਲਿਤ ਐਪ, ਅਤੇ CRUD-ਭਾਰੀ ਡੈਸ਼ਬੋਰਡ।
ਜ਼ਿਆਦਾਤਰ ਸ਼ੁਰੂਆਤੀ ਵੈੱਬ ਐਪ "ਡਾਟਾ ਪੜ੍ਹੋ ਅਤੇ ਲਿਖੋ" ਸਿਰਤੋਂ ਦੇ ਸਨ। PHP ਨੇ ਇਸਨੂੰ ਸੁਗਮ ਬਣਾਇਆ: ਡੇਟਾਬੇਸ ਨਾਲ ਕਨੈਕਸ਼ਨ, ਕਵੈਰੀ ਚਲਾਈਏ, ਨਤੀਜੇ ਰੇੰਡਰ ਕਰੋ। ਇਸ ਸੌਗੰਝ ਨੇ ਬੇਸ਼ੁਮਾਰ ਛੋਟੀਆਂ ਕਾਰੋਬਾਰਾਂ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਫੀਚਰ ਲਾਂਚ ਕਰਨ ਵਿੱਚ ਮਦਦ ਦਿੱਤੀ—ਉਸ ਸਮੇਂ ਜਦੋਂ "ਫੁੱਲ-ਸਟੈਕ" ਇੱਕ ਨੌਕਰੀ ਸਿਰਲੇਖ ਵੀ ਨਹੀਂ ਸੀ।
ਇਕ ਵਾਰੀ PHP ਹਰ ਜਗ੍ਹਾ ਹੋ ਗਿਆ, ਇਸ ਨੇ ਆਪਣਾ ਹੀ ਗੜ੍ਹ੍ਹਾ ਬਣਾਇਆ:
ਇਹ ਇਤਿਹਾਸ ਅਜੇ ਵੀ ਗੱਲ ਵਜੋਂ ਮਹੱਤਵਪੂਰਣ ਹੈ। ਵੈੱਬ ਦੀ ਨੀਵ continuity 'ਤੇ ਬਣੀ ਹੈ: ਜੋ ਪਹਿਲਾਂ ਬਣਿਆ, ਉਸਨੂੰ ਮੈੰਟੇਨ, ਵਧਾਉਣਾ, ਅਤੇ ਇੰਟੀਗਰੇਟ ਕਰਨਾ। PHP ਦੀ ਪਹੁੰਚ—ਸ਼ੇਅਰਡ ਹੋਸਟਿੰਗ, CMS ਇਕੋਸਿਸਟਮ, ਅਤੇ Laravel/Symfony ਵਰਗੇ ਫਰੇਮਵਰਕਾਂ 'ਤੇ—ਦਾ ਮਤਲਬ ਹੈ ਕਿ PHP ਚੁਣਨਾ ਸਿਰਫ਼ ਭਾਸ਼ਾ ਚੋਣ ਨਹੀਂ; ਇਹ ਵੈੱਬ ਡਿਵੈਲਪਮੈਂਟ ਵਿੱਚ ਇੱਕ ਪੱਕਾ ਰਸਤਾ ਚੁਣਨਾ ਹੈ।
WordPress ਹੀ ਸਭ ਤੋਂ ਵੱਡਾ ਕਾਰਨ ਹੈ ਕਿ PHP "ਸੁੱਲ" ਨਹੀਂ ਹੋਇਆ। ਜਦੋਂ ਵੈੱਬ ਦਾ ਇੱਕ ਵੱਡਾ ਹਿੱਸਾ ਇੱਕ PHP-ਅਧਾਰਿਤ ਪਲੇਟਫਾਰਮ 'ਤੇ ਚਲਦਾ ਹੈ, ਤਾਂ ਮੰਗ ਸਿਰਫ਼ ਨਵੀਂ ਬਿਲਡ ਤੋਂ ਨਹੀਂ ਆਉਂਦੀ—ਇਹ ਸਾਲਾਂ (ਅਕਸਰ ਦਹਾਕਿਆਂ) ਦੀ ਲਗਾਤਾਰ ਅੱਪਡੇਟਸ, ਸਮੱਗਰੀ ਬਦਲਾਅ, ਅਤੇ ਐਕਸਟੈਂਸ਼ਨਜ਼ ਦੇ ਕਾਰਨ ਵੀ ਆਉਂਦੀ ਹੈ।
WordPress ਪ੍ਰਕਾਸ਼ਨ ਨੂੰ ਆਸਾਨ ਬਣਾਇਆ, ਅਤੇ ਇਹ ਸਸਤੀ ਸ਼ੇਅਰਡ ਹੋਸਟਿੰਗ 'ਤੇ ਚੰਗਾ ਚੱਲਦਾ। ਇਸ ਜੋੜ ਨੇ ਹੋਸਟਿੰਗ ਪ੍ਰਦਾਤਾਵਾਂ ਨੂੰ PHP ਲਈ ਅਪਟੀਮਾਈਜ਼ ਕਰਨਾ ਪ੍ਰੇਰਿਤ ਕੀਤਾ ਅਤੇ ਲਗਭਗ ਹਰ ਥਾਂ "PHP + MySQL" ਇੱਕ ਡਿਫੌਲਟ ਪੈਕੇਜ ਬਣ ਗਿਆ।
ਕਾਰੋਬਾਰਾਂ ਲਈ, WordPress ਥੀਮ ਅਤੇ ਪਲੱਗਇਨ ਅਰਥਵਿਵਸਥਾ ਅਸਲ ਇੰਜਿਨ ਹੈ। ਕਸਟਮ ਸਾਫਟਵੇਅਰ ਆਰਡਰ ਕਰਨ ਦੀ ਬਜਾਏ, ਟੀਮਾਂ ਅਕਸਰ ਇੱਕ ਪਲੱਗਇਨ ਖਰੀਦ ਕਰਕੇ, ਥੀਮ ਜੋੜਕੇ, ਅਤੇ ਤੇਜ਼ੀ ਨਾਲ ਬਾਜ਼ਾਰ ਵਿੱਚ ਜਾ ਸਕਦੀਆਂ ਹਨ। ਇਸ ਨਾਲ PHP ਲਾਗੂ ਰਹਿੰਦੀ ਹੈ ਕਿਉਂਕਿ ਉਸ ਇਕੋਸਿਸਟਮ ਦਾ ਬਹੁਤ ਸਾਰਾ ਹਿੱਸਾ ਅਜੇ ਵੀ PHP ਵਿੱਚ ਲਿਖਿਆ, ਬਣਾਇਆ ਅਤੇ PHP-ਫ੍ਰੈਂਡਲੀ ਹੋਸਟਿੰਗ 'ਤੇ ਡੇਪਲੋਇ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
ਕਈ ਸੰਗਠਨਾਂ ਮੌਜੂਦਾ ਇੰਸਟਾਲਾਂ ਨੂੰ ਚਲਾਉਂਦੀਆਂ ਰਹਿੰਦੀਆਂ ਹਨ ਕਿਉਂਕਿ:
ਅਮਲ ਵਿੱਚ, ਇਸਦਾ ਮਤਲਬ ਇੱਕ ਨਿਰੰਤਰ ਮੁਰੰਮਤ ਕੰਮ ਹੈ: ਸੁਰੱਖਿਆ ਪੈਚ, ਪਲੱਗਇਨ ਅਪਡੇਟ, ਪ੍ਰਦਰਸ਼ਨ ਟਿਊਨਿੰਗ, ਅਤੇ ਧੀਰੇ-ਧੀਰੇ ਮੋਡਰਨਾਈਜ਼ੇਸ਼ਨ।
WordPress ਪਿਛਲੇ ਸਮੇਂ ਵਿੱਚ ਫੱਸਿਆ ਹੋਇਆ ਨਹੀਂ ਹੈ। ਮੌਡਰਨ ਬਿਲਡ ਅਕਸਰ REST API, ਬਲੌਕ ਸੰਪਾਦਕ (Gutenberg), ਅਤੇ ਵਧ ਰਹੀਆਂ "ਹੈਡਲੇਸ" ਸੈਟਅੱਪਾਂ ਦਾ ਇਸਤੇਮਾਲ ਕਰਦੇ ਹਨ, ਜਿੱਥੇ WordPress ਸਮੱਗਰੀ ਨੂੰ ਸੰਭਾਲਦਾ ਹੈ ਅਤੇ ਵੱਖਰਾ ਫਰੰਟਐਂਡ ਉਸਨੂੰ ਖਾਂਦਾ ਹੈ। ਭਾਵੇਂ ਜਦੋਂ ਫਰੰਟਐਂਡ ਬਦਲਦਾ ਹੈ, PHP ਬੈਕਅੈਂਡ 'ਤੇ ਕੇਂਦਰੀ ਰਹਿੰਦੀ—ਐਡਮਿਨ, ਸਮੱਗਰੀ ਮਾਡਲ, ਪਰਮਿਸ਼ਨ ਅਤੇ ਪਲੱਗਇਨ ਹੁਕਸ ਜੋ ਕਾਰੋਬਾਰਾਂ 'ਤੇ ਨਿਰਭਰ ਹਨ।
"ਮੌਡਰਨ PHP" ਆਮ ਤੌਰ 'ਤੇ ਇੱਕ ਹੀ ਫਰੇਮਵਰਕ ਜਾਂ ਫੈਸ਼ਨਬਲ ਰੀ-ਰਾਈਟ ਨੂੰ ਨਹੀਂ ਦੱਸਦਾ। ਇਸਦਾ ਅਰਥ ਹੈ PHP ਨੂੰ ਉਸ ਤਰੀਕੇ ਨਾਲ ਲਿਖਣਾ ਜਿਵੇਂ ਭਾਸ਼ਾ ਨੇ PHP 7 ਅਤੇ ਖ਼ਾਸ ਕਰਕੇ PHP 8+ ਦੇ ਬਾਅਦ ਆਪਣਾ ਲੇਖਾ-ਜੋਖਾ ਪ੍ਰੇਰਿਤ ਕੀਤਾ: ਸਾਫ਼ ਕੋਡ, ਵਧੀਆ ਟੂਲਿੰਗ, ਅਤੇ ਘੱਟ ਹੈਰਾਨੀਭਰੇ ਵਿਵਹਾਰ।
ਜੇ ਤੁਹਾਡੀ ਯਾਦ ਵਿੱਚ PHP ਲੂਜ਼ ਐਰੇਜ਼ ਅਤੇ ਅਜਿਹੇ ਵਾਰਨਿੰਗਜ਼ ਹਨ, ਤਾਂ PHP 8 ਵੱਖਰਾ ਮਹਿਸੂਸ ਕਰੇਗਾ।
ਵਧੀਆ ਟਾਈਪਿੰਗ ਇਸ ਬਦਲਾਅ ਦਾ ਵੱਡਾ ਹਿੱਸਾ ਹੈ। ਤੁਸੀਂ ਫੰਕਸ਼ਨ ਆਰਗੂਮੈਂਟ ਅਤੇ ਰੀਟਰਨ ਵੈਲਯੂਜ਼ ਲਈ ਟਾਈਪ ਹਿੰਟ ਜੋੜ ਸਕਦੇ ਹੋ, string|int ਵਰਗੇ union types ਵਰਤ ਸਕਦੇ ਹੋ, ਅਤੇ ਇੰਜਣ ਵੱਲੋਂ ਹੋਰ ਇੱਕਸਾਰ ਰਵੱਈਆ ਦੀ ਉਮੀਦ ਰੱਖ ਸਕਦੇ ਹੋ। ਇਹ ਤੁਹਾਨੂੰ ਹਰ ਥਾਂ ਸਖ਼ਤੀ 'ਚ ਨਹੀਂ ਧੱਕਦਾ, ਪਰ ਇਹ ਇਹ ਸਵਾਲ "ਇਹ ਮੁੱਲ ਕੀ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ?" ਦਾ ਜਵਾਬ ਦੇਣਾ ਆਸਾਨ ਬਣਾਉਂਦਾ ਹੈ।
PHP 8 ਨੇ ਕੁਝ ਐਸੇ ਫੀਚਰ ਵੀ ਜੋੜੇ ਜੋ ਬੋਇਲਰਪਲੇਟ ਘਟਾਉਂਦੇ ਅਤੇ ਇਰਾਦਾ ਸਾਫ਼ ਕਰਦੇ ਹਨ:
match expressions ਲੰਬੇ switch ਬਲਾਕਾਂ ਦੀ ਥਾਂ ਇੱਕ ਸਾਫ਼ ਅਤੇ ਜ਼ਿਆਦਾ ਸੁਰੱਖਿਅਤ ਵਿਕਲਪ ਦਿੰਦੇ ਹਨ।ਮੌਡਰਨ PHP ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਜਲਦੀ ਰਿਪੋਰਟ ਕਰਨ ਬਾਰੇ ਹੋਰ ਦ੍ਰਿੜ ਹੈ। ਏਰਰ ਸੁਨੇਹੇ ਸੁਧਰੇ ਹਨ, ਕਈ ਸੰਘੀ ਗਲਤੀਆਂ ਹੁਣ ਹੋਰ ਸਾਫ਼ ਐਕਸਸੈਪਸ਼ਨਾਂ ਨਾਲ ਫੈਟਲ ਹੋ ਜਾਂਦੀਆਂ ਹਨ, ਅਤੇ ਆਮ ਡਿਵੈਲਪਮੈਂਟ ਸੈਟਅੱਪ PHP ਨੂੰ ਸਟੈਟਿਕ ਐਨਾਲਿਸਿਸ ਅਤੇ ਫਾਰਮੈੱਟਿੰਗ ਟੂਲਾਂ ਨਾਲ ਜੋੜਦੇ ਹਨ ਤਾਂ ਕਿ ਮੁੱਦੇ ਉਤਪਾਦ 'ਤੇ ਪਹੁੰਚਣ ਤੋਂ ਪਹਿਲਾਂ ਦਿੱਖਨ।
PHP ਨੇ ਖੁਦ ਆਪਣੀ ਸੁਰੱਖਿਆ ਪੋਜ਼ਿਸ਼ਨ ਨੂੰ ਸੁਧਾਰਿਆ ਹੈ: ਮਜ਼ਬੂਤ ਪਾਸਵਰਡ APIs, ਬਿਹਤਰ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫੀ ਵਿਕਲਪ, ਅਤੇ ਆਮ ਫ਼ੇਲਅਰ ਕੇਸਾਂ ਦੇ ਹੋਰ ਇੱਕਸਾਰ ਹੱਲ। ਇਹ ਆਪਣੇ ਆਪ "ਤੁਹਾਡੇ ਐਪ ਨੂੰ ਸੁਰੱਖਿਅਤ" ਨਹੀਂ ਕਰਦਾ—ਪਰ ਇਹ ਉਨ੍ਹਾਂ ਫੁੱਟ‑ਗਨਜ਼ (ਆਸਾਨ ਗਲਤੀਆਂ) ਦੀ ਗਿਣਤੀ ਘਟਾਉਂਦਾ ਹੈ।
ਮੌਡਰਨ PHP ਕੋਡ ਅਕਸਰ ਛੋਟੇ, ਟੈਸਟਯੋਗ ਯੂਨਿਟਾਂ ਵਿੱਚ ਵੰਡਿਆ ਹੁੰਦਾ ਹੈ, Composer ਪੈਕੇਜਾਂ ਰਾਹੀਂ ਇੰਸਟਾਲ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਇਸ ਤਰ੍ਹਾਂ ਢਾਂਚਾ ਬਣਾਇਆ ਜਾਂਦਾ ਕਿ ਨਵੇਂ ਸਾਥੀ ਤੇਜ਼ੀ ਨਾਲ ਸਮਝ ਸਕਣ। ਇਹ ਤਬਦੀਲੀ—ਕਿਸੇ ਇੱਕ ਫੀਚਰ ਤੋਂ ਵੱਧ—ਇਸ ਲਈ ਹੈ ਕਿ ਮੌਡਰਨ PHP ਉਸ ਭਾਸ਼ਾ ਵਾਂਗ ਮਹਿਸੂਸ ਹੁੰਦੀ ਹੈ ਜੋ ਬਹੁਤ ਸਾਰਿਆਂ ਨੇ ਯਾਦ ਕੀਤੀ ਹੋਈ PHP ਤੋਂ ਕਾਫੀ ਵੱਖਰੀ ਹੈ।
PHP ਦੀ ਪ੍ਰਦਰਸ਼ਨ ਕਹਾਣੀ ਪਹਿਲਾਂ "ਇੰਟਪ੍ਰੀਟੇਸ਼ਨ" ਨਾਲ ਪਰਿਭਾਸ਼ਿਤ ਹੁੰਦੀ ਸੀ। ਅੱਜ ਇਸਨੂੰ ਕਮਪਾਇਲੇਸ਼ਨ, ਕੈਸ਼ਿੰਗ, ਅਤੇ ਇਹ ਕਿ ਤੁਹਾਡੀ ਐਪ ਡੇਟਾਬੇਸ ਅਤੇ ਮੈਮੋਰੀ ਨੂੰ ਕਿਵੇਂ ਵਰਤਦੀ ਹੈ—ਇਸ ਤਰੀਕੇ ਨਾਲ ਸੋਚਣਾ ਜ਼ਿਆਦਾ ਯਥਾਰਥ ਹੈ।
OPcache ਪ੍ਰੀਕੰਪਾਇਲਡ ਸਕ੍ਰਿਪਟ ਬਾਈਟਕੋਡ ਨੂੰ ਮੈਮੋਰੀ ਵਿੱਚ ਸਟੋਰ ਕਰਦਾ ਹੈ, ਤਾਂ ਕਿ PHP ਨੂੰ ਹਰ ਬੇਨਤੀ 'ਤੇ ਉਹੀ ਫਾਇਲਾਂ ਨੂੰ ਮੁੜ-ਪਾਰਸ ਅਤੇ ਕਮਪਾਇਲ ਕਰਨ ਦੀ ਲੋੜ ਨਾ ਰਹੇ। ਇਸ ਨਾਲ CPU ਕੰਮ ਕੁੱਝ ਹੱਦ ਤੱਕ ਘਟਦਾ ਹੈ, ਬੇਨਤੀ ਦੀ ਲੈਟੇੰਸੀ ਘਟਦੀ ਹੈ, ਅਤੇ ਥਰੂਪੁੱਟ ਸੁਧਰਦਾ ਹੈ—ਅਕਸਰ ਬਿਨਾਂ ਕੋਈ ਐਪ ਕੋਡ ਬਦਲੇ।
ਕਈ ਸਾਈਟਾਂ ਲਈ, OPcache ਨੂੰ ਇਨੇਬਲ ਅਤੇ ਟਿਊਨ ਕਰਨਾ ਸਭ ਤੋਂ ਵੱਡਾ "ਮੁਫ਼ਤ" ਸੁਧਾਰ ਹੁੰਦਾ ਹੈ: ਘੱਟ CPU ਸਪਾਈਕਸ, ਜ਼ਿਆਦਾ ਸਥਿਰ ਪ੍ਰਤਿਕ੍ਰਿਆ ਸਮਾਂ, ਅਤੇ ਸ਼ੇਅਰਡ ਹੋਸਟਿੰਗ ਜਾਂ ਕੰਟੇਨਰਾਂ ਦੋਹਾਂ 'ਤੇ ਬਿਹਤਰ ਕਾਰਗੁਜ਼ਾਰੀ।
PHP 8 ਨੇ ਇੱਕ JIT (Just-In-Time) ਕੰਪਾਇਲਰ ਲੈ ਕੇ ਆਇਆ। ਇਹ CPU-ਭਾਰੀ ਵਰਕਲੋਡਜ਼ ਨੂੰ ਤੇਜ਼ ਕਰ ਸਕਦਾ ਹੈ—ਜਿਵੇਂ ਡੇਟਾ ਪ੍ਰੋਸੈਸਿੰਗ, ਇਮੇਜ ਮੈਨਿਪਿਊਲੇਸ਼ਨ, ਨੰਬਰ-ਕ੍ਰੰਚਿੰਗ, ਜਾਂ ਲੰਬੇ-ਰੰਨਿੰਗ ਵਰਕਰ।
ਪਰ ਆਮ ਵੈੱਬ ਬੇਨਤੀਆਂ ਅਕਸਰ ਹੋਰ ਥਾਂ 'ਤੇ ਬੈਟਲਨੇਕ ਹੁੰਦੀਆਂ ਹਨ: ਡੇਟਾਬੇਸ ਕਾਲ, ਨੈੱਟਵਰਕ I/O, ਟੈਂਪਲੇਟ ਰੇਂਡਰਿੰਗ, ਅਤੇ ਬਾਹਰੀ APIs 'ਤੇ ਉਡੀਕ। ਐਸੀਆਂ ਸਥਿਤੀਆਂ ਵਿੱਚ JIT ਅਕਸਰ ਯੂਜ਼ਰ-ਦੇਖਣਯੋਗ ਰਫ਼ਤਾਰ 'ਚ ਬਹੁਤ ਫ਼ਰਕ ਨਹੀਂ ਲਿਆunda। ਇਹ ਬੇਕਾਰ ਨਹੀਂ—ਪਰ ਜ਼ਿਆਦਾਤਰ CRUD-ਸਟਾਈਲ ਐਪਾਂ ਲਈ ਇਹ ਕੋਈ ਜਾਦੂਈ ਸਵਿੱਚ ਨਹੀਂ ਹੈ।
ਪ੍ਰਦਰਸ਼ਨ ਪੂਰੇ ਸਟੈਕ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ:
ਟੀਮਾਂ ਆਮ ਤੌਰ 'ਤੇ ਪਹਿਲਾਂ ਪ੍ਰੋਫਾਇਲ ਕਰਦੀਆਂ ਹਨ, ਫਿਰ ਨਿਸ਼ਾਨਾ ਬਣਾ ਕੇ ਸੁਧਾਰ ਲਿਆਂਦੀਆਂ ਹਨ: ਜਿੱਥੇ ਸੁਰੱਖਿਅਤ ਹੋਵੇ ਉਥੇ ਕੈਸ਼ ਜੋੜੋ, ਮਹਿੰਗੀਆਂ ਕਵੈਰੀਜ਼ ਘਟਾਓ, ਅਤੇ ਭਾਰੀ ਡੀਪੈਂਡੈਂਸੀਜ਼ (ਉਦਾਹਰਣ ਲਈ ਬਹੁਤ ਜਟਿਲ WordPress ਪਲੱਗਇਨ) ਨੂੰ ਛਾਂਟੋ। ਇਹ ਤਰੀਕਾ ਬਿਹਤਰ ਨਤੀਜੇ ਦਿੰਦਾ ਹੈ ਬਜਾਏ ਬੈਂਚਮਾਰਕਾਂ ਦੀ ਪੀਛੇ ਦੌੜਨ ਦੇ—ਪਰ ਇਹ ਅਸਲ ਮੈਟ੍ਰਿਕਸ ਜਿਵੇਂ TTFB ਅਤੇ p95 ਲੈਟੈਂਸੀ ਵਿੱਚ ਭਰੋਸੇਯੋਗ ਤੌਰ 'ਤੇ ਅੱਗੇ ਵਧਦਾ ਹੈ।
PHP ਮਾਤਰ ਇਸ ਲਈ ਰੱਖਿਆ ਨਹੀਂ ਗਿਆ ਕਿ ਇਹ ਹਰ ਥਾਂ ਸੀ—ਇਹ ਇਸ ਲਈ ਮਾਡਰਨ ਹੋਇਆ ਕਿਉਂਕਿ ਇਕੋਸਿਸਟਮ ਨੇ ਸਿਖਿਆ ਕਿ ਕਿਵੇਂ ਡਿਸਿਪਲਿਨਡ ਤਰੀਕੇ ਨਾਲ ਕੋਡ ਬਣਾਇਆ ਅਤੇ ਸਾਂਝਾ ਕੀਤਾ ਜਾ ਸਕੇ। ਸਭ ਤੋਂ ਵੱਡਾ ਬਦਲਾਅ ਭਾਸ਼ਾ ਦੇ ਇੱਕ ਫੀਚਰ ਤੋਂ ਨਾਹ ਸਿਰਫ਼ ਟੂਲਿੰਗ ਅਤੇ ਕੰਵੈਂਸ਼ਨ ਦੀ ਉਭਰਾਈ ਸੀ, ਜਿਸ ਨਾਲ ਪ੍ਰੋਜੈਕਟਾਂ ਨੂੰ ਰੱਖਣਾ, ਅਪਗ੍ਰੇਡ ਕਰਨਾ, ਅਤੇ ਸਹਿਯੋਗ ਕਰਨਾ ਆਸਾਨ ਹੋ ਗਿਆ।
Composer ਨੇ PHP ਨੂੰ ਡੀਪੈਂਡੈਂਸੀ-ਪਹਲੂ ਇਕੋਸਿਸਟਮ ਬਣਾਇਆ, ਜੋ ਦੂਜੇ ਸਮੁਦਾਏਂ ਵਿੱਚ ਡਿਵੈਲਪਰਾਂ ਦੀ ਉਮੀਦਾਂ ਵਾਂਗ ਸੀ। ਕਾਪੀ ਕਰਕੇ ਲਾਇਬ੍ਰੇਰੀਆਂ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਰੱਖਣ ਦੀ ਬਜਾਏ, ਟੀਮਾਂ ਡੀਪੈਂਡੈਂਸੀਜ਼ ਦਾ ਐਲਾਨ ਕਰ ਸਕਦੀਆਂ ਹਨ, ਵਰਜ਼ਨਾਂ ਨੂੰ ਲਾਕ ਕਰ ਸਕਦੀਆਂ ਹਨ, ਅਤੇ ਬਿਲਡ ਨੂੰ ਦੁਹਰਾਇਆ ਜਾ ਸਕਦਾ ਹੈ।
ਇਸਨੇ ਬਿਹਤਰ ਪ্যাকੇਜਿੰਗ ਨੂੰ ਪ੍ਰੋਤਸਾਹਿਤ ਕੀਤਾ: ਲਾਇਬ੍ਰੇਰੀਆਂ ਛੋਟੀਆਂ, ਫੋਕਸਡ, ਅਤੇ ਵੱਖ-ਵੱਖ ਫਰੇਮਵਰਕਾਂ ਅਤੇ ਕਸਟਮ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਵਾਪਰ-ਉਪਯੋਗ ਬਣ ਗਈਆਂ।
PHP-FIG ਦੇ PSR ਮਿਆਰ ਟੂਲਾਂ ਅਤੇ ਲਾਇਬ੍ਰੇਰੀਆਂ ਦੇ ਦਰਮਿਆਨ ਇੰਟਰਓਪਰੇਬਿਲਟੀ ਸੁਧਾਰਿਆ। ਜਦੋਂ ਆਮ ਇੰਟਰਫੇਸ ਆਮ ਹੁੰਦੇ ਹਨ—ਜਿਵੇਂ autoloading (PSR-4), logging (PSR-3), HTTP messages (PSR-7), ਅਤੇ containers (PSR-11)—ਤਾਂ ਤੁਸੀਂ ਕੰਪੋਨੈਂਟਾਂ ਨੂੰ ਬਦਲ ਸਕਦੇ ਹੋ ਬਿਨਾਂ ਪੂਰੇ ਐਪ ਨੂੰ ਦੁਬਾਰਾ ਲਿਖਣ ਦੇ।
ਅਮਲੀ ਤੌਰ 'ਤੇ, PSR-ਜ਼ PHP ਪ੍ਰੋਜੈਕਟਾਂ ਨੂੰ "ਫਰੇਮਵਰਕ-ਲਾਕਡ" ਮਹਿਸੂਸ ਕਰਨਾ ਘੱਟ ਕਰਦੇ ਹਨ। ਤੁਸੀਂ ਸਭ ਤੋਂ ਵਧੀਆ ਪੈਕੇਜ ਮਿਲਾ ਸਕਦੇ ਹੋ ਅਤੇ ਕੋਡਬੇਸ ਸਤਤ ਰਿਹਾ।
Symfony ਨੇ ਪ੍ਰੋਫੈਸ਼ਨਲ ਇੰਜੀਨੀਅਰਿੰਗ ਅਭਿਆਸ ਮੈਂਸਟਰੀਮ PHP ਵਿੱਚ ਲਿਆਏ: ਦੁਬਾਰਾ-ਉਪਯੋਗ ਕੰਪੋਨੈਂਟ, ਸਾਫ਼ ਆਰਕੀਟੈਕਚਰ ਪੈਟਰਨ, ਅਤੇ ਲੰਬੇ ਸਮੇਂ ਦੀ ਸਮਰਥਾ ਅਭਿਆਸ। ਜਿਹੜੇ ਡਿਵੈਲਪਰ ਪੂਰਾ ਫਰੇਮਵਰਕ ਵਰਤਦੇ ਨਹੀਂ ਸਨ, ਉਹ ਵੀ ਅਕਸਰ Symfony ਕੰਪੋਨੈਂਟਾਂ 'ਤੇ ਨਿਰਭਰ ਕਰਦੇ ਹਨ।
Laravel ਨੇ ਮੌਡਰਨ PHP ਨੂੰ ਪਹੁੰਚਯੋਗ ਬਣਾਇਆ। ਇਸਨੇ ਰੂਟਿੰਗ, ਮਾਈਗਰੇਸ਼ਨ, ਕਿਊਜ਼, ਅਤੇ ਬੈਕਗ੍ਰਾਉਂਡ ਨੌਕਰੀਆਂ ਦੇ ਆਮ ਕੰਵੈਂਸ਼ਨ ਪ੍ਰਸਿੱਧ ਕੀਤੇ—ਉਸ ਦੇ ਸਮੇਤ ਇਕਜੁੱਟ ਡਿਵੈਲਪਰ ਅਨੁਭਵ ਜੋ ਟੀਮਾਂ ਨੂੰ ਸਾਫ਼ ਢਾਂਚਾ ਵੱਲ ਧਕਲਦਾ ਹੈ ਅਤੇ ਪ੍ਰੋਜੈਕਟਾਂ ਨੂੰ ਜ਼ਿਆਦਾ ਪੇਸ਼ਗੋਈਯੋਗ ਬਣਾਉਂਦਾ ਹੈ।
ਟੂਲਿੰਗ ਫਰੇਮਵਰਕਾਂ ਦੇ ਨਾਲ-ਨਾਲ ਪੱਕੀ ਹੋਈ। PHPUnit ਯੂਨਿਟ ਅਤੇ ਇੰਟੇਗ੍ਰੇਸ਼ਨ ਟੈਸਟਿੰਗ ਲਈ ਡੀਫਾਲਟ ਬਣ ਗਿਆ, ਜਿਸ ਨਾਲ ਰਿਗ੍ਰੈਸ਼ਨ ਰੋਕਥਾਮ ਆਮ ਵਰਕਫਲੋ ਦਾ ਹਿੱਸਾ ਬਣ ਗਿਆ।
ਕੁਆਲਿਟੀ ਪਾਸੇ, ਸਟੈਟਿਕ ਐਨਾਲਿਸਿਸ ਟੂਲ (ਉਚ-ਸਤਹ: ਕਿਸੇ ਕੋਡ ਨੂੰ ਚਲਾਏ ਬਿਨਾਂ ਟਾਈਪਾਂ, ਕੋਡ ਪਾਥਾਂ, ਅਤੇ ਸੰਭਾਵਿਤ ਬੱਗ ਚੈੱਕ ਕਰਨਾ) ਟੀਮਾਂ ਨੂੰ ਲੈਗੇਸੀ ਕੋਡ ਨੂੰ ਜ਼ਿਆਦਾ ਸੁਰੱਖਿਅਤ ਤਰੀਕੇ ਨਾਲ ਰੀਫੈਕਟਰ ਕਰਨ ਅਤੇ ਨਵੇਂ ਕੋਡ ਨੂੰ ਇਕਸਾਰ ਰੱਖਣ ਵਿੱਚ ਮਦਦ ਕਰਦੇ ਹਨ—ਖ਼ਾਸ ਕਰਕੇ PHP ਵਰਜ਼ਨਾਂ ਵਿੱਚ ਅਪਗ੍ਰੇਡ ਕਰਨ ਵੇਲੇ।
PHP ਦੀ ਸਭ ਤੋਂ ਵੱਡੀ ਤਾਕਤ ਕੋਈ ਇੱਕ ਫੀਚਰ ਨਹੀਂ, ਨਾਂ ਹੀ PHP 8 ਦੀ ਕੋਈ ਇੱਕ ਮਸ਼ਹੂਰ ਸੁਧਾਰ। ਇਹ ਇਕੋਸਿਸਟਮ ਦਾ ਮਿਲਾਪ ਹੈ: ਲਾਇਬ੍ਰੇਰੀਆਂ, ਇंटीਗ੍ਰੇਸ਼ਨਾਂ, ਕੰਵੈਂਸ਼ਨਾਂ, ਅਤੇ ਇਸ ਸਮੁਦਾਏ ਦੇ ਲੋਕ ਜਿਹੜੇ ਪਹਿਲਾਂ ਹੀ PHP ਐਪਸੀਸ ਬਣਾਉਣਾ ਅਤੇ ਰੱਖਣਾ ਜਾਣਦੇ ਹਨ। ਇਹ ਪੱਕੜ ਸੋਸ਼ਲ ਮੀਡੀਆ 'ਤੇ ਟਰੈਂਡ ਨਹੀਂ ਬਣਦੀ—ਪਰ ਇਹ ਖਾਮੋਸ਼ੀ ਨਾਲ ਜੋਖਮ ਘਟਾਉਂਦੀ ਹੈ।
ਜਦੋਂ ਤੁਸੀਂ ਇਕ ਅਸਲੀ ਉਤਪਾਦ ਬਣਾਉਂਦੇ ਹੋ, ਤੁਸੀਂ ਕੋਰ ਕੋਡ ਲਿਖਣ ਤੋਂ ਬਦ ਇਹਨਾਂ ਗੱਲਾਂ 'ਤੇ ਵਧੇਰੇ ਸਮਾਂ ਬਰਬਾਦ ਕਰਦੇ ਹੋ: ਭੁਗਤਾਨ, ਈਮੇਲ, ਲੌਗਿੰਗ, ਕਿਊਜ਼, ਸਟੋਰੇਜ, ਆਥ, ਅਤੇ ਐਨਾਲਿਟਿਕਸ। PHP ਦਾ ਇਕੋਸਿਸਟਮ ਇਨ੍ਹਾਂ ਦੀਆਂ ਜ਼ਰੂਰਤਾਂ ਲਈ ਅਸਧਾਰਨ ਤੌਰ 'ਤੇ ਪੂਰਾ ਹੈ।
Composer ਨੇ ਕਈ ਸਾਲ ਪਹਿਲਾਂ dependency management ਨੂੰ ਸਟੈਂਡਰਡ ਕੀਤਾ, ਜੋ ਮਤਲਬ ਹੈ ਆਮ ਜ਼ਰੂਰਤਾਂ ਦੇ ਹੱਲ ਵਧੇਰੇ ਚੰਗੇ ਅਤੇ ਬਣਤ-ਮੈਂਟੇਨ ਵਾਲੇ ਪੈਕਜਾਂ ਵਿੱਚ ਮਿਲਦੇ ਹਨ। Laravel ਅਤੇ Symfony ਇਕੋਸਿਸਟਮ "ਬੈਟਰੀਜ਼-ਇਨਕਲੂਡਡ" ਕੰਪੋਨੈਂਟ ਲੈ ਆਉਂਦੇ ਹਨ, ਜਦਕਿ WordPress ਅਨੇਕ ਇੰਟੀਗ੍ਰੇਸ਼ਨਾਂ ਅਤੇ ਪਲੱਗਇਨਾਂ ਨਾਲ ਆਉਂਦਾ ਹੈ। ਨਤੀਜਾ: ਘੱਟ ਪੁਰੁਸ਼-ਨਿਰਮਾਣ, ਤੇਜ਼ੀ ਨਾਲ ਡਿਲਿਵਰੀ, ਅਤੇ ਸਪੱਸ਼ਟ ਅਪਗ੍ਰੇਡ ਰਸਤੇ।
ਇੱਕ ਭਾਸ਼ਾ "ਟਿਕਦੀ" ਹੈ ਕਿਉਂਕਿ ਟੀਮਾਂ ਉਸਨੂੰ ਮੈਂਟੇਨ ਕਰ ਸਕਦੀਆਂ ਹਨ। PHP ਵਿਆਪਕ ਤੌਰ 'ਤੇ ਸਿਖਾਈ ਜਾਂਦੀ ਹੈ, ਵਿਆਪਕ ਤੌਰ 'ਤੇ ਵਰਤੀ ਜਾਂਦੀ ਹੈ, ਅਤੇ ਕਈ ਫੁੱਲ-ਸਟੈਕ ਡਿਵੈਲਪਰਾਂ ਲਈ ਪਰਚੀਤ ਹੈ। ਭਾਵੇਂ ਕੋਈ Laravel ਜਾਂ Symfony ਨਹੀਂ ਜਾਣਦਾ, ਪਰ ਰੁਜੂ ਕਰਨ ਤੋਂ ਵਰਗਾ ਨਵਾਂ ਪ੍ਰੋਡਕਸ਼ਨ ਬਣਾਉਣ ਲਈ ਲਰਨਿੰਗ ਕਰਵਣਾ ਅਕਸਰ ਨਵੇਂ ਸਟੈਕਾਂ ਨਾਲੋਂ ਛੋਟਾ ਹੁੰਦਾ ਹੈ—ਖ਼ਾਸ ਕਰਕੇ ਸਰਵਰ-ਸਾਈਡ ਸਕ੍ਰਿਪਟਿੰਗ ਅਤੇ ਰਵਾਇਤੀ ਵੈੱਬ ਡਿਵੈਲਪਮੈਂਟ ਲਈ।
ਇਹ ਛੋਟੀਆਂ ਟੀਮਾਂ ਅਤੇ ਏਜੰਸੀਆਂ ਲਈ ਮਹੱਤਵਪੂਰਣ ਹੈ ਜਿਥੇ ਟਰਨਓਵਰ ਹੁੰਦਾ ਹੈ, ਡੈਡਲਾਈਨ ਮੁਕੰਮਲ ਹਨ, ਅਤੇ ਸਭ ਤੋਂ ਮਹਿੰਗਾ ਬੱਗ ਉਹ ਹੁੰਦਾ ਹੈ ਜਿਸਨੂੰ ਕੋਈ ਸਮਝਦਾ ਹੀ ਨਹੀਂ।
PHP ਦੀ ਡੌਕਯੂਮੈਂਟੇਸ਼ਨ ਇੱਕ ਮੁਕਾਬਲਤੀ ਫਾਇਦਾ ਹੈ: ਇਹ ਵਿਸਥਾਰਪੂਰਕ, ਪ੍ਰਾਇਕਟਿਕ, ਅਤੇ ਉਦਾਹਰਣਾਂ ਨਾਲ ਭਰਪੂਰ ਹੈ। ਸਰਕਾਰੀ ਡੌਕਜ਼ ਤੋਂ ਇਲਾਵਾ, ਟਿਊਟੋਰੀਅਲ, ਕਿਤਾਬਾਂ, ਕੋਰਸ ਅਤੇ ਕਮਿਊਨਿਟੀ ਜਵਾਬਾਂ ਦਾ ਇੱਕ ਗਹਿਰਾ ਲਾਇਬ੍ਰੇਰੀ ਮੌਜੂਦ ਹੈ। ਸ਼ੁਰੂਆਤੀ ਲੋਕ ਤੇਜ਼ੀ ਨਾਲ ਸ਼ੁਰੂ ਕਰ ਸਕਦੇ ਹਨ, ਜਦਕਿ ਅਨੁਭਵੀ ਡਿਵੈਲਪਰ ਪਰਫਾਰਮਰਸ, ਟੈਸਟਿੰਗ, ਅਤੇ ਆਰਕੀਟੈਕਚਰ ਪੈਟਰਨ ਵਿੱਚ ਗਹਿਰਾਈ ਨਾਲ ਜਾ ਸਕਦੇ ਹਨ ਬਿਨਾਂ ਰੁਕਾਵਟ ਦੇ।
ਭਾਸ਼ਾਵਾਂ ਅਪਰਿਪੂਰਨ ਹੋਣ ਕਾਰਨ ਨਹੀਂ ਔਖੀਆਂ ਹੋ ਜਾਂਦੀਆਂ; ਉਹ ਮੈਹਿੰਗੇ ਹੋ ਜਾਂਦੀਆਂ ਹਨ ਜਦੋਂ ਉਨ੍ਹਾਂ ਨੂੰ ਰੱਖਣਾ ਬਹੁਤ ਮਹਿੰਗਾ ਹੋ ਜਾਵੇ। PHP ਦਾ ਲੰਮਾ ਇਤਿਹਾਸ ਮਤਲਬ ਹੈ:
ਇਹ ਲੰਬੇ ਸਮੇਂ ਦੀ ਰੱਖ-ਰਖਾਅ ਕਹਾਣੀ ਅਕਰਸ਼ਕ ਨਹੀਂ ਹੈ, ਪਰ ਇਹੀ ਕਾਰਨ ਹੈ ਕਿ PHP ਉਹ ਚੁਣਿਆ ਜਾਂਦਾ ਹੈ ਜੋ ਸਾਲਾਂ ਤੱਕ ਚੱਲੇ।
PHP ਦੀ ਸ਼ਰੈਲੀ ਅਕਸਰ "ਪੁਰਾਣਾ-ਸਕੂਲ" ਵੈੱਬਸਾਈਟਾਂ ਨਾਲ ਜੋੜੀ ਜਾਂਦੀ ਹੈ, ਪਰ ਦਿਨ-ਚੜ੍ਹਦਾ ਹਕੀਕਤ ਮਾਡਰਨ ਹੈ: ਇਹ ਉਹੀ ਪ੍ਰਕਾਰ ਦੇ ਵਾਤਾਵਰਨਾਂ ਵਿੱਚ ਚਲਦਾ, ਉਹੀ ਡੇਟਾ ਸਟੋਰਾਂ ਨਾਲ ਗੱਲ ਕਰਦਾ, ਅਤੇ ਉਹੀ API-ਪਹਿਲਾ ਪੈਟਰਨਾਂ ਨੂੰ ਸਹਾਰਦਾ ਹੈ ਜਿਵੇਂ ਹੋਰ ਬੈਕਐਂਡ ਭਾਸ਼ਾਵਾਂ।
PHP ਸ਼ੇਅਰਡ ਹੋਸਟਿੰਗ 'ਤੇ ਅਜੇ ਵੀ ਚਮਕਦਾ ਹੈ—ਕੋਡ ਅਪਲੋਡ ਕਰੋ, ਡੋਮੇਨ ਪੌਇੰਟ ਕਰੋ, ਅਤੇ ਤੁਸੀਂ ਲਾਈਵ ਹੋ। ਇਹ ਪਹੁੰਚਯੋਗਤਾ ਇੱਕ ਵੱਡਾ ਕਾਰਨ ਹੈ ਕਿ ਇਹ ਛੋਟੇ ਕਾਰੋਬਾਰਾਂ ਅਤੇ ਸਮੱਗਰੀ ਸਾਈਟਾਂ ਲਈ ਆਮ ਰਹਿੰਦਾ ਹੈ।
ਜਿਨ੍ਹਾਂ ਟੀਮਾਂ ਨੂੰ ਹੋਰ ਕੰਟਰੋਲ ਚਾਹੀਦਾ ਹੈ, PHP VPS (ਤੁਸੀਂ ਜੋ ਸਰਵਰ ਮੈਨੇਜ ਕਰਦੇ ਹੋ) ਜਾਂ ਕੰਟੇਨਰ (Docker + Kubernetes) 'ਤੇ ਵਧੀਆ ਕੰਮ ਕਰਦਾ ਹੈ। ਅੱਜ ਕਈ ਪ੍ਰੋਡਕਸ਼ਨ ਸੈਟਅੱਪ PHP-FPM ਨੂੰ Nginx ਦੇ ਪਿੱਛੇ ਚਲਾ ਰਹੇ ਹਨ, ਜਾਂ ਐਸੇ ਪਲੇਟਫਾਰਮ ਸੇਵਾ ਵਰਤ ਰਹੇ ਹਨ ਜੋ ਢਾਂਚਾ ਛੁਪਾ ਦਿੰਦੇ ਹਨ ਪਰ ਮਿਆਰੀ PHP ਵਰਕਫਲੋਜ਼ ਨੂੰ ਰੱਖਦੇ ਹਨ।
PHP ਹੁਣ "ਸਰਵਰਲੈੱਸ-ਸਟਾਈਲ" ਡਿਪਲੋਇਮੈਂਟਾਂ ਵਿੱਚ ਵੀ ਦਿਖਾਈ ਦੇ ਰਹੀ ਹੈ। ਤੁਸੀਂ ਹਮੇਸ਼ਾਂ ਰਵਾਇਤੀ PHP ਬੇਨਤੀ-ਹੈਨਡਲਿੰਗ ਨਹੀਂ ਚਲਾ ਰਹੇ, ਪਰ ਵਿਚਾਰ ਇੱਕੋ ਜਿਹਾ ਹੈ: ਛੋਟੇ-ਅਵਧੀ ਪ੍ਰਕਿਰਿਆਵਾਂ ਜੋ ਮੰਗ 'ਤੇ ਸਕੇਲ ਹੁੰਦੀਆਂ ਹਨ, ਅਕਸਰ ਕੰਟੇਨਰਾਂ ਵਜੋਂ ਪੈਕੇਜ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ।
ਜ਼ਿਆਦਾਤਰ PHP ਐਪ MySQL/MariaDB ਨਾਲ ਜੁੜੇ ਹੁੰਦੇ ਹਨ—ਖ਼ਾਸ ਕਰਕੇ WordPress-ਭਰੇ ਵਾਤਾਵਰਨਾਂ ਵਿੱਚ—ਪਰ ਨਵੀਂ ਬਿਲਡਾਂ ਲਈ PostgreSQL ਵੀ ਬਰਾਬਰ ਕਾਮਨ ਹੈ।
ਤੇਜ਼ੀ ਲਈ, PHP ਟੀਮਾਂ ਅਕਸਰ Redis ਨੂੰ ਕੈਸ਼ ਵਜੋਂ ਅਤੇ ਕਦੇ-ਕਦੇ ਕਿਊ ਬੈਕਏਂਡ ਵਜੋਂ ਸ਼ਾਮਲ ਕਰਦੀਆਂ ਹਨ। ਅਮਲੀ ਤੌਰ 'ਤੇ, ਇਸਦਾ ਮਤਲਬ ਹੈ ਘੱਟ ਡੇਟਾਬੇਸ ਹਿੱਟ, ਤੇਜ਼ ਪੇਜ ਲੋਡ, ਅਤੇ ਸਪਾਈਕਾਂ ਦੇ ਵੇਲੇ ਬਿਹਤਰ ਹਨ—ਬਿਨਾਂ ਕੋਰ ਉਤਪਾਦ ਬਦਲੇ।
PHP HTML ਰੇਂਡਰ ਕਰਨ ਤੱਕ ਸੀਮਤ ਨਹੀਂ ਹੈ। ਇਹ ਅਕਸਰ REST APIs ਬਣਾਉਣ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਹੈ ਜੋ ਮੋਬਾਇਲ ਐਪ, ਸਿੰਗਲ-ਪੇਜ ਵੈੱਬ ਐਪ, ਜਾਂ ਤੀਸਰੇ-ਪੱਖੀ ਇੰਟੀਗ੍ਰੇਸ਼ਨਾਂ ਨੂੰ ਸਰਵ ਕਰਦੇ ਹਨ।
ਆਥ ਅਮਲੀ ਤੌਰ 'ਤੇ ਉਹੀ ਹੋਂਦ ਨੂੰ ਦਿਖਾਉਂਦਾ ਜੋ ਤੁਸੀਂ ਹੋਰ ਥਾਂ ਵੇਖੋਂਗੇ: ਬ੍ਰਾੁਜ਼ਰ-ਅਧਾਰਿਤ ਐਪ ਲਈ ਸੈਸ਼ਨ + ਕੁਕੀਜ਼, ਅਤੇ APIs ਲਈ ਟੋਕਨ-ਅਧਾਰਿਤ ਆਥ (ਉਦਾਹਰਨ ਲਈ bearer tokens ਜਾਂ signed tokens)। ਵਿਸਥਾਰ ਫਰੇਮਵਰਕ ਅਤੇ ਲੋੜਾਂ 'ਤੇ ਨਿਰਭਰ ਕਰਦੇ ਹਨ, ਪਰ ਆਰਕੀਟੈਕਚਰਲ ਪੈਟਰਨ ਮੈਨਸਟਰੀਮ ਹਨ।
ਮਾਡਰਨ ਉਤਪਾਦ ਅਕਸਰ PHP ਬੈਕਐਂਡ ਨੂੰ JavaScript ਫਰੰਟਐਂਡ ਨਾਲ ਮਿਲਾਉਂਦੇ ਹਨ।
ਇੱਕ ਪਹੁੰਚ PHP API ਨੂੰ ਸਰਵ ਕਰਨ ਦੀ ਹੈ ਜਦਕਿ React ਜਾਂ Vue ਇੰਟਰਫੇਸ ਸੰਭਾਲਦੇ ਹਨ। ਦੂਜਾ "ਹਾਈਬਰਿਡ" ਮਾਡਲ ਹੈ ਜਿੱਥੇ PHP ਮੁੱਲ ਪੇਜਾਂ ਨੂੰ SEO ਅਤੇ ਰਫ਼ਤਾਰ ਲਈ ਰੇਂਡਰ ਕਰਦਾ ਹੈ, ਅਤੇ JavaScript UI ਦੇ ਕੁਝ ਹਿੱਸਿਆਂ ਨੂੰ ਸੁਧਾਰਦਾ ਹੈ। ਇਹ ਟੀਮਾਂ ਨੂੰ ਚੁਣਨ ਦੀ ਆਜ਼ਾਦੀ ਦਿੰਦਾ ਹੈ ਕਿ ਕੀ ਡਾਇਨਾਮਿਕ ਹੋਵੇ ਬਿਨਾਂ ਹਰ ਚੀਜ਼ ਨੂੰ ਇੱਕ ਹੀ ਸਟਾਈਲ ਵਿੱਚ ਸੁਟ ਕਰਨ ਦੇ।
ਇੱਕ ਕਾਰਨ ਕਿ "PHP ਮੁਰ੍ਹਾ ਗਿਆ" ਦੀ ਰੇਟੋਰਿਕ ਜਾਰੀ ਰਹਿੰਦੀ ਹੈ ਉਹ ਹੈ ਕਿ ਟੀਮਾਂ ਬਦਲਾਵ ਦੀ ਲਾਗਤ ਨੂੰ ਜ਼ਿਆਦਾ ਅਨੁਮਾਨ ਲਗਾਉਂਦੀਆਂ ਹਨ। ਅਮਲੀ ਤੌਰ 'ਤੇ, ਮੌਡਰਨ ਟੂਲਿੰਗ ਤੁਹਾਨੂੰ ਸਿਸਟਮ ਦੇ ਹਿੱਸਿਆਂ ਨੂੰ ਪ੍ਰੋਟੋਟਾਈਪ ਜਾਂ ਬਦਲਣ 'ਚ ਮਦਦ ਕਰ ਸਕਦੀ ਹੈ ਬਿਨਾਂ ਕਾਰੋਬਾਰ ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਰੀਰਾਈਟ ਕਰਨ ਦਿਆਂ। ਉਦਾਹਰਨ ਲਈ, Koder.ai (ਇੱਕ ਚੈਟ-ਚਲਿਤ vibe-coding ਪਲੇਟਫਾਰਮ)ਉਪਯੋਗੀ ਹੋ ਸਕਦਾ ਹੈ ਜਦੋਂ ਤੁਸੀਂ ਇੱਕ ਐਡਮਿਨ ਡੈਸ਼ਬੋਰਡ, ਇੱਕ ਛੋਟਾ ਅੰਦਰੂਨੀ ਟੂਲ, ਜਾਂ ਇੱਕ React ਫਰੰਟਐਂਡ ਜੋ ਮੌਜੂਦਾ PHP API ਨਾਲ ਇੰਟੀਗ੍ਰੇਟ ਹੁੰਦਾ ਹੈ—ਤੇਜ਼ੀ ਨਾਲ, ਸਪੱਸ਼ਟ ਡਿਪਲੋਇਮੈਂਟ ਅਤੇ ਸੋਰਸ ਕੋਡ ਐਕਸਪੋਰਟ ਦੇ ਰਸਤੇ ਨਾਲ।
PHP ਤੇ ਕਾਫੀ ਆਲੋਚਨਾ ਹੁੰਦੀ ਹੈ, ਅਤੇ ਇਹ ਸਾਰੀਆਂ ਸਿਰਫ਼ "ਪੁਰਾਣੀਆਂ ਮੀਮ" ਨਹੀਂ ਹਨ। ਕੁਝ ਸ਼ਿਕਾਯਤਾਂ ਇਤਿਹਾਸਕ ਤੱਥਾਂ 'ਤੇ ਆਧਾਰਤ ਹਨ—ਖ਼ਾਸ ਕਰਕੇ ਜੇ ਤੁਹਾਡਾ ਇੱਕੇਲਾਂ ਤਜ਼ਰਬਾ ਦਹਾਕਾ-ਪੁਰਾਣੇ ਕੋਡਬੇਸ ਨਾਲ ਹੀ ਸੀ। ਮੁੱਦਾ ਇਹ ਹੈ ਕਿ ਭਾਸ਼ਾ ਨੂੰ ਉਸ ਤਰੀਕੇ ਤੋਂ ਵੱਖ ਕਰੋ ਜਿਸ ਤਰੀਕੇ ਨਾਲ ਇਸਦੀ ਆਮ ਵਰਤੋਂ ਹੋਈ ਸੀ।
ਇਹ ਗੱਲ ਵਾਜਿਬ ਹੈ—ਖ਼ਾਸ ਕਰਕੇ ਜੇ ਤੁਸੀਂ PHP ਨੂੰ ਇਸਦੇ ਸਭ ਤੋਂ ਪੁਰਾਣੇ built-in ਫੰਕਸ਼ਨਾਂ ਦੇ਼ ਆਧਾਰ 'ਤੇ ਅੰਕਲੋਚ ਕਰਦੇ ਹੋ। ਨਾਮ, ਪੈਰਾਮੀਟਰ ਆਰਡਰ, ਅਤੇ ਰੀਟਰਨ ਵੈਲਯੂਜ਼ ਹਮੇਸ਼ਾ coherent ਸਿਸਟਮ ਦੇ ਤਹਿਤ ਨਹੀਂ ਬਣਾਏ ਗਏ।
ਕੀ ਬਦਲਿਆ ਹੈ: ਮੌਡਰਨ PHP ਵਿਕਾਸ ਅਕਸਰ ਚੰਗੇ ਡਿਜ਼ਾਇਨ ਕੀਤੇ ਗਏ ਲਾਇਬ੍ਰੇਰੀਆਂ ਅਤੇ ਫਰੇਮਵਰਕਾਂ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ, ਜਿਨ੍ਹਾਂ ਦੇ ਇੰਟਰਫੇਸ ਇਕਸਾਰ ਹੁੰਦੇ ਹਨ। ਦਿਨ-ਚੜ੍ਹਦਾ ਕੰਮ ਆਮ ਤੌਰ 'ਤੇ ਬਿਲਟ-ਇਨ ਫੰਕਸ਼ਨਾਂ 'ਤੇ ਨਹੀਂ, ਬਲਕਿ Composer ਪੈਕੇਜ, ਟਾਈਪਡ ਕੋਡ, ਅਤੇ ਪੇਸ਼ਗੋਈਯੋਗ APIs 'ਤੇ ਹੁੰਦਾ ਹੈ।
ਇਹ ਵੀ ਵਾਜਿਬ ਹੈ—ਕਿਉਂਕਿ PHP ਸ਼ੁਰੂ ਕਰਨਾ ਆਸਾਨ ਸੀ, ਇਸ ਲਈ ਤੇਜ਼ ਫਿਕਸ, HTML ਨਾਲ ਮਿਲੀ-ਝੁਲੀ ਲੋਜਿਕ, ਅਤੇ ਟੈਸਟ ਛੱਡ ਕੇ نشر ਕਰਨ ਆਸਾਨ ਸੀ। ਕਈ ਲੰਬੇ-ਚੱਲਦੇ ਐਪਾਂ ਵਿੱਚ ਉਹ ਇਤਿਹਾਸਕ ਰੇਖਾਵਾਂ ਅਜੇ ਵੀ ਹਨ।
ਪਰ "ਲੈਗੇਸੀ PHP" ਅਤੇ "PHP" ਇਕੋ ਚੀਜ਼ ਨਹੀਂ ਹਨ। ਇੱਕ ਗੰਦਾ ਕੋਡਬੇਸ ਕਿਸੇ ਵੀ ਭਾਸ਼ਾ ਵਿੱਚ ਹੋ ਸਕਦਾ ਹੈ; PHP ਕੋਲ ਬਸ ਬਹੁਤ ਸਾਰੇ ਪੁਰਾਣੇ ਪ੍ਰੋਜੈਕਟ ਹਨ ਜੋ ਅਜੇ ਵੀ ਰੈVenue ਉਤਪੰਨ ਕਰ ਰਹੇ ਹਨ।
ਇਹ ਦਾਅਵਾ ਅਕਸਰ ਪੁਰਾਣਾ ਹੈ। ਬਹੁਤ ਸਾਰੀਆਂ ਸੁਸਤ ਸਾਈਟਾਂ ਸੁਸਤ ਹਾਂ ਕਿਉਂਕਿ ਡੇਟਾਬੇਸ ਕਵੈਰੀਜ਼, ਪਲੱਗਇਨ, ਜਾਂ ਅਣੁਕੂਲ ਐਪ ਲੌਜਿਕ ਦੀ ਵਜ੍ਹਾ ਨਾਲ ਹਨ—ਰਨਟਾਈਮ ਦੀ ਵਜ੍ਹਾ ਨਾਲ ਨਹੀਂ।
ਜੇ ਤੁਸੀਂ ਮੌਡਰਨ PHP (OPcache ਇਨੇਬਲ ਹੋ ਕੇ) ਨੂੰ ਪੁਰਾਣੇ 2000s ਸੈੱਟਅੱਪਾਂ ਨਾਲ ਤੁਲਨਾ ਕਰੋਂਗੇ ਤਾਂ ਤੁਸੀਂ ਇੱਕੋ ਹੀ ਚੀਜ਼ ਨਹੀਂ ਤੋਲ ਰਹੇ।
ਪ੍ਰਾਇਕਟਿਕ ਸੁਧਾਰ ਪ੍ਰਕਿਰਿਆ ਹੈ, ਨਾ ਕਿ ਹੀਰੋਇਕ ਕਾਰਵਾਈ: ਕੋਡਿੰਗ ਮਿਆਰ ਅਪਣਾਓ, ਕੋਡ ਰਿਵਿਊ ਲਾਜ਼ਮੀ ਕਰੋ, ਸਭ ਤੋਂ ਜੋਖਮ ਵਾਲੇ ਹਿੱਸਿਆਂ 'ਤੇ ਟੈਸਟ ਜੋੜੋ, ਅਤੇ ধੀਰੇ-ਧੀਰੇ ਅਪਗ੍ਰੇਡ ਕਰੋ (PHP ਵਰਜ਼ਨਾਂ ਨੂੰ ਅਪਗ੍ਰੇਡ ਕਰੋ, Composer ਲਿਆਓ, ਅਤੇ ਮੌਡੀਊਲ ਰੀਫੈਕਟਰ ਕਰੋ ਰੀਰਾਈਟ ਨਾ ਕਰੋ)।
PHP ਇੱਕ ਮਜ਼ਬੂਤ ਚੋਣ ਹੈ ਜਦੋਂ ਤੁਸੀਂ ਤੇਜ਼ੀ ਨਾਲ ਇੱਕ ਭਰੋਸੇਯੋਗ ਵੈੱਬ ਉਤਪਾਦ ਸ਼ਿਪ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਜਿਸਦੀ ਹੋਸਟਿੰਗ ਅਤੇ ਭਰਤੀ ਪ੍ਰਾਪਤੀ ਅਨੁਮਾਨਯੋਗ ਹੋ। ਇਹ ਖ਼ਾਸ ਕਰਕੇ ਉਹਨਾਂ ਪ੍ਰੋਜੈਕਟਾਂ ਲਈ ਦਿਲਚਸਪ ਹੈ ਜੋ "ਪੇਜ ਬਣਾ, ਡੇਟਾ ਸਟੋਰ ਕਰ, ਯੂਜ਼ਰ ਮੈਨੇਜ ਕਰ, ਭੁਗਤਾਨ/CRM ਨਾਲ ਜੋੜ, ਅਤੇ ਐਡਮਿਨ ਅਨੁਭਵ ਸਧਾਰਣ ਰੱਖ" ਵਰਗੇ ਵੀਸ਼ਿਆਂ 'ਤੇ ਆਧਾਰਤ ਹਨ।
ਕਈ ਟੀਮਾਂ ਲਈ, PHP ਸਭ ਤੋਂ ਵਧੀਆ ਹੈ:
ਜੇ ਤੁਸੀਂ WordPress ਦੀ ਲੋੜ ਹੈ, ਤਾਂ PHP ਡਿਫੌਲਟ ਚੋਣ ਹੈ: ਕਸਟਮ ਥੀਮ, ਪਲੱਗਇਨ, ਅਤੇ ਇੰਟੀਗ੍ਰੇਸ਼ਨ ਇੱਕੋ ਇਕੋ ਇਕੋਸਿਸਟਮ ਦਾ ਹਿੱਸਾ ਹਨ।
ਜੇ ਤੁਸੀਂ ਇੱਕ ਢਾਂਚਾਬੱਧ ਐਪ ਚਾਹੁੰਦੇ ਹੋ ਪਰ WordPress ਨਹੀਂ ਲੈਣਾ, ਤਾਂ Laravel ਅਤੇ Symfony ਮਜ਼ਬੂਤ ਕੰਵੈਂਸ਼ਨ, Composer ਰਾਹੀਂ dependency management, ਅਤੇ ਇੱਕ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਕਮਿਊਨਿਟੀ ਦਿੰਦੇ ਹਨ—ਉਪਯੋਗੀ ਜਦੋਂ ਤੁਸੀਂ ਉਮੀਦ ਰੱਖਦੇ ਹੋ ਕਿ ਕੋਡਬੇਸ ਵਧੇਗਾ।
PHP ਕਮਜ਼ੋਰ ਹੋ ਸਕਦਾ ਹੈ:
ਪੁੱਛੋ:
ਜੇ ਜ਼ਿਆਦਾਤਰ ਜਵਾਬ "ਹਾਂ" ਹੈ, ਤਾਂ PHP ਅਕਸਰ ਵਿਵਹਾਰਿਕ ਚੋਣ ਹੁੰਦੀ ਹੈ।
PHP ਦਾ ਭਵਿੱਖ ਚਮਕਦਾਰ ਪੁਨਰ-ਆਵਿਸ਼ਕਾਰ ਬਾਰੇ ਘੱਟ ਹੈ ਅਤੇ ਕ੍ਰਮਿਕ, ਲਾਭਦਾਇਕ ਤਰੱਕੀ ਬਾਰੇ ਵੱਧ: ਬਿਹਤਰ ਪ੍ਰਦਰਸ਼ਨ ਡਿਫਾਲਟ, ਸਾਫ਼ ਟਾਈਪਿੰਗ, ਮਜ਼ਬੂਤ ਟੂਲਿੰਗ, ਅਤੇ ਵੱਡੇ ਫਰੇਮਵਰਕਾਂ ਅਤੇ ਹੋਸਟਾਂ ਵੱਲੋਂ ਜਾਰੀ ਸਮਰਥਨ।
ਭਵਿੱਖ-ਜ਼ਿਆਦਾ-ਟਿਕਾਊ ਬਣਾਉਣ ਲਈ ਸਭ ਤੋਂ ਵੱਡੀ ਚੀਜ਼ ਸਿਰਫ਼ PHP ਅਤੇ ਡੀਪੈਂਡੈਂਸੀਜ਼ ਨੂੰ ਅਪ-ਟੂ-ਡੇਟ ਰੱਖਣਾ ਹੈ। ਹਰ ਮਹੱਤਵਪੂਰਕ ਵਰਜ਼ਨ ਪੁਰਾਣੀਆਂ ਰੀਤਾਂ ਨੂੰ ਸਾਫ਼ ਕਰਦਾ ਅਤੇ ਗਤੀ ਸੁਧਾਰਦਾ ਹੈ, ਪਰ ਟੀਮਾਂ ਨੂੰ ਉਹ ਲਾਭ ਮਿਲਦੇ ਹਨ ਜਦੋਂ ਉਹ ਅਪਗ੍ਰੇਡਿੰਗ ਨੂੰ ਰੁਟੀਨ ਪ੍ਰੋਜੈਕਟ ਵਾਂਗ ਨਹੀਂ ਦੇਖਦੀਆਂ।
ਇੱਕ ਪ੍ਰਾਇਕਟਿਕ ਰਣਨੀਤੀ ਛੋਟੇ ਕਦਮਾਂ ਵਿੱਚ ਅਪਗ੍ਰੇਡ ਕਰਨ ਦੀ ਹੈ (ਉਦਾਹਰਨ: 7.4 → 8.0 → 8.1/8.2/8.3), ਆਪਣੀ CI ਪਾਈਪਲਾਈਨ ਵਰਤਕੇ ਤੋੜ-ਫੋੜ ਪਹਿਲਾਂ ਹੀ ਖੋਜੋ। ਮੌਡਰਨ ਫਰੇਮਵਰਕ (Laravel, Symfony) ਅਤੇ Composer ਇਹ ਸੰਭਵ ਬਣਾਉਂਦੇ ਹਨ, ਪਰ ਸਿਰਫ਼ ਜੇ ਤੁਸੀਂ ਉਨ੍ਹਾਂ ਨੂੰ ਵੀ ਅਪ-ਟੂ-ਡੇਟ ਰੱਖਦੇ ਹੋ।
ਨਿਗਾਹ ਰੱਖੋ:
ਮੋਡਰਨਾਈਜ਼ੇਸ਼ਨ ਨੂੰ ਛੋਟੇ, ਵਾਪਸੀਯੋਗ ਬਦਲਾਵਾਂ ਵਜੋਂ ਲਓ:
PHP ਇਸ ਲਈ ਟਿਕਿਆ ਰਹਿੰਦਾ ਹੈ ਕਿਉਂਕਿ ਇਹ ਵਿਆਪਕ ਤੌਰ 'ਤੇ ਤਿਆਰ ਕਰਨਯੋਗ ਹੈ, ਵਧੀਆ ਸਮਰਥਨ ਹੈ, ਅਤੇ ਅਜੇ ਵੀ ਉਹੀ ਜਗ੍ਹਾ 'ਤੇ ਸੁਧਾਰ ਕਰ ਰਿਹਾ ਹੈ ਜਿੱਥੇ ਗੱਲ ਹਕੀਕਤੀ ਦੁਨੀਆ ਦੀ ਵੈੱਬ ਡਿਲਿਵਰੀ ਦੀ ਆਉਂਦੀ ਹੈ। ਸਮਝਦਾਰੀ ਨਾਲ ਇਸਦਾ ਵਰਤੋਂ ਕਰੋ: ਮੌਜੂਦਾ ਰੱਖੋ, ਮਜ਼ਬੂਤ ਫਰੇਮਵਰਕਾਂ ਅਤੇ ਟੂਲਿੰਗ 'ਤੇ ਨਿਰਭਰ ਰਹੋ, ਅਤੇ ਧੀਰੇ-ਧੀਰੇ ਮੋਡਰਨਾਈਜ਼ੇਸ਼ਨ ਕਰੋ ਤਾਂ ਜੋ ਤੁਹਾਡਾ ਕਾਰੋਬਾਰ ਚੱਲਦਾ ਰਹੇ।
ਨਹੀਂ। ਇਹ ਵਾਕਯਾਓ ਆਮ ਤੌਰ 'ਤੇ ਇਹ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ PHP ਫੈਸ਼ਨਬਲ ਚੋਇਸ ਨਹੀਂ ਰਹੀ, ਨਾ ਕਿ ਇਹ ਇਸਤੇਮਾਲ ਨਹੀਂ ਹੁੰਦੀ। PHP ਅਜੇ ਵੀ ਵੱਡੀ ਮਾਤਰਾ ਵਿੱਚ ਪ੍ਰੋਡਕਸ਼ਨ ਟਰੈਫਿਕ ਚਲਾਉਂਦਾ ਹੈ—ਖ਼ਾਸ ਕਰਕੇ WordPress ਰਾਹੀਂ—ਅਤੇ ਹੋਸਟਾਂ ਅਤੇ ਪਲੇਟਫਾਰਮਾਂ ਵੱਲੋਂ ਵਿਆਪਕ ਤੌਰ 'ਤੇ ਸਮਰਥਿਤ ਹੈ।
ਇੱਧਰ ਆਮ ਤੌਰ 'ਤੇ ਇਤਿਹਾਸ ਅਤੇ ਧਾਰਣਾ ਦਾ ਹਿੱਸਾ ਹੁੰਦਾ ਹੈ:
“ਮੌਡਰਨ PHP” ਆਮ ਤੌਰ 'ਤੇ PHP 8+ ਅਤੇ ਮੌਜੂਦਾ ਇਕੋਸਿਸਟਮ ਅਭਿਆਸਾਂ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ:
ਜਿਆਦਾਤਰ ਪرفਾਰਮਨਸ ਦੀਆਂ ਧਾਰਣਾਵਾਂ ਪੁਰਾਣੀਆਂ ਹਨ। ਅਸਲੀ ਰਫ਼ਤਾਰ ਪੂਰੇ ਸਟੈਕ ਤੇ ਨਿਰਭਰ ਕਰਦੀ ਹੈ, ਪਰ PHP ਬਹੁਤ ਤੇਜ਼ ਹੋ ਸਕਦਾ ਹੈ ਜਦੋਂ ਤੁਸੀਂ:
OPcache PHP ਦੇ ਪੀਸਕੰਪਾਇਲਡ ਬਾਈਟਕੋਡ ਨੂੰ ਮੈਮੋਰੀ ਵਿੱਚ ਕੈਸ਼ ਕਰਦਾ ਹੈ ਤਾਂ ਕਿ PHP ਨੂੰ ਹਰ ਬੇਨਤੀ 'ਤੇ ਫਾਇਲਾਂ ਨੂੰ ਮੁੜ-ਪਾਰਸ ਅਤੇ ਕਮਪਾਇਲ ਨਾ ਕਰਨਾ ਪਏ। ਬਹੁਤ ਸਾਰੀਆਂ ਐਪਾਂ ਲਈ ਇਹ ਸਭ ਤੋਂ ਵੱਡੀ “ਮੁਫ਼ਤ” ਖੱਟ ਹੁੰਦੀ ਹੈ:
ਕਈ ਵਾਰੀ, ਪਰ ਆਮ ਤੌਰ 'ਤੇ ਸਧਾਰਣ ਵੈੱਬ ਪੰਨਿਆਂ ਲਈ ਨਹੀਂ। PHP 8 ਦਾ JIT CPU-ਭਾਰੀ ਵਰਕਲੋਡ (ਜਿਵੇਂ ਕਿ ਇਮੇਜ ਪ੍ਰੋਸੈਸਿੰਗ, ਨੰਬਰ ਸੰਬੰਧੀ ਕੰਮ, ਲੰਬੇ ਰਨ ਕਰਨ ਵਾਲੇ ਵਰਕਰ) ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ। ਬਹੁਤ ਸਾਰੀਆਂ ਵੈੱਬ ਬੇਨਤੀਆਂ ਡੇਟਾਬੇਸ ਅਤੇ ਨੈੱਟਵਰਕ I/O ਨਾਲ ਬੰਦੀ ਹੁੰਦੀਆਂ ਹਨ, ਇਸ ਲਈ JIT ਅਕਸਰ ਯੂਜ਼ਰ-ਦੇਖਣ ਯੋਗ ਪ੍ਰਭਾਵ ਘੱਟ ਦਿਖਾਉਂਦਾ ਹੈ।
Composer PHP ਦੀ ਡੀਪੈਂਡੈਂਸੀ ਮੈਨੇਜਰ ਹੈ। ਇਹ ਤੁਹਾਨੂੰ ਪੈਕੇਜਾਂ ਦਾ ਐਲਾਨ ਕਰਨ, ਵਰਜ਼ਨਾਂ ਲਾਕ ਕਰਨ, ਅਤੇ ਬਿਲਡ ਨੂੰ ਦੁਹਰਾਉਣਯੋਗ ਬਣਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ—ਪੁਰਾਣੇ “ਲਾਇਬ੍ਰੇਰੀ ਫਾਇਲਾਂ ਨੂੰ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਨਕਲ ਕਰੋ” ਦੇ ਢੰਗ ਦੀ ਥਾਂ। ਅਮਲੀ ਤੌਰ 'ਤੇ, ਇਹ ਆਧੁਨਿਕ ਵਰਕਫਲੋਜ਼ ਨੂੰ ਯੋਗ ਬਣਾਉਂਦਾ ਹੈ: ਆਟੋਲੋਡਿੰਗ, ਛੋਟੀਆਂ ਫਿਰ-ਉਪਯੋਗ ਲਾਇਬ੍ਰੇਰੀਆਂ, ਅਤੇ ਸੁਰੱਖਿਅਤ ਅਪਗ੍ਰੇਡ।
PSR ਮਿਆਰ ਇਕੋਸਿਸਟਮ ਵਿੱਚ ਇੰਟਰਫੇਸਾਂ ਨੂੰ ਸਧਾਰਨ ਕਰਦੇ ਹਨ (ਆਟੋਲੋਡਿੰਗ, ਲਾਗਿੰਗ, HTTP ਸੁਨੇਹੇ, ਕੰਟੇਨਰ ਆਦਿ)। ਇਹਨਾਂ ਨਾਲ ਲਾਇਬ੍ਰੇਰੀਆਂ ਇੰਟਰਆਪਰੇਬਲ ਬਣ ਜਾਂਦੀਆਂ ਹਨ ਅਤੇ ਲੌਕ-ਇਨ ਘਟਦਾ ਹੈ:
PHP ਓਸ ਸਮੇਂ ਚੰਗਾ ਚੋਣ ਹੋ ਸਕਦਾ ਹੈ ਜਦੋਂ ਤੁਸੀਂ ਇੱਕ ਭਰੋਸੇਮੰਦ ਵੈੱਬ ਪ੍ਰੋਡਕਟ ਤੇਜ਼ੀ ਨਾਲ ਤਿਆਰ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਜਿਸ ਦੀ ਹੋਸਟਿੰਗ ਅਤੇ ਭਰਤੀ ਪ੍ਰਤੀਕੂਲ/ਪ੍ਰਕੀਤ ਹੈ:
Laravel/Symfony ਵਰਗੇ ਫਰੇਮਵਰਕ ਉਹ ਵੇਲੇ ਵਧੀਆ ਹਨ ਜਦੋਂ ਤੁਹਾਨੂੰ CMS ਵਰਗੀ ਚੀਜ਼ ਨਹੀਂ ਚਾਹੀਦੀ ਪਰ ਇੱਕ ਢਾਂਚਾਬੱਧ ਐਪ ਚਾਹੀਦਾ ਹੈ।
ਹਲਕੀ ਕਦਮਬਦਬਦੀ ਮੋਡਰਨਾਈਜ਼ੇਸ਼ਨ ਕਰੋ ਨਾ ਕਿ ਰੀਰਾਈਟਾਂ ਛੱਲੋ:
ਇਸ ਨਾਲ ਜੋਖਮ ਘੱਟ ਹੁੰਦਾ ਹੈ ਅਤੇ ਰੱਖ-ਰਖਾਅ ਤੇ ਸੁਰੱਖਿਆ ਬਿਹਤਰ ਹੁੰਦੀ ਹੈ।