పిహెచ్‌పి(PHP)
PHP: హైపెర్టెక్స్ట్ ప్రీప్రోసెసర్ (ఈ పేరు ఒక రికర్సివ్ ఆక్రానిం (పదం యొక్క ముందు అక్షరాలతో ఏర్పడ్డ సంక్షిప్త రూపం)) అనేది విస్తారంగా వినియోగించబడే సాధారణ-ఉపయోగ స్క్రిప్టింగ్ భాష, ఇది వాస్తవానికి గతిశీలాత్మక వెబ్ పేజీలను ఉత్పత్తి చెయ్యటానికి, వెబ్ అభివృద్ధి కొరకు తయారుచెయ్యబడింది. దీని కోసం, PHP సంకేతం HTML మూల డాక్యుమెంట్ లోకి నిక్షిప్తం చెయ్యబడింది, వెబ్ పేజి డాక్యుమెంట్ ని ఉత్పత్తి చేసే PHP ప్రాసెసర్ మాడ్యూల్ తో ఉన్న వెబ్ సర్వర్ చే అంచనా వెయ్యబడింది. ఒక సాధారణ ఉద్దేశ్య ప్రోగ్రామింగ్ భాష వలె, కావలసిన ఆపరేటింగ్ వ్యవస్థ చర్యలను చేస్తూ మరియు దాని యొక్క ప్రామాణిక అవుట్ పుట్ చానెల్ పై ప్రోగ్రామింగ్ అవుట్ పుట్ ను ఉత్పత్తి చేస్తూ కమాండ్-లైన్ లో ఉన్న అంచనా వేసే ఉపయోగం ద్వారా PHP సంకేతం ప్రాసెస్ చెయ్యబడుతుంది. గ్రాఫికల్ ఉపయోగం వలె కూడా పనిచెయ్యవచ్చును. చాలా ఆధునిక వెబ్ సర్వర్ లకి PHP ఒక ప్రాసెసర్ వలె అందుబాటులో ఉంటుంది మరియు చాలా ఆపరేటింగ్ వ్యవస్థలు మరియు కంప్యూటింగ్ వేదికలపై ఒక స్వతంత్ర పార్సర్ గా ఉంటుంది.
వాస్తవానికి PHP రాస్ముస్ లేర్దోర్ఫ్ చే 1995 లో ఉత్పత్తి చెయ్యబడింది మరియు అప్పటి నుండి నిరాటంకంగా అభివృద్ధి చెందుతూ ఉంది. PHP యొక్క ప్రధాన అమలు ఇప్పుడు PHP సమూహం చే ఉత్పత్తి చెయ్యబడుతున్నది మరియు ఎలాంటి అధికారిక నిర్దేశాలు లేకపోవటం వలన PHP కొరకు వాస్తవ ప్రామాణికం|"వాస్తవ" ప్రామాణికంగా సేవ చేస్తున్నది. "PHP" అనేది PHP ఉత్తర్వు క్రింద విడుదల చెయ్యబడిన ఒక ఉచిత సాఫ్ట్వేర్, PHP అను పదం యొక్క వినియోగం పై ఉన్న నిబంధనల వలన ఇది GNU జనరల్ పబ్లిక్ లైసెన్స్ (GPL)తో సంబంధం కలిగి ఉండదు.
వాస్తవానికి "PHP" అనగా "పర్సనల్ హోం పేజి" . ఇది 1994 లో డానిష్/గ్రీన్లాన్దిక్ ప్రోగ్రామర్ అయిన రాస్ముస్ లేర్దోర్ఫ్ చే C ప్రోగ్రామింగ్ లాంగ్వేజ్ లో వ్రాయబడిన కామన్ గేట్వే ఇంటర్ఫేజ్ (CGI) బైనరీస్ యొక్క జత. లేర్దోర్ఫ్ ప్రాథమికంగా ఈ పర్సనల్ హోం పేజి పనిముట్లను తాను తన వ్యక్తిగత హోం పేజిని నిర్వహించటానికి వినియోగిస్తున్న పెర్ల్ స్క్రిప్ట్స్ యొక్క చిన్న జత స్థానంలో పెట్టటానికి తయారుచేసాడు. ఆ పనిముట్లు అతని రెజ్యుమేను ప్రదర్శించటానికి మరియు అతని పేజీ యెంత ట్రాఫిక్ ను పొండుతున్నదో నమోదు చెయ్యటానికి వినియోగించాబడ్డాయి. అతను PHP/FI ను తయారు చెయ్యటానికి తన విధమైన అంచనాదారునితో ఈ బైనరీలను మిళితం చేసాడు, అది మరింత పనితనాన్ని కనబరిచింది. PHP/FI, C ప్రోగ్రామింగ్ భాష కొరకు ఒక పెద్ద అమలును కలిగి ఉంది మరియు సమాచార గిడ్డంగులతో సమాచార మార్పిడి చేస్తుంది, సరళమైన మరియు సాహసోపేతమైన వెబ్ అప్లికేషన్స్ నిర్మించటానికి అనుమతిస్తుంది. లేర్దోర్ఫ్ PHP ను ప్రజలకు 1995 జూన్ 8 న బగ్ ప్రదేశాన్ని వేగవంతం చెయ్యటానికి మరియు సంకేతాన్ని అభివృద్ధి చెయ్యటానికి విడుదల చేసాడు. ఈ విడుదల PHP వెర్షన్ 2 అని పిలువబడింది మరియు ఇప్పటికే PHP కలిగి ఉన్న ప్రాథమిక పనితనాన్ని కలిగి ఉంది. ఇది పెర్ల్-వంటి వేరియబుల్స్, ఫార్మ్ హ్యాండ్లింగ్ మరియు HTML ను నిక్షిప్తం చేసే సామర్ధ్యం కలిగి ఉంది.
ఇద్దరి ఇజ్రాయిల్ అభివృద్ధిదారులు అయిన జీవ్ సురస్కి మరియు అండీ గుత్మన్స్, Technion IIT, వద్ద 1997 లో పర్సేర్ ను తిరిగి వ్రాసారు మరియు PHP 3 యొక్క పునాదిని ఏర్పరిచారు, భాష యొక్క పేరును రికర్సివ్ ఇనీష్యలిజం "PHP: హైపర్టెక్స్ట్ ప్రీప్రాసెసర్"గా మార్పు చేసారు. అభివృద్ధి చేసిన జట్టు PHP/FI 2 ను నవంబరు 1997 న నెలలు పాటు చేసిన బీటా టెస్టింగ్ తరువాత అధికారికంగా విడుదల చేసింది. ఆ తరువాత PHP 3 యొక్క పబ్లిక్ టెస్టింగ్ మొదలయ్యింది మరియు అధికారికంగా జూన్ 1998న ప్రారంభించబడింది. అప్పుడు సురస్కి మరియు గుత్మన్స్ PHP యొక్క కేంద్ర భాగాన్ని తిరిగి వ్రాయటం ప్రారంభించారు మరియు 1999 లో జెండ్ ఇంజిన్ ను ఉత్పత్తి చేసారు. వారు రామాట్ గన్, ఇజ్రాయెల్ లో జెండ్ టెక్నాలజీస్ ను స్థాపించారు.
2008లో PHP 5 అభివృద్ధి చెందుతున్న ఏకైక స్థిరమైన వెర్షన్ గా మారింది. PHP లో లేట్ స్టాటిక్ బైండింగ్ లేదు మరియు అది 5.3 వెర్షన్ లో జత చెయ్యబడింది.
PHP 5తో పాటుగా PHP 6 అభివృద్ధి చెయ్యబడింది. ప్రధాన మార్పులు codice_1, మేజిక్ కోట్స్, మరియు సేఫ్ మోడ్ ల యొక్క తొలగింపును కలిగి ఉంది.
వీటిని తొలగించటానికి కారణం రిజిస్టర్_గ్లోబల్స్ భద్రతా లోపాలను ఇవ్వటం మరియు మేజిక్ కోట్స్ ఊహించటానికి వీలు లేని స్వభావం కలిగి ఉండటం మరియు అందువలన ఉత్తమమైనవి నివారించబడ్డాయి. లక్షణాలను తప్పించుకొనే బదులు మేజిక్ కోట్స్ స్థానంలో యాడ్ లాషేస్() పెట్టబడ్డాయి లేదా MySQL కొరకు mysql_రియల్_ఎస్కేప్_స్ట్రింగ్() వంటి సమాచార గిడ్డంగి అమ్మకందారుడికి ప్రత్యేకమైన తప్పించుకొనే విధానం పెట్టబడింది. PHP 6 లో తొలగించబడిన చర్యలు PHP 5.3లో ఉన్నాయి మరియు వాటిని వినియోగిస్తే ఒక హెచ్చరికను ఉత్పత్తి చేస్తాయి.
PHP 7 నేడు డెవలపర్లకు అంతిమ ఎంపిక. PHP7 వేగవంతమైన పనితీరు, తక్కువ వనరులు, స్కేలార్ టైప్ ప్రకటనలు, స్పేస్ షిప్ ఆపరేటర్, అనామక తరగతులు వంటి నూతన ఫీచర్లతో వస్తోంది.
చాలా ప్రాముఖ్యం ఉన్న బాహ్య-మూల ప్రాజెక్టులు 2008 ఫిబ్రవరి 5 నాటికి PHP 4 నుండి PHP 5 కి మార్పును ప్రోత్సహిస్తున్న PHP అభివ్రుద్దిదారుల సంఘంచే అందించబడిన GoPHP5 ముందడుగు వలన నూతన సంకేతంలో PHP 4 కి మద్దతు నిలిపివేశాయి.
ప్రస్తుతం PHP యూనికోడ్ లేదా మల్టిబైట్ స్ట్రింగ్స్ కి స్థానిక మద్దతు కలిగి లేదు; యూనికోడ్ మద్దతు PHP 6 లో చేర్చబడింది మరియు స్ట్రింగ్స్ ను అదే విధంగా తరగతిని, పద్ధతి మరియు చర్యల పేర్లను ASCII కాని లక్షణాలను కలిగి ఉండటానికి అనుమతిస్తుంది.
PHP అంచనాదారులు 32-బిట్ మరియు 64-బిట్ ఆపరేటింగ్ వ్యవస్థలు రెండింటిలో కూడా అందుబాటులో ఉన్నారు కానీ మైక్రోసాఫ్ట్ విండోస్ లో ఒక 64-బిట్ విండోస్ వేదిక పై ఇంటర్నెట్ సమాచార సేవలను (IIS) వినియోగిస్తున్నప్పుడు విండోస్ 32-బిట్ కంపాటబిలిటీ మోడ్ ను కోరుకొనేది ఒక 32-బిట్ అమలు అధికారిక పంపిణీ మాత్రమే. PHP 5.3.0 వలె MS Windows కొరకు ప్రయోగాత్మక 66-బిట్ వెర్షన్లు అందుబాటులో ఉన్నాయి.
! అర్ధం
PHP అనేది ముఖ్యంగా వెబ్ అభివృద్ధికి సరిపోయే సాధారణ-ఉద్దేశ్య స్క్రిప్టింగ్ భాష. PHP సాధారణంగా వెబ్ సర్వర్ పై పనిచేస్తుంది. సాధారణంగా సాహసోపెత వెబ్ పేజి సమాచారాన్ని ఉత్పత్తి చెయ్యటానికి అభ్యర్థించబడిన దస్త్రంలో ఏదైనా PHP సంకేతం PHP పనిచేయ్యు సమయం ద్వారా బయటకి తీసుకురాబడుతుంది. ఇది కమాండ్-లైన్ స్క్రిప్టింగ్ మరియు కక్షిదారుని-వైపు GUI అప్లికేషన్స్ కొరకు కూడా వినియోగించబడుతుంది. PHP చాలా వెబ్ సర్వర్లు, పలు ఆపరేటింగ్ వ్యవస్థలు మరియు వేదికలు పైన వ్యాప్తి చెందుతుంది మరియు చాలా సంబంధిత సమాచార గిడ్డంగి నిర్వహణ వ్యవస్థలతో కూడా వినియోగించవచ్చును. ఇది ఉచితంగా లభిస్తుంది వినియోగదారులు తమ సొంత ఉపయోగాలకి నిర్మించుకోవటానికి, వినియోగించుకోవటానికి మరియు విస్తరించటానికి మరియు PHP సమూహం పూర్తి మూల సంకేతాన్ని అందిస్తుంది.
PHP ఒక దస్త్రం నుండి లేదా టెక్స్ట్ కలిగి ఉన్న ప్రవాహం మరియు/లేదా PHP సూచనల నుండి ఇన్ పుట్ తీసుకోవటం మరియు సమాచారం యొక్క మరొక ప్రవాహానికి అవుట్ పుట్స్ ఇవ్వటం ద్వారా ప్రాథమికంగా ఒక ఫిల్టర్ వలె పనిచేస్తుంది. చాలా మటుకు అవుట్ పుట్ HTML అయి ఉంటుంది. PHP 4, PHP పార్సేర్ జెండ్ ఇంజిన్ ద్వారా ప్రాసెసింగ్ కొరకు బైట్ సంకేతాన్ని ఉత్పత్తి చెయ్యటానికి ఇన్ పుట్ ని స్వరపరుస్తుంది, దాని యొక్క అంచనావేసే ప్రీడేసేస్సర్ పై మెరుగైన పనితనాన్ని ఇస్తుంది.
వాస్తవానికి సాహసోపేత వెబ్ పేజీలను సృస్టించటానికి తయారుచెయ్యబడ్డ PHP ఇప్పుడు ప్రధానంగా సర్వర్-సైడ్ స్క్రిప్టింగ్ పై దృష్టి కేంద్రీకరించింది, మరియు ఇది ఒక కక్షిదారునికి వెబ్ సర్వర్ నుండి సాహసోపేత సమాచారాన్ని అందించే ఇతర సర్వర్-సైడ్ స్క్రిప్టింగ్ భాషల వలె ఉంటుంది, ఉదాహరణకి మైక్రోసాఫ్ట్ యొక్క యాక్తీవ్ సర్వర్ పేజీలు, సన్ మైక్రోసిస్టమ్స్' జావాసర్వర్ పేజీలు , మరియు mod perl. నిర్మాణ ఇటుకలను అందించే చాలా ఫ్రేం వర్క్స్ యొక్క అభివృద్ధిని మరియు రాపిడ్ అప్లికేషన్ డెవలప్మెంట్ (RAD) ను ప్రోత్సహించటానికి ఒక నమూనా నిర్మాణాలను కూడా PHP ఆకర్షించింది. వీరిలో కొన్ని CakePHP, Symfony, CodeIgniter, మరియు జెండ్ ఫ్రేంవర్క్, ఇవి ఇతర వెబ్ అప్లికేషను ఫ్రేంవర్క్స్ మాదిరిగా ఉన్న లక్షణాలను అందిస్తున్నాయి.
LAMP మరియు WAMP అంతర్గత నిర్మాణాలు వెబ్ అప్లికేషన్స్ ను వ్యాప్తి చేసే మార్గంగా వెబ్ పరిశ్రమలో ప్రసిద్ధి చెందాయి. Linux, Apache మరియు MySQL లతో పాటుగా ఈ కట్టలో PHP సాధారణంగా "P" వలె వినియోగించబడుతుంది, అయితే "P" అనేది Python లేదా Perl లేదా ఈ మూడింటి మిశ్రమంగా ఉంటుంది.
ఏప్రిల్ 2007 నాటికి దాదాపుగా 20 మిలియన్ల పైగా ఇంటర్నెట్ డోమయిన్లు PHP ఇన్స్టాల్ చెయ్యబడిన సర్వర్ల పై వెబ్ సేవలను అందుకుంటున్నాయి మరియు mod-Php బాగా ప్రసిద్ధి చెందిన Apache HTTP సర్వర్ మాడ్యూల్ వలె నమోదు చెయ్యబడింది.
పేస్ బుక్ యొక్క వినియోగదారుడిని ఎదుర్కొనే భాగం, వికీపీడియా (మీడియావికీ), యాహూ!, మైఇయర్బుక్, డిగ్గ్, జూమ్ల, eZ పబ్లిష్,వర్డ్ ప్రెస్, దాని యొక్క మొదటి స్థాయిలలో యు ట్యూబ్, డ్రుపాల్, టాగ్ద్ మరియు మూడుల్ వంటి ప్రముఖ వేసైట్లు PHP లోనే వ్రాయబడ్డాయి.
జాతీయ లోపాల సమాచార గిడ్డంగి కంప్యూటర్ సాఫ్ట్వేర్ లో కనిపించిన అన్ని లోపాలను నిల్వ చేస్తుంది.
ఈ సమాచార గిడ్డంగిలో ఉన్న PHP సంబంధిత లోపాల యొక్క మొత్తం భాగం: 2004లో 20%, 2005లో 28%, 2006లో 43%, 2007లో 36%, 2008లో 35% మరియు 2009లో 30%గా ఉంది. వీటిలో చాలా మటుకు PHP లోపాలు సుదూరంగా వేలికితియ్యబడవచ్చు: అవి వెబ్ సర్వర్ కి అనుసంధానించబడిన సమాచార మూలాల నుండి సమాచారాన్ని దొంగలించటానికి లేదా నాశనం చెయ్యటానికి (SQL సమాచార గిడ్డంగి వంటివి), స్పాం పంపించటానికి లేదా దాడికి గురైన సర్వర్లో తనంతట తాను స్థాపించుకొనే మాల్వేర్ ను ఉపయోగించుకొని DoS దాడులకి సహాయం చెయ్యటానికి క్రేకర్స్ కి అనుమతిస్తాయి.
ఈ లోపాలు చాలా మటుకు ఉత్తమ ఆచరణ ప్రోగ్రామింగ్ నియమాలు పాటించకపోవటం వలన జరుగుతాయి: భాష లేదా దాని యొక్క కేంద్ర గ్రంథాలయాల సాంకేతిక భద్రతా లోపాలు అనేవి చాలా అరుదు (2008లో 23, మొత్తంలో దాదాపుగా 1%).
ప్రోగ్రామర్లను విశ్వసించలేము అని గుర్తించిన తరువాత కొన్ని భాషలు, చాలా విషయాలను చేర్చే ఇన్పుట్ సాధికారిత లేకపోవటాన్ని తనంత తానూ గుర్తించే వినాశన పరీక్షను కలిగి ఉన్నాయి.
అలాంటి ఒక లక్షణం PHP కొరకు అభివృద్ధి చెయ్యబడుతుంది, కానీ గడిచిన కాలంలో ఒక విడుదలలో దీని చేరిక పలుమార్లు తిరస్కరించబడింది.
ఒక సర్వర్ పై PHP అప్లికేషన్ లకి ఆతిధ్యం ఇవ్వటానికి ఇలాంటి భద్రతాపరమైన అపాయాలను ఎరుర్కొవటానికి 
వాటి పై జాగ్రత్తైన మరియు స్థిరమైన దృష్టి అవసరం.
వెబ్ ఆతిధ్య పర్యావరణంలకు సుహోసిన్ మరియు దృఢపరిచే-ప్యాచ్ వంటి అధునాతన రక్షణ ప్యాచ్ లు ఉన్నాయి.
PHP కేవలం దాని యొక్క ఆద్యంతాలలో మాత్రమే సంకేతాన్ని కావలసిన విధంగా విభజిస్తుంది. దాని యొక్క ఆద్యంతాలు బయట ఉన్న ఏదైనా నేరుగా ఉఒట్ పుట్ కి పంపబడుతుంది మరియు PHPచే ప్రాసెస్ చెయ్యబడదు, ఏది ఏమయినప్పటికీ PHP కాని వచనం ఇప్పటికీ PHP సంకేతంలో వర్ణించబడిన నియంత్రణ నిర్మాణాలకి గురవుతుంది. codice_2 అనేవి చాలా సాధారణ ఆద్యంతాలు.codice_3 to open and codice_4codice_5 అనేది PHP విభాగాలను మూసివేయ్యతానికి వినియోగించబడుతుంది. codice_6 మరియు codice_7 ఆద్యంతాలు కూడా చిన్నవి చెయ్యబడిన రూపాలు codice_2 వలె అందుబాటులో ఉంటాయి లేదాcodice_9 (ఒక స్ట్రింగ్ లేదా వేరియబుల్ ను వెనక్కి పంపటానికి వినియోగించబడుతుంది) మరియు codice_4codice_5 అదే విధంగా ASP-స్టైల్ చిన్న రూపాలు codice_12 లేదా codice_13 మరియు codice_14. అయితే చిన్న ఆద్యంతాలు వినియోగించబడినప్పుడు PHP అమరికలో వాటి ఉద్దేశం పనిచెయ్యకుండా అయ్యే అవకాశం ఉండటం వలన అవి స్క్రిప్ట్ దస్త్రాలను తక్కువ పోర్టబుల్ గా చేస్తాయి మరియు అందువలన అవి నిరుత్సాహపరచబడతాయి. అన్ని ఆద్యంతాల యొక్క ఉద్దేశం ఏంటంటే HTML తో పాటుగా PHP సంకేతాన్ని PHP కాని సంకేతం నుండి వేరుచెయ్యటం.
ఆద్యంతాల యొక్క మొదటి రూపం, codice_2codice_3 మరియు codice_4XHTML లో codice_5 మరియు ఇతర XML డాక్యుమెంట్లు, సరిగా ఏర్పడిన XML 'ప్రాసెసింగ్ సూచనల'ను ఉత్పత్తి చేస్తాయి. PHP సంకేతం మరియు సర్వర్ వైపు ఫైల్ లో ఉన్న ఇతర మార్కప్ ల ఫలితంఫా వచ్చే మిశ్రమం అనేది బాగా-ఏర్పడిన XML అని దీని అర్ధం.
వేరియబుల్స్ వాటి ముందు డాలర్ గుర్తును కలిగి ఉంటాయి మరియు దాని రకం ముందస్తుగా నిర్దేశించబడవలసిన అవసరం లేదు. చర్య మరియు తరగతి పేర్లు వలె కాకుండా వేరియబుల్ పేర్లు కేస్ సెన్సిటీవ్. డబుల్ కోటెడ్ (codice_19) మరియు హీరేదోక్ స్ట్రింగ్స్ ఒక వేరియబుల్ విలువను స్త్రీంగ్ లోకి నిక్షిప్తం చెయ్యటానికి సామర్ధ్యానికి అనుమతిస్తాయి. ఒక స్వేచ్ఛ-విధాన భాష వలె PHP నూతన రేఖలను తెల్లని ఖాళీలుగా భావిస్తుంది (స్ర్టింగ్ కోట్స్ లోపల ఉన్నప్పుడు తప్ప) మరియు వాంగ్మూలాలు ఒక సెమికోలన్ ద్వారా నిలిపివెయ్యబడతాయి. PHP మూడు రకాల కామెంట్ సింటెక్స్ కలిగి ఉంటుంది: codice_20 మార్క్స్ బ్లాక్ మరియు ఇన్లైన్ కామెంట్స్; codice_21 అదే విధంగా codice_22 మొదలైనవి వాన్-లైన్ కామెంట్స్ కొరకు వినియోగించాబడతాయి. అవుట్ పుట్ టెక్స్ట్ కొరకు PHP అందించే పలు సౌలభ్యాలలో echo వాంగ్మూలం కూడా ఒకటి (e.g. ఒక వెబ్ బ్రౌజరు కోసం).
కీవర్డ్స్ మరియు భాష సింటెక్స్ వంటి విషయాలలో, PHP, C స్టైల్ సింటెక్స్ అనుసరించే చాలా పై స్థాయి భాషల వలె ఉంటుంది. codice_23 నియమాలు, codice_24 మరియు codice_25 లూప్స్, మరియు తిరిగి వచ్చే చర్యలు వంటివి C, C++, Java మరియు Perl వంటి సింటెక్స్ భాషలలో వలె ఉంటాయి.
PHP పూర్ణ సంఖ్యలను ఒక వేదిక ఆధారిత పరిధిలో నిల్వ చేస్తుంది. ఈ పరిధి సంక్లిష్టంగా 32-బిట్ సంకేతాలు కలిగి ఉన్న ఇంటిజర్స్. నిర్దిష్ట పరిస్థితులలో సకేతాలు లేని ఇంటిజర్స్ సంకేతాలు ఉన్న విలువలలోకి మార్చబడతాయి; ఈ ప్రవర్తన ఇతర ప్రోగ్రామింగ్ భాషల కంటే వైవిధ్యంగా ఉంటుంది. డెసిమల్ (పాజిటివ్ మరియు నెగటివ్), ఆక్టల్, మరియు హెక్సాడెసిమల్ నోటేషన్లు వినియోగించటం ద్వారా ఇంటిజర్ వేరియబుల్స్ ను కేటాయించవచ్చును. ఫ్లోటింగ్ పాయింట్ సంఖ్యలు కూడా ఒక నిర్దేశ వేదిక పరిధిలో నిల్వ చెయ్యబడతాయి. ఫ్లోటింగ్ పాయింట్ నోటేషన్ లేదా శాస్త్రీయ నోటేషన్ యొక్క రెండు రూపాలు వినియోగించటం ద్వారా అవి నిర్దేశింపబడవచ్చును. Java మరియు C++ లలో ఉన్న స్థానిక బూలియన్ రకాల వలె ఉన్న ఒక స్థానిక బూలియన్ రకాన్ని PHP కలిగి ఉంది. Perl మరియు C++లో వలె బూలియన్ రకపు తర్జుమా నియమాల వినియోగం వలన సున్నాయేతర విలువలు వాస్తవంగా మరియు సున్నా తప్పుగా అంచనా వెయ్యబడతాయి. నల్ సమాచార రకం విలువ లేని ఒక వేరియబుల్ ని సూచిస్తుంది. నల్ సమాచార రకంలో ఉన్న ఏకైన విలువ "NULL" . "వనరుల" రకానికి చెందినా వేరియబుల్స్ బాహ్య మూలాల నుండి వనరులకి సూచనలను ఇస్తాయి. ఇవి సంక్లిష్టంగా ఒక నిర్దిష్ట పొడిగింపు ద్వారా ఉత్పత్తి చెయ్యబడతాయి మరియు అదే పొడిగింపు నుండి వచ్చిన చర్యల ద్వారా మాత్రమే ప్రాసెస్ చెయ్యబడతాయి; ఉదాహరణకి దస్త్రం, చిత్రం మరియు సమాచార గిడ్డంగి వనరులు. యార్రెస్ PHP నిర్వహించగల ఎలాంటి రకమైన మూలకాలను అయినా కలిగి ఉంటాయి, అవి వనరులు, వస్తువులు మరియు ఇతర యారేస్ కూడా కావోచ్చును. ఆజన విలువల యొక్క జాబితాలలో మరియు రెండు కీస్ మరియు విలువలతో హాషేస్ లో బాధ్రపరచాబడుతుంది మరియు అవి రెండూ కూడా అంతరంగా మిళితం చెయ్యబడతాయి. సింగిల్ కోట్స్, డబుల్ కోట్స్ లేదా హీరేదోక్ సింటెక్స్ లతో వినియోగించబడే స్ట్రింగ్స్ కి కూడా PHP మద్దతు ఇస్తుంది.
ప్రామాణిక PHP గ్రంథాలయం (SPL) స్థిరమైన సమస్యలను పరిష్కరించటానికి ప్రయత్నిస్తుంది మరియు సమర్ధమైన సమాచార వినియోగ అనుసంధానాలు మరియు తరగతులు అమలుచేస్తుంది.
PHP వందల కొద్దీ ప్రాథమిక చర్యలను మరియు పొడిగింపుల ద్వారా వేల కొద్దీ చర్యలను కలిగి ఉంటుంది. ఈ చర్యలు PHP ప్రదేశంలో బాగా డాక్యుమెంట్ చెయ్యబడ్డాయి; ఏది ఏమయినప్పటికీ, అంతరంగా నిర్మితమైన గ్రంథాలయం విస్తారమైన రకాల నామకరణ సమూహాలను మరియు ప్రతిగున్యతలను కల్గి ఉంటుంది. ప్రస్తుతానికి PHP త్రెడ్ ప్రోగ్రామింగ్ కొరకు ఎలాంటి చర్యలను కలిగి లేదు, అయినప్పటికీ అది POSIX వ్యవస్థల పై మల్టిప్రాసెస్ ప్రోగ్రామింగ్ కి మద్దతు ఇస్తుంది.
చర్యలు మొదటి-తరగతి చర్యలు కావు మరియు కేవలం వాటి యొక్క పేరు ద్వారా, ఆ చర్య యొక్క పేరును కలిగి ఉన్న వేరియబుల్ ద్వారా నేరుగా లేదా సాహసోపేతంగా సూచించబడతాయి.
PHP ముగింపుల కొరకు మద్దతు గెలుచుకుంది. వాస్తవ అనామక చర్యలు ఈ క్రింది సింటెక్స్ ను ఉపయోగించుకొని మద్దతు ఇవ్వబడతాయి:
ఇక్కడ, getAdder() చర్య పారామీటర్ $x ను ఉపయోగించి ఒక ముగింపును ఉత్పత్తి చేస్తుంది ("use" కీవర్డ్ కాంటెక్స్ట్ నుండి వేరియబుల్ ను పొందటానికి ఒత్తిడి చేస్తుంది), ఇది అదనపు వాదన $y ను తీసుకుంటుంది మరియు దానిని కాలర్ కి తిరిగి ఇస్తుంది. అలాంటి ఒక చర్య నిల్వ చెయ్యటానికి వీలుగా ఉంటుంది, ఇతర చర్యలకి ఒక ప్రామాణికంగా ఇవ్వబడుతుంది, మొదలైనవి.
మరిన్ని వివరాలకు లెమ్బ్ద చర్యలు మరియు RFC ముగింపులు చూడుము.
ప్రాథమిక ఆబ్జెక్ట్-ఆధారిత ప్రోగ్రామింగ్ క్రియాత్మకత PHP 3 లో జత చెయ్యబడింది మరియు PHP 4లో అభివృద్ధి చెయ్యబడింది. PHP 5 కొరకు లక్షణాల జతను విస్తరిస్తూ మరియు పనితనాన్ని అభివృద్ధి చేస్తూ ఆబ్జెక్ట్ హ్యాండ్లింగ్ తిరిగి వ్రాయబడుతుంది. PHP, యొక్క మునుపటి వెర్షన్లలో ఆబ్జెక్త్స్ ప్రాథమిక రకాలుగా తీసుకోబడతాయి. ఒక వేరియబుల్ కేటాయించబడినప్పుడు లేదా ఒక పద్ధతికి ఒక ప్రామాణికంగా పంపబడినప్పుడు ఆబ్జెక్ట్ మొత్తం కాపీ చెయ్యబడటం ఈ పద్ధతి యొక్క ప్రతికూల లక్షణం. నూతన విధానంలో ఆబ్జెక్ట్ లు విలువ ద్వారా కాకుండా హ్యాండిల్ ద్వారా సూచించబడతాయి. PHP 5 సారాంశ తరగతులు మరియు అంతిమ తరగతులు అదే విధంగా సారాంశ పద్ధతులు మరియు అంతిమ పద్ధతులతో పాటుగా ప్రైవేట్ మరియు రక్షించబడిన సభ్య వేరియబుల్స్ మరియు పద్ధతులను ప్రవేశపెట్టింది. ఇతర ఆబ్జెక్ట్ ఆధారిత భాషలు అయిన C++, మరియు ఒక ప్రామాణిక మినహాయింపు హ్యాండ్లింగ్ నమూనాల వలె ఉన్న నిర్మాణదారులు మరియు వినాశనకారులను ప్రకటించే ఒక ప్రామాణిక మార్గాన్ని కూడా ఇది ప్రవేశపెట్టింది. అంతే కాకుండా, PHP 5 అనుసంధానాలను జత చేసింది మరియు బహుళ అనుసంధానాలు అమలు చెయ్యటానికి అనుమతించింది. పనిచేస్తున్న వ్యవస్థతో అనుసంధానం అవ్వటానికి అనుమతించే ప్రత్యేక అనుసంధానాలు ఉన్నాయి. యార్రే వినియోగాన్ని అమలు చేస్తున్న ఆబ్జెక్టులు యార్రే సింటెక్స్ తో వినియోగించబడవచ్చు మరియు ఇటేరేతర్ లేదా ఇటేరేతర్ సగటును అమలు చేస్తున్న ఆబ్జెక్టులు codice_29 భాషా నిర్మాణంతో వినియోగించబడవచ్చును. ఇంజిన్ లో వాస్తవ పట్టిక లక్షణం లేదు, అందువలన స్టాటిక్ వేరియబుల్స్, స్వరపరిచే సమయం వద్ద ఒక సూచన బదులు పేరుతో బంధం ఏర్పరుస్తాయి.
ఒకవేళ కేటాయించబడిన పద "సమూహం" ఉపయోగించుకొని అభివృద్ధి చేసేవాడు వస్తువు యొక్క ఒక నకలును ఉత్పత్తి చేస్తే, జెండ్ ఇంజిన్ ఆ __సమూహం() పద్ధతి నిర్వచించబడిందా లేదా అని పరీక్షిస్తుంది. ఒకవేళ నిర్వచించబడకపోతే, అది ఒక డీఫాల్ట్ __సమూహాన్ని() పిలుస్తుంది మరియు అది వస్తువు యొక్క లక్షణాలను కాపీ చేస్తుంది. ఒకవేళ ఒక __సమూహ() పద్ధతి నిర్వచించబడితే అప్పుడు అది ఉత్పత్తి చెయ్యబడిన వస్తువులో అవసరమైన లక్షణాలను అమర్చే బాధ్యత తీసుకుంటుంది. సౌకర్యం కొరకు, మూల వస్తువు నుండి లక్షణాలను తీసుకొనే ఒక చర్యను ఇంజిన్ సరఫరా చేస్తుంది, అందువల్ల ఒక ప్రోగ్రామర్ మూల వస్తువు యొక్క విలువ ప్రతిబింబంతో మొదలుపెట్టవచ్చు మరియు కేవలం వినాశనం కలిగించే లక్షణాలు మాత్రమే మార్చవలసిన అవసరం ఉంటుంది.
ఏదైనా అంచనా వెయ్యబడ్డ భాషతో వలె, PHP స్క్రిప్ట్స్ మానవులు చదవటానికి వీలున్న మూల సంకేతం వలె నిల్వ చెయ్యబడతాయి మరియు PHP ఇంజిన్ చే వేగంగా ఎగురుతున్న విధంగా స్వరపరచబడ్డాయి. బయటికి వచ్చే సమయాన్ని వేగవంతం చెయ్యటానికి మరియు వెబ్ పేజి వినియోగించిన ప్రతీసారీ PHP మూల సంకేతాన్ని స్వరపరిచే అవసరం లేకుండా ఉండటానికి phc మరియు roadsend వంటి PHC కంపైలర్ లను వినియోగించి PHP స్క్రిప్ట్స్ ను బైనరీ ఫార్మటులో కూడా నిల్వ చెయ్యవచ్చును.
సంకేత ఆప్టిమైజర్లు పనితనాన్ని అభివృద్ధి చెయ్యాలి అనే లక్ష్యంతో స్వరపరచిన సంకేతం యొక్క పరిమాణాన్ని తగ్గించటం ద్వారా దాని పని సమయాన్ని తగ్గించటం మరియు బయటకి వచ్చే కాలాన్ని తగ్గించటానికి ఇతర మార్పులను చెయ్యటం పై గురి పెడతాయి. PHP కంపైలర్ యొక్క స్వభావం సంకేత ఆప్టిమైజేషన్ కి తరచుగా అవకాశాలను కలిగి ఉండే విధంగా ఉంటుంది, eAccelerator PHP ఎక్స్టెన్షన్ అనేది ఒక సంకేత ఆప్టిమైజర్ కి ఉదాహరణ.
అధిక భార PHP సర్వర్స్ కి ఓవర్ హెడ్ తగ్గించటం కొరకు ఒక Opcode కాష్ ను వినియోగించటం అనేది మరొక విధానం. స్క్రిప్ట్ పనిచేసే ప్రతీసారీ సంకేతం తగిన విధంగా ముక్కలవటం మరియు స్వరపరచబడటం యొక్క భారాన్ని నివారించటానికి ఒక PHP స్క్రిప్ట్ (opcodes) యొక్క స్వరపరచబడిన రూపాన్ని పంచబడిన మెమరీలో భద్రపరచటం ద్వారా Opcode కాష్ లు పనిచేస్తాయి. ఒక opcode కాష్, APC, PHP 6 వలె నిర్మించబడుతుంది. Opcode భద్రపరచటం అనేది జెండ్ సర్వర్ కమ్యూనిటీ సంపాదకీయంలో కూడా అందుబాటులో ఉంది.
PHP మూల నిర్మాణంతో స్వేచ్ఛాయుత మరియు బాహ్య మూలాల గ్రంథాలయాలను కలిగి ఉంటుంది. PHP అనేది FTP సర్వర్స్, పలు సమాచార గిడ్డంగి సర్వర్లు, ఎంబెడెడ్ PostgreSQL, MySQL మరియు SQLite, LDAP సర్వేర్స్ వంటి ఎంబెడెడ్ SQLగ్రంథాలయాలు మారియు ఇతరులను వినియోగించటం కొరకు అంతరంగా మాడ్యూల్స్ నిర్మితం అయి ఉన్న ఒక ప్రాథమిక ఇంటర్నెట్-అవగాహన వ్యవస్థ. stdio కుటుంబంలో ఉన్న మాదిరిగా C ప్రోగ్రామర్లకి బాగా తెలిసిన చాలా చర్యలు ప్రామాణిక PHP నిర్మాణంలో అందుబాటులో ఉన్నాయి.
PHP భాష కొరకు క్రియాత్మకతను జత చెయ్యటానికి అభివృద్ధి చేసేవారు C లో పొడిగింపులను వ్రాయటానికి PHP అనుమతిస్తుంది. అప్పుడు ఇవి PHP లోకి స్వరపరచబడవచ్చును లేదా పనిచేస్తున్నప్పుడు సాహసోపేతంగా లోడ్ చెయ్యబడవచ్చును. విండోస్ API, Unix-వంటి ఆపరేటింగ్ వ్యవస్థలు, మల్టిబైట్ స్ట్రింగ్స్ (యూనికోడ్), cURL, మరియు పలు ప్రముఖ కంప్రెషన్ ఫార్మటులు కొరకు మద్దతు ఇవ్వటానికి పొడిగింపులు వ్రాయబడతాయి. మరికొన్ని అసాధారణ లక్షణాలు ఇంటర్నెట్ ఆధారిత చాట్, చిత్రాల యొక్క సాహసోపేత ఉత్పత్తి మరియు అడోబ్ ఫ్లాష్ విషయాలు మరియు మాటల ఉత్పత్తి వంటి వాటిని కలిగి ఉంటాయి. PHP ఎక్స్టెన్షన్ కమ్యూనిటి లైబ్రేరి (PECL) ప్రాజెక్ట్ అనేది PHP భాష పొడిగింపులను భద్రంగా నిల్వ చేసేది.
ప్రోగ్రామర్లు ధ్రువీకరించబడిన PHP అభివృద్ధి చెయ్యు వారిగా మారటానికి జెండ్ ఒక ధ్రువీకరణ పరీక్షను అందిస్తుంది.
వర్గం:సాఫ్టువేరు వ్రాయు భాషలు