Introduction to PHP (ver 8.x): role of PHP in server-side web development; history and evolution; installation and configuration using XAMPP/WAMP; setting up the development environment using VS Code

PHP એ પરંપરાગત server-side ભાષા છે: એ server પર ચાલે છે, HTML બનાવે છે અને page browser ને મોકલે છે, અને આ પાઠ XAMPP ગોઠવી આપે છે જેથી તમે તમારી પહેલી .php file ચલાવી શકો.

10 min read · 10 cards · 2 checks

Read in: English · हिन्दी · ગુજરાતી


Theory

તમારો code ક્યાં ચાલે છે એ અગત્યનું છે

BCA405-01 માં તમારું JavaScript browser માં, વિદ્યાર્થીના ફોન પર ચાલતું હતું. પછી Node.js એ JavaScript ને એને બદલે SERVER પર ચલાવવા દીધું. PHP એ ભાષા છે જેણે Node હતું જ નહીં એ પહેલાં server બાજુના web programming ને મુખ્યધારામાં લાવ્યું, અને આજે પણ વેબનો મોટો હિસ્સો એના પર ચાલે છે.

આ સત્રમાં તમે PHP માં login સાથેનું નાનું event-registration portal બનાવશો. પણ PHP નો એક નિયમ પહેલા જ દિવસે દરેક નવા શીખનારને ગૂંચવે છે: એ SERVER પર ચાલે છે, browser માં નહીં, એટલે તમે .php file પર બે વાર click કરીને એ ચાલશે એવી આશા રાખી ન શકો. આ પાઠ એ શા માટે એ સમજાવે છે અને તમારી ગોઠવણ કરી આપે છે.

Theory

PHP, ઔપચારિક રીતે

PHP (PHP: Hypertext Preprocessor) એ web development માટેની વ્યાપકપણે વપરાતી, open-source, server-side scripting ભાષા છે.

એને ઓળખાવતો શબ્દ છે server-side: web server તમારો PHP નો code ચલાવે છે, જે સામાન્ય રીતે HTML બનાવે છે, અને browser ને ફક્ત તૈયાર HTML જ મોકલે છે. Browser તમારો PHP કદી જોતું નથી.

એક લીટીમાં ઇતિહાસ: Rasmus Lerdorf એ 1994 ની આસપાસ એ બનાવ્યું, પછી એ PHP 5 અને ઘણી વધુ ઝડપી PHP 7 થઈને આજના PHP 8.x સુધી પહોંચ્યું (JIT compiler, match expressions, named arguments અને બીજું ઘણું). એની ભૂમિકા: dynamic pages, form ની પ્રક્રિયા, અને database પર ચાલતી sites: એટલે કે બરાબર એ જ જે event portal ને જોઈએ છે.

Theory

રસોડું અને થાળી

Browser ને જમનાર અને server ને રસોડું સમજો.

Client બાજુનું JavaScript એટલે થાળીને ટેબલ પર જ શણગારવી. Server બાજુનું PHP એ રસોડું છે: રસોઈ નજર બહાર થાય છે, અને જમનાર સુધી ફક્ત તૈયાર વાનગી (HTML) જ પહોંચે છે. ગ્રાહક વાનગીની રીત, કાચી સામગ્રી, કે રસોડાએ જોયેલું database કદી જોતો નથી. આ છુપી અમલબજાવણીને લીધે જ PHP databases અને ગુપ્ત વસ્તુઓ સાથે સલામત રીતે વાત કરી શકે છે: browser ને તો હંમેશા પીરસાયેલું પરિણામ જ મળે છે.

Practical

hello.php: HTML માં ગોઠવાયેલું PHP

<!DOCTYPE html>
<html>
<body>
  <h1>Event Portal</h1>

  <?php
    // Everything between <?php and ?> runs on the SERVER
    echo "<p>Welcome! Server time is " . date("H:i") . "</p>";
  ?>

  <p>This line is plain HTML.</p>
</body>
</html>

Follow along

XAMPP થી ગોઠવણ કરવી

  1. XAMPP (કે WAMP) install કરો એ Apache web server, PHP અને MySQL/MariaDB ને એકસાથે બાંધી આપે છે: PHP ની site ને જોઈતું બધું એક જ install માં.
  2. તમારી file htdocs માં મૂકો hello.php ને XAMPP ના htdocs folder ની અંદર સાચવો. Apache આ જ folder માંથી પીરસે છે.
  3. Apache ચાલુ કરો XAMPP નું control panel ખોલો અને Apache ચાલુ કરો (અને database જોઈએ ત્યારે MySQL પણ).
  4. એને localhost દ્વારા ખોલો Browser માં http://localhost/hello.php ખોલો. Apache PHP ચલાવે છે અને HTML પાછું આપે છે. File પર બે વાર click ન કરો.
  5. VS Code માં લખો તમારા સંપાદક તરીકે VS Code વાપરો (PHP extension સાથે); સાચવો, પછી ફેરફાર જોવા browser refresh કરો.

Quiz

એક વિદ્યાર્થી hello.php ને સીધું browser માં ખોલવા બે વાર click કરે છે, અને એને page ને બદલે કાચો PHP નો code લખાણ તરીકે દેખાય છે. શા માટે?

  1. PHP ની file બગડી ગઈ છે
  2. PHP server બાજુનું છે: એ web server (XAMPP વાળા Apache) દ્વારા ચાલવું જોઈએ અને http://localhost દ્વારા ખૂલવું જોઈએ, file તરીકે નહીં
  3. Browser માં PHP નું plugin install કરવું પડે
  4. PHP ફક્ત Chrome માં જ ચાલે છે
Show the answer

PHP server બાજુનું છે: એ web server (XAMPP વાળા Apache) દ્વારા ચાલવું જોઈએ અને http://localhost દ્વારા ખૂલવું જોઈએ, file તરીકે નહીં

PHP SERVER પર ચાલે છે, એટલે file Apache દ્વારા પીરસાવી જોઈએ અને http://localhost/hello.php દ્વારા ખૂલવી જોઈએ; સીધી file તરીકે (file://) ખોલો ત્યારે PHP ચલાવનારો કોઈ server હોતો જ નથી, એટલે browser ફક્ત મૂળ લખાણ બતાવે છે. પહેલા દિવસની આ સૌથી મોટી ગૂંચવણ છે. વિકલ્પ A ખોટો છે (file સાબૂત જ છે). વિકલ્પ C એક ભ્રમ છે: browsers PHP ચલાવતાં જ નથી, plugin હોય કે ન હોય; server ચલાવે છે. વિકલ્પ D browser પરની કોઈ ઉપજાવેલી મર્યાદા છે. ઉપાય હંમેશા આ જ છે: Apache ચાલુ કરો, localhost દ્વારા ખોલો. Server બાજુનું એટલે server ચક્રમાં હોવો જ જોઈએ.

Think first

PHP કે Node: એક જ બાજુ, જુદી ભાષા

BCA405-01 માં તમે Node.js માં server લખ્યો હતો. હવે PHP પણ server બાજુનું છે. તો એ બંને વચ્ચે ખરેખર શું જુદું છે, અને કોઈ પ્રોજેક્ટ PHP કેમ પસંદ કરે? વિચારીને પછી tap કરો.

Show the answer

બંને SERVER પર ચાલે છે અને browser માટે responses બનાવે છે, એટલે એમની ભૂમિકા એક જ છે. ફરક ભાષા અને પરિવેશનો છે: Node event-loop વાળા model સાથે JavaScript ચલાવે છે (client અને server બંને પર એક જ ભાષા), જ્યારે PHP ખાસ વેબ માટે બનેલી ભાષા છે, પરંપરાગત રીતે Apache અને MySQL સાથે જોડાયેલી, અને WordPress જેવાં વિરાટ platforms એના પર ચાલે છે. કોઈ પ્રોજેક્ટ PHP ને એની પરિપક્વતા, hosting ની વિપુલ સગવડ, સહેલી ગોઠવણ (XAMPP) અને પહેલેથી હાજર વિશાળ codebase માટે પસંદ કરે. બેમાંથી કોઈ 'વધુ સારું' નથી: એ server બાજુના એક જ સવાલના 2 જવાબ છે. બંને જાણવાથી code ક્યાં ચાલવો જોઈએ એ બાબતે તમે લવચીક બનો છો.

Watch out

ગોઠવણના ફાંદા

.php files પર બે વાર click કરવું: quiz વાળી એ જ ભૂલ; હંમેશા http://localhost દ્વારા જાઓ.

ખોટું folder: htdocs ની બહારની files પીરસાતી નથી; Apache ને ફક્ત htdocs જ દેખાય છે.

Apache ચાલુ ન કરવું: XAMPP ના panel માં Apache ચાલુ ન થાય ત્યાં સુધી localhost જવાબ આપશે નહીં.

Port ની અથડામણ: port 80 પર બીજું કોઈ program હોય તો એ Apache ને રોકી શકે; XAMPP એ બતાવશે, અને તમે port બદલી શકો.

ફેરફાર કરીને refresh ન કરવું: PHP દરેક request પર નવેસરથી ચાલે છે; સાચવો, પછી browser ફરી load કરો.

Theory

Portal ની શરૂઆત અહીંથી

XAMPP ચાલુ છે અને hello.php પીરસાય છે, એટલે તમારું development નું ચક્ર ગોઠવાઈ ગયું: PHP લખો, સાચવો, localhost refresh કરો. આ unit નો દરેક પાઠ event portal માં એક ટુકડો ઉમેરે છે: પછી આવે છે ભાષાનું પાયાનું વ્યાકરણ (tags, echo, variables, comments), પછી data types, control flow અને arrays, અને registration ને ખરેખર પ્રક્રિયામાં લેવા $_GET તથા $_POST સાથે form handling. Server બાજુનું web development, એક સમયે એક page.

Summary

Key takeaways

  • PHP એ server બાજુની scripting ભાષા છે: server એને ચલાવે છે અને પરિણામરૂપ HTML browser ને મોકલે છે.
  • Browser તમારો PHP કદી જોતું નથી, ફક્ત તૈયાર output જ જુએ છે: એટલે જ PHP databases અને ગુપ્ત વસ્તુઓ સલામત રીતે સંભાળી શકે છે.
  • ઇતિહાસ: Rasmus Lerdorf એ (1990 ના દાયકાના મધ્યમાં) બનાવ્યું, પછી PHP 5, 7 થઈને આજના PHP 8.x સુધી વિકસ્યું.
  • XAMPP અને WAMP Apache, PHP તથા MySQL ને એકસાથે બાંધે છે; files ને htdocs માં મૂકો અને http://localhost દ્વારા ખોલો.
  • તમે .php file પર બે વાર click કરી શકતા નથી: એને ચાલુ web server દ્વારા જ પીરસાવી પડે.
  • Node.js (BCA405-01) જેવી જ server બાજુની ભૂમિકા, પણ ભાષા અને પરિવેશ જુદાં.
  • યાદ રાખવાની કડી: PHP એ રસોડું છે; browser ને ફક્ત પીરસાયેલી વાનગી જ મળે છે.

Study this properly

This page is the lesson to read. In Gri-Learn the same topic is a graded deck: the self-checks are scored and your weak topics are tracked. Free to start.

Start this topic

Already have an account? Sign in

More from Core PHP Programming

Gri-Learn · syllabus-mapped B.C.A. lessons in English, Hindi and Gujarati