పిహెచ్‌పి(PHP)

వికీపీడియా నుండి
ఇక్కడికి గెంతు: మార్గసూచీ, వెతుకు
పిహెచ్‌పి(PHP)
PHP
రూపావళి imperative, object-oriented
విడుదల 1995[1]
రూపకర్త Rasmus Lerdorf
అభివృద్ధికారు The PHP Group
స్థిర విడుదల 5.2.13 / 5.3.1 (5.2.13 మూస:Release date and age / 5.3.1: మూస:Release date and age)
Preview release 6.0.0-dev[2]
టైపింగు డిసిప్లిన్ Dynamic, weak
ప్రధాన ఆచరణలు Zend Engine, Roadsend PHP, Phalanger, Quercus, Project Zero, HipHop
ప్రభావితం సీ భాష, పెర్ల్, జావా, సీ ప్లస్ ప్లస్, Tcl[1]
ప్రభావం PHP4Delphi
ఆచరణ భాష C
నిర్వాహక వ్యవస్థ Cross-platform
లైసెన్సు PHP License
దస్త్ర పొడిగింత(లు) .php, .phtml .php5 .phps

PHP: హైపెర్టెక్స్ట్ ప్రీప్రోసెసర్ (ఈ పేరు ఒక రికర్సీవ్ ఆక్రానిం (పదం యొక్క ముందు అక్షరాలతో ఏర్పడ్డ సంక్షిప్త రూపం)) అనేది విస్తారంగా వినియోగించబడే సాధారణ-ఉపయోగ స్క్రిప్టింగ్ భాష, ఇది వాస్తవానికి సాహసోపేత వెబ్ పేజీలను ఉత్పత్తి చెయ్యటానికి వెబ్ అభివృద్ధి కొరకు తయారుచెయ్యబడింది. దీని కోసం, PHP సంకేతం HTML మూల డాక్యుమెంట్ లోకి నిక్షిప్తం చెయ్యబడింది మరియు వెబ్ పేజి డాక్యుమెంట్ ని ఉత్పత్తి చేసే ఒక PHP ప్రాసెసర్ మాడ్యూల్ తో ఉన్న ఒక వెబ్ సర్వర్ చే అంచనా వెయ్యబడింది. ఒక సాధారణ ఉద్దేశ్య ప్రోగ్రామింగ్ భాష వలె, కావలసిన ఆపరేటింగ్ వ్యవస్థ చర్యలను చేస్తూ మరియు దాని యొక్క ప్రామాణిక అవుట్ పుట్ చానెల్ పై ప్రోగ్రామింగ్ అవుట్ పుట్ ను ఉత్పత్తి చేస్తూ కమాండ్-లైన్ లో ఉన్న అంచనా వేసే ఉపయోగం ద్వారా PHP సంకేతం ప్రాసెస్ చెయ్యబడుతుంది. అది ఒక గ్రాఫికల్ ఉపయోగం వలె కూడా పనిచెయ్యవచ్చును. చాలా ఆధునిక వెబ్ సర్వర్ లకి PHP ఒక ప్రాసెసర్ వలె అందుబాటులో ఉంటుంది మరియు చాలా ఆపరేటింగ్ వ్యవస్థలు మరియు కంప్యూటింగ్ వేదికలపై ఒక స్వతంత్ర విశ్లేషకునిగా ఉంటుంది.

వాస్తవానికి PHP రాస్ముస్ లేర్దోర్ఫ్ చే 1995 లో [1] ఉత్పత్తి చెయ్యబడింది మరియు అప్పటి నుండి నిరాటంకంగా అభివృద్ధి చెందుతూ ఉంది. PHP యొక్క ప్రధాన అమలు ఇప్పుడు PHP సమూహం చే ఉత్పత్తి చెయ్యబడుతున్నది మరియు ఎలాంటి అధికారిక నిర్దేశాలు లేకపోవటం వలన PHP కొరకు వాస్తవ ప్రామాణికంగా సేవ చేస్తున్నది.[3] PHP అనేది PHP ఉత్తర్వు క్రింద విడుదల చెయ్యబడిన ఒక ఉచిత సాఫ్ట్వేర్, PHP అను పదం యొక్క వినియోగం పై ఉన్న నిబంధనల వలన ఇది GNU జనరల్ పబ్లిక్ లైసెన్స్ (GPL)తో సంబంధం కలిగి ఉండదు.[4]

చరిత్ర[మార్చు]

వాస్తవానికి PHP అనగా పర్సనల్ హోం పేజి .[3] ఇది 1994 లో డానిష్/గ్రీన్లాన్దిక్ ప్రోగ్రామర్ అయిన రాస్ముస్ లేర్దోర్ఫ్ చే C ప్రోగ్రామింగ్ లాంగ్వేజ్ లో వ్రాయబడిన కామన్ గేట్వే ఇంటర్ఫేజ్ (CGI) బైనరీస్ యొక్క జత.[5][6] లేర్దోర్ఫ్ ప్రాధమికంగా ఈ పర్సనల్ హోం పేజి పనిముట్లను తాను తన వ్యక్తిగత హోం పేజిని నిర్వహించటానికి వినియోగిస్తున్న పెర్ల్ స్క్రిప్ట్స్ యొక్క చిన్న జత స్థానంలో పెట్టటానికి తయారుచేసాడు. ఆ పనిముట్లు అతని రెజ్యుమే ను ప్రదర్శించటానికి మరియు అతని పేజీ యెంత ట్రాఫిక్ ను పొండుతున్నదో నమోదు చెయ్యటానికి వినియోగించాబడ్డాయి.[3] అతను PHP/FI ను తయారు చెయ్యటానికి తన విధమైన అంచనాదారునితో ఈ బైనరీలను మిళితం చేసాడు, అది మరింత పనితనాన్ని కనబరిచింది. PHP/FI, C ప్రోగ్రామింగ్ భాష కొరకు ఒక పెద్ద అమలును కలిగి ఉంది మరియు సమాచార గిడ్డంగులతో సమాచార మార్పిడి చేస్తుంది, సరళమైన మరియు సాహసోపేతమైన వెబ్ అప్లికేషన్స్ నిర్మించటానికి అనుమతిస్తుంది. లేర్దోర్ఫ్ PHP ను ప్రజలకు జూన్ 8, 1995 న బగ్ ప్రదేశాన్ని వేగవంతం చెయ్యటానికి మరియు సంకేతాన్ని అభివృద్ధి చెయ్యటానికి విడుదల చేసాడు.[7] ఈ విడుదల PHP వెర్షన్ 2 అని పిలువబడింది మరియు ఇప్పటికే PHP కలిగి ఉన్న ప్రాధమిక పనితనాన్ని కలిగి ఉంది. ఇది పెర్ల్-వంటి వేరియబుల్స్, ఫార్మ్ హ్యాండ్లింగ్ మరియు HTML ను నిక్షిప్తం చేసే సామర్ధ్యం కలిగి ఉంది.[3]

ఇద్దరి ఇజ్రాయిల్ అభివృద్ధిదారులు అయిన జీవ్ సురస్కి మరియు అండీ గుత్మన్స్, Technion IIT, వద్ద 1997 లో పర్సేర్ ను తిరిగి వ్రాసారు మరియు PHP 3 యొక్క పునాదిని ఏర్పరిచారు, భాష యొక్క పేరును రికర్సివ్ ఇనీష్యలిజం PHP: హైపర్టెక్స్ట్ ప్రీప్రాసెసర్ గా మార్పు చేసారు.[3] అభివృద్ధి చేసిన జట్టు PHP/FI 2 ను నవంబర్ 1997 న నెలలు పాటు చేసిన బీటా టెస్టింగ్ తరువాత అధికారికంగా విడుదల చేసింది. ఆ తరువాత PHP 3 యొక్క పబ్లిక్ టెస్టింగ్ మొదలయ్యింది మరియు అధికారికంగా జూన్ 1998న ప్రారంభించబడింది. అప్పుడు సురస్కి మరియు గుత్మన్స్ PHP యొక్క కేంద్ర భాగాన్ని తిరిగి వ్రాయటం ప్రారంభించారు మరియు 1999 లో జెండ్ ఇంజిన్ ను ఉత్పత్తి చేసారు.[8] వారు రామాట్ గన్, ఇజ్రాయెల్ లో జెండ్ టెక్నాలజీస్ ను స్థాపించారు.[3]

మే 22, 2000న జెండ్ ఇంజిన్ 1.0, తో శక్తినివ్వబడ్డ PHP 4 విడుదల చెయ్యబడింది.[3] ఆగష్టు, 2008 నాటికి ఈ శాఖ 4.4.9. వెర్షన్ వరకు వెళ్ళింది. PHP 4 ఇక మీదట అభివృద్ధి చెయ్యబడటం లేదు మరియు ఎలాంటి భద్రతా అప్డేట్స్ కూడా విడుదల చెయ్యబడవు.[9][10] జూలై 13, 2004న జెండ్ ఇంజిన్ II చే శక్తినివ్వబడిన PHP 5 విడుదల చెయ్యబడింది.[3] PHP 5 ఆబ్జెక్ట్-ఆధారిత ప్రోగ్రామింగ్ కొరకు మెరుగుపరచబడిన మద్దతు, PHP సమాచార ఆబ్జేక్త్స్ పొడిగింపు (ఇది వినియోగంలో ఉన్న సమాచార గిడ్డంగులు కొరకు తేలికైన మరియు స్థిరమైన అనుసంధానాన్ని నిర్వచిస్తుంది) మరియు పలు పనితనపు అభివ్రుద్దులు మొదలైన నూతన లక్షణాలను కలిగి ఉంది.[11] 2008లో PHP 5 అభివృద్ధి చెందుతున్న ఏకైక స్థిరమైన వెర్షన్ గా మారింది. PHP లో లేట్ స్టాటిక్ బైండింగ్ లేదు మరియు అది 5.3 వెర్షన్ లో జత చెయ్యబడింది.[12][13] PHP 5తో పాటుగా PHP 6 అభివృద్ధి చెయ్యబడింది. ప్రధాన మార్పులు రిజిస్టర్_గ్లోబల్స్,[14] మేజిక్ కోట్స్, మరియు సేఫ్ మోడ్ ల యొక్క తొలగింపును కలిగి ఉంది.[9][15] వీటిని తొలగించటానికి కారణం రిజిస్టర్_గ్లోబల్స్ భద్రతా లోపాలను ఇవ్వటం మరియు మేజిక్ కోట్స్ ఊహించటానికి వీలు లేని స్వభావం కలిగి ఉండటం మరియు అందువలన ఉత్తమమైనవి నివారించబడ్డాయి. లక్షణాలను తప్పించుకొనే బదులు మేజిక్ కోట్స్ స్థానంలో యాడ్ లాషేస్() పెట్టబడ్డాయి లేదా MySQL కొరకు mysql_రియల్_ఎస్కేప్_స్ట్రింగ్() వంటి సమాచార గిడ్డంగి అమ్మకందారుడికి ప్రత్యేకమైన తప్పించుకొనే విధానం పెట్టబడింది. PHP 6 లో తొలగించబడిన చర్యలు PHP 5.3లో ఉన్నాయి మరియు వాటిని వినియోగిస్తే ఒక హెచ్చరికను ఉత్పత్తి చేస్తాయి.[16]

చాలా ప్రాముఖ్యం ఉన్న బాహ్య-మూల ప్రాజెక్టులు ఫిబ్రవరి 5, 2008 నాటికి PHP 4 నుండి PHP 5 కి మార్పును ప్రోత్సహిస్తున్న PHP అభివ్రుద్దిదారుల సంఘంచే అందించబడిన GoPHP5 ముందడుగు[17] వలన నూతన సంకేతంలో PHP 4 కి మద్దతు నిలిపివేశాయి.[18][19]

ప్రస్తుతం PHP యూనికోడ్ లేదా మల్టిబైట్ స్ట్రింగ్స్ కి స్థానిక మద్దతు కలిగి లేదు; యూనికోడ్ మద్దతు PHP 6 లో చేర్చబడింది మరియు స్ట్రింగ్స్ ను అదే విధంగా తరగతిని, పద్దతి మరియు చర్యల పేర్లను ASCII కాని లక్షణాలను కలిగి ఉండటానికి అనుమతిస్తుంది.[20][21]

PHP అంచనాదారులు 32-బిట్ మరియు 64-బిట్ ఆపరేటింగ్ వ్యవస్థలు రెండింటిలో కూడా అందుబాటులో ఉన్నారు కానీ మైక్రోసాఫ్ట్ విండోస్ లో ఒక 64-బిట్ విండోస్ వేదిక పై ఇంటర్నెట్ సమాచార సేవలను (IIS) వినియోగిస్తున్నప్పుడు విండోస్ 32-బిట్ కంపాటబిలిటీ మోడ్ ను కోరుకొనేది ఒక 32-బిట్ అమలు అధికారిక పంపిణీ మాత్రమే. PHP 5.3.0 వలె MS Windows కొరకు ప్రయోగాత్మక 66-బిట్ వెర్షన్లు అందుబాటులో ఉన్నాయి.[22]

విడుదల చరిత్ర[మార్చు]

! అర్ధం |- | స్టైల్="బాక్గ్రౌండ్:సల్మాన్;" | ఎరుపు | పాత విడుదల; మద్దతు ఇవ్వబడలేదు |- | స్టైల్="బాక్గ్రౌండ్:ఖాకి;" | పసుపు | పాత విడుదల; మద్దతు ఇవ్వబడలేదు |- | స్టైల్="బాక్గ్రౌండ్:#a0e75a;" | ఆకుపచ్చ | ప్రస్తుత విడుదల |- | స్టైల్="బాక్గ్రౌండ్:ఆకాశనీలం;" | నీలం | భవిష్యత్తు విడుదల |}

మేజర్ వెర్షన్ మైనర్ వెర్షన్ విడుదల తేదీలు గమనికలు
+1% 1.0.0 1995-06-08 అధికారికంగా "పర్సనల్ హోం పేజి టూల్స్ (PHP టూల్స్)". "PHP" అనే పేరును వినియోగించటం ఇదే మొదటిసారి.[3]
2.0.0 1997-11-01 డైనమిక్ వెబ్ పేజీలను తయారుచెయ్యటానికి ఇది "వేగమైన మరియు సరళమైన పనిముట్టు" అని దాని యొక్క సృష్టికర్తచే పరిగణించబడింది.[3]
3 3.0.0 1998-06-06 అభివృద్ధి ఒక వ్యక్తీ నుండి బహుళ అభివృద్ధిదారులకి వెళుతుంది. జీవ్ సురస్కి మరియు అండీ గుత్మన్స్ ఈ వెర్షన్ కోసం ప్రాధమిక ఆధారాన్ని తిరిగి వ్రాసారు.[3]
4.0.0 2000-05-22 జండ్ ఇంజిన్ అని పిలువబడే మరింత ఆధునిక రెండు-స్థాయుల పార్సె/ఎక్సిక్యూట్ ట్యాగ్-పార్సింగ్ వ్యవస్థను జత చేసారు.[23]
4.1.0 2001-12-10 'సూపర్గ్లోబల్స్' ను ప్రవేశపెట్టారు ($_గెట్, $_పోస్ట్, $_సెషన్, మొదలైనవి.)[23]
4.2.0 2002-04-22 డీఫాల్ట్ గా పనిచెయ్యకుండా చెయ్యబడ్డ రిజిస్టర్-గ్లోబల్స్. నెట్వర్క్ లో అందుకున్న సమాచారం అప్లికేషన్ లలో సాధ్యమయిన భద్రతా లోపాలను మూసివేసి నేరుగా గ్లోబల్ నేంస్పేస్ లోకి ఇక మీదట పెట్టబడదు.[23]
4.3.0 2002-12-27 CGI తో పాటుగా CLI కూడా ప్రవేశపెట్టబడింది.[23][24]
4.4.0 2005-07-11 phpize మరియు php-config స్క్రిప్ట్స్ కోసం మాన్ పేజీలు  జత చెయ్యబడ్డాయి.[23]
4.4.8 2008-01-03 పలు భద్రతా హెచ్చివేతలు మరియు బగ్ దిద్దుబాట్లు. PHP 4 కొరకు జీవితం విడుదల యొక్క అంతం కావాలి. ఒకవేళ అవసరం అయితే కేవలం 2008-08-08 వరకు భద్రతా అప్డేట్స్.[25]
4.4.9 2008-08-07 మరిన్ని భద్రతా హెచ్చివేతలు మరియు బగ్ దిద్దుబాట్లు. PHP 4.4 సీరీస్ యొక్క చివరి విడుదల.[26][27]
5 5.0.0 2004-07-13 ఒక నూతన ఆబ్జెక్ట్ నమూనాతో జండ్ ఇంజిన్ II.[28]
5.1.0 2005-11-24 తిరిగి మరమ్మత్తు చెయ్యబడ్డ PHP ఇంజిన్ లో కంపైలర్ వేరియబుల్స్ ను ప్రవేశపెట్టటంతో పనితనపు అభివ్రుద్దులు.[28]
5.2.0 2006-11-02 డిఫాల్ట్ గా ఉన్న ఫిల్టర్ విస్తరణను పనిచేసేటట్టు చెయ్యు.[28]
5.2.11 2009-09-16 బగ్ మరియు భద్రతా లోపాలు సరిదిద్దటం.
5.2.12 2009-12-17 60 బగ్ లోపాలను సరుదిద్దటంలో 5 భద్రతా లోపాల దిద్దుబాటు కూడా ఉంది.
5.2.13 2010-02-25 బగ్ మరియు భద్రతా లోపాలు సరిదిద్దటం.
5.3.0 2009-06-30 నేంస్పేసు మద్దతు; లేట్ స్టాటిక్ బైండింగ్స్, జంప్ లేబుల్ (పరిమిత గోటో), స్థానిక ముగింపులు, స్థానిక PHP ఆర్చీవ్స్ (ఫర్), వృత్తాకార సూచనలకు వ్యర్దాల సేకరణ, అభివృద్ధి చెయ్యబడిన విండోస్ మద్దతు, sqlite3, MySQL తో పనిచేసే పొడిగింపుల కోసం పైకి కనిపించని గ్రంధాలయం వలె mysqlnd, libmysql స్థానంలో పెట్టబడింది, మరింత మెరుగైన MIME మద్దతు కోసం మైమ్-మేజిక్ బదులు ఫైల్ఇన్ఫో పెట్టబడింది, అంతర్జాతీయమైన పొడిగింపు మరియు ereg పొడిగింపు యొక్క తిరస్కరణ.
5.3.1 2009-11-19 100 బగ్ ఫిక్సేస్ లో, కొన్ని భద్రతాపరమైన ఫిక్సేస్ కూడా ఉన్నాయి.
5.3.2 2010-05-01[citation needed]
6 6.0.0 తేదీ అమర్చబడలేదు యూనికోడ్ మద్దతు; 'రిజిస్టర్ _గ్లోబల్స్'ను తొలగించటం, 'మేజిక్_కోట్స్' మరియు 'సేఫ్_మోడ్'; ప్రత్యామ్నాయ PHP కేష్

వినియోగం[మార్చు]

PHP అనేది ముఖ్యంగా వెబ్ అభివృద్దికి సరిపోయే సాధారణ-ఉద్దేశ్య స్క్రిప్టింగ్ భాష. PHP సాధారణంగా వెబ్ సర్వర్ పై పనిచేస్తుంది. సాధారణంగా సాహసోపెత వెబ్ పేజి సమాచారాన్ని ఉత్పత్తి చెయ్యటానికి అభ్యర్దించబడిన దస్త్రంలో ఏదైనా PHP సంకేతం PHP పనిచేయ్యు సమయం ద్వారా బయటకి తీసుకురాబడుతుంది. ఇది కమాండ్-లైన్ స్క్రిప్టింగ్ మరియు కక్షిదారుని-వైపు GUI అప్లికేషన్స్ కొరకు కూడా వినియోగించబడుతుంది. PHP చాలా వెబ్ సర్వర్లు, పలు ఆపరేటింగ్ వ్యవస్థలు మరియు వేదికలు పైన వ్యాప్తి చెందుతుంది మరియు చాలా సంబంధిత సమాచార గిడ్డంగి నిర్వహణ వ్యవస్థలతో కూడా వినియోగించవచ్చును. ఇది ఉచితంగా లభిస్తుంది వినియోగదారులు తమ సొంత ఉపయోగాలకి నిర్మించుకోవటానికి, వినియోగించుకోవటానికి మరియు విస్తరించటానికి మరియు PHP సమూహం పూర్తి మూల సంకేతాన్ని అందిస్తుంది.[29]

PHP ఒక దస్త్రం నుండి లేదా టెక్స్ట్ కలిగి ఉన్న ప్రవాహం మరియు/లేదా PHP సూచనలు నుండి ఇన్ పుట్ తీసుకోవటం మరియు సమాచారం యొక్క మరొక ప్రవాహానికి అవుట్ పుట్స్ ఇవ్వటం ద్వారా ప్రాధమికంగా ఒక ఫిల్టర్[30] వలె పనిచేస్తుంది. చాలా మటుకు అవుట్ పుట్ HTML అయి ఉంటుంది. PHP 4, PHP పార్సేర్ జెండ్ ఇంజిన్ ద్వారా ప్రాసెసింగ్ కొరకు బైట్ సంకేతాన్ని ఉత్పత్తి చెయ్యటానికి ఇన్ పుట్ ని స్వరపరుస్తుంది, దాని యొక్క అంచనావేసే ప్రీడేసేస్సర్ పై మెరుగైన పనితనాన్ని ఇస్తుంది.[31]

వాస్తవానికి సాహసోపేత వెబ్ పేజీలను సృస్టించటానికి తయారుచెయ్యబడ్డ PHP ఇప్పుడు ప్రధానంగా సర్వర్-సైడ్ స్క్రిప్టింగ్ పై దృష్టి కేంద్రీకరించింది,[32] మరియు ఇది ఒక కక్షిదారునికి వెబ్ సర్వర్ నుండి సాహసోపేత సమాచారాన్ని అందించే ఇతర సర్వర్-సైడ్ స్క్రిప్టింగ్ భాషల వలె ఉంటుంది, ఉదాహరణకి మైక్రోసాఫ్ట్ యొక్క యాక్తీవ్ సర్వర్ పేజీలు, సన్ మైక్రోసిస్టమ్స్' జావాసర్వర్ పేజీలు ,[33] మరియు mod perl. నిర్మాణ ఇటుకలను అందించే చాలా ఫ్రేం వర్క్స్ యొక్క అభివృద్దిని మరియు రాపిడ్ అప్లికేషన్ డెవలప్మెంట్ (RAD) ను ప్రోత్సహించటానికి ఒక నమూనా నిర్మాణాలను కూడా PHP ఆకర్షించింది. వీరిలో కొన్ని CakePHP, Symfony, CodeIgniter, మరియు జెండ్ ఫ్రేంవర్క్, ఇవి ఇతర వెబ్ అప్లికేషను ఫ్రేంవర్క్స్ మాదిరిగా ఉన్న లక్షణాలను అందిస్తున్నాయి.

LAMP మరియు WAMP అంతర్గత నిర్మాణాలు వెబ్ అప్లికేషన్స్ ను వ్యాప్తి చేసే మార్గంగా వెబ్ పరిశ్రమలో ప్రసిద్ది చెందాయి. Linux, Apache మరియు MySQL లతో పాటుగా ఈ కట్టలో PHP సాధారణంగా P వలె వినియోగించబడుతుంది, అయితే P అనేది Python లేదా Perl లేదా ఈ మూడింటి మిశ్రమంగా ఉంటుంది.

ఏప్రిల్ 2007 నాటికి దాదాపుగా 20 మిలియన్ల పైగా ఇంటర్నెట్ డోమయిన్లు PHP ఇన్స్టాల్ చెయ్యబడిన సర్వర్ల పై వెబ్ సేవలను అందుకుంటున్నాయి మరియు mod-Php బాగా ప్రసిద్ది చెందిన Apache HTTP సర్వర్ మాడ్యూల్ వలె నమోదు చెయ్యబడింది.[34] పేస్ బుక్ యొక్క వినియోగదారుడిని ఎదుర్కొనే భాగం ,[35] వికీపీడియా (మీడియావికీ),[36] యాహూ!,[citation needed] మైఇయర్బుక్,[citation needed] డిగ్గ్,[citation needed] జూమ్ల, eZ పబ్లిష్,వర్డ్ ప్రెస్,[37] దాని యొక్క మొదటి స్థాయులలో యు ట్యూబ్,[citation needed] డ్రుపాల్, టాగ్ద్[citation needed] మరియు మూడుల్ [38] వంటి ప్రముఖ వేసైట్లు PHP లోనే వ్రాయబడ్డాయి.

భద్రత[మార్చు]

జాతీయ లోపాల సమాచార గిడ్డంగి కంప్యూటర్ సాఫ్ట్వేర్ లో కనిపించిన అన్ని లోపాలను నిల్వ చేస్తుంది. ఈ సమాచార గిడ్డంగిలో ఉన్న PHP సంబంధిత లోపాల యొక్క మొత్తం భాగం: 2004లో 20%, 2005లో 28%, 2006లో 43%, 2007లో 36%, 2008లో 35% మరియు 2009లో 30% గా ఉంది.[39] వీటిలో చాలా మటుకు PHP లోపాలు సుదూరంగా వేలికితియ్యబడవచ్చు: అవి వెబ్ సర్వర్ కి అనుసంధానించబడిన సమాచార మూలాల నుండి సమాచారాన్ని దొంగలించటానికి లేదా నాశనం చెయ్యటానికి (SQL సమాచార గిడ్డంగి వంటివి), స్పాం పంపించటానికి లేదా దాడికి గురైన సర్వర్లో తనంతట తాను స్థాపించుకొనే మాల్వేర్ ను ఉపయోగించుకొని DoS దాడులకి సహాయం చెయ్యటానికి క్రేకర్స్ కి అనుమతిస్తాయి.

ఈ లోపాలు చాలా మటుకు ఉత్తమ ఆచరణ ప్రోగ్రామింగ్ నియమాలు పాటించకపోవటం వలన జరుగుతాయి: భాష లేదా దాని యొక్క కేంద్ర గ్రంధాలయాల సాంకేతిక భద్రతా లోపాలు అనేవి చాలా అరుదు (2008లో 23, మొత్తంలో దాదాపుగా 1%). [40][41] ప్రోగ్రామర్లను విశ్వసించలేము అని గుర్తించిన తరువాత కొన్ని భాషలు, చాలా విషయాలను చేర్చే ఇన్పుట్ సాధికారిత లేకపోవటాన్ని తనంత తానూ గుర్తించే వినాశన పరీక్షను కలిగి ఉన్నాయి. అలాంటి ఒక లక్షణం PHP కొరకు అభివృద్ధి చెయ్యబడుతుంది,[42] కానీ గడిచిన కాలంలో ఒక విడుదలలో దీని చేరిక పలుమార్లు తిరస్కరించబడింది.[43][44]

ఒక సర్వర్ పై PHP అప్లికేషన్ లకి ఆతిధ్యం ఇవ్వటానికి ఇలాంటి భద్రతాపరమైన అపాయాలను ఎరుర్కొవటానికి వాటి పై జాగ్రత్తైన మరియు స్థిరమైన దృష్టి అవసరం.[45] వెబ్ ఆతిధ్య పర్యావరణంలకు సుహోసిన్ మరియు ద్రుడపరిచే-ప్యాచ్ వంటి అధునాతన రక్షణ ప్యాచ్ లు ఉన్నాయి.[46]

వాక్యంలో పదాల అమరిక (సింటెక్స్)[మార్చు]

<html>
 <head>
 <title>PHP Test</title>
 </head>
 <body>
 <?<?php
 echo "Hello World";
 ?>
 </body>
</html>

HTML లో నిక్షిప్తం చెయ్యబడ్డ PHP సంకేతం

PHP కేవలం దాని యొక్క ఆద్యంతాలలో మాత్రమే సంకేతాన్ని కావలసిన విధంగా విభజిస్తుంది. దాని యొక్క ఆద్యంతాలు బయట ఉన్న ఏదైనా నేరుగా ఉఒట్ పుట్ కి పంపబడుతుంది మరియు PHPచే ప్రాసెస్ చెయ్యబడదు, ఏది ఏమయినప్పటికీ PHP కాని వచనం ఇప్పటికీ PHP సంకేతంలో వర్ణించబడిన నియంత్రణ నిర్మాణాలకి గురవుతుంది. <? అనేవి చాలా సాధారణ ఆద్యంతాలు.php to open and ?> అనేది PHP విభాగాలను మూసివేయ్యతానికి వినియోగించబడుతుంది. <స్క్రిప్ట్ లాంగ్వేజ్="php"> మరియు </స్క్రిప్ట్> ఆద్యంతాలు కూడా చిన్నవి చెయ్యబడిన రూపాలు <? వలె అందుబాటులో ఉంటాయి లేదా= (ఒక స్ట్రింగ్ లేదా వేరియబుల్ ను వెనక్కి పంపటానికి వినియోగించబడుతుంది) మరియు ?> అదే విధంగా ASP-స్టైల్ చిన్న రూపాలు <% లేదా <%= మరియు %>. అయితే చిన్న ఆద్యంతాలు వినియోగించబడినప్పుడు PHP అమరిక లో వాటి ఉద్దేశ్యం పనిచెయ్యకుండా అయ్యే అవకాశం ఉండటం వలన అవి స్క్రిప్ట్ దస్త్రాలను తక్కువ పోర్టబుల్ గా చేస్తాయి మరియు అందువలన అవి నిరుత్సాహపరచబడతాయి.[47] అన్ని ఆద్యంతాల యొక్క ఉద్దేశ్యం ఏంటంటే HTML తో పాటుగా PHP సంకేతాన్ని PHP కాని సంకేతం నుండి వేరుచెయ్యటం.[48]

ఆద్యంతాలు యొక్క మొదటి రూపం, <?php మరియు ?XHTML లో > మరియు ఇతర XML డాక్యుమెంట్లు, సరిగా ఏర్పడిన XML 'ప్రాసెసింగ్ సూచనల'ను ఉత్పత్తి చేస్తాయి.[49] PHP సంకేతం మరియు సర్వర్ వైపు ఫైల్ లో ఉన్న ఇతర మార్కప్ ల ఫలితంఫా వచ్చే మిశ్రమం అనేది బాగా-ఏర్పడిన XML అని దీని అర్ధం.

వేరియబుల్స్ వాటి ముందు డాలర్ గుర్తును కలిగి ఉంటాయి మరియు దాని రకం ముందస్తుగా నిర్దేశించబడవలసిన అవసరం లేదు. చర్య మరియు తరగతి పేర్లు వలె కాకుండా వేరియబుల్ పేర్లు కేస్ సెన్సిటీవ్. డబుల్ కోటెడ్ ("") మరియు హీరేదోక్ స్ట్రింగ్స్ ఒక వేరియబుల్ విలువను స్త్రింగ్ లోకి నిక్షిప్తం చెయ్యటానికి సామర్ధ్యానికి అనుమతిస్తాయి.[50] ఒక స్వేఛ్చ-విధాన భాష వలె PHP నూతన రేఖలను తెల్లని ఖాళీలుగా భావిస్తుంది (స్ర్టింగ్ కోట్స్ లోపల ఉన్నప్పుడు తప్ప) మరియు వాంగ్మూలాలు ఒక సెమికోలన్ ద్వారా నిలిపివెయ్యబడతాయి.[51] PHP మూడు రకాల కామెంట్ సింటెక్స్ కలిగి ఉంటుంది: /* */ మార్క్స్ బ్లాక్ మరియు ఇన్లైన్ కామెంట్స్; // అదే విధంగా # మొదలైనవి వాన్-లైన్ కామెంట్స్ కొరకు వినియోగించాబడతాయి.[52] అవుట్ పుట్ టెక్స్ట్ కొరకు PHP అందించే పలు సౌలభ్యాలలో echo వాంగ్మూలం కూడా ఒకటి (e.g. ఒక వెబ్ బ్రౌజరు కోసం).

కీవర్డ్స్ మరియు భాష సింటెక్స్ వంటి విషయాలలో, PHP, C స్టైల్ సింటెక్స్ అనుసరించే చాలా పై స్థాయి భాషల వలె ఉంటుంది. If నియమాలు, for మరియు while లూప్స్, మరియు తిరిగి వచ్చే చర్యలు వంటివి C, C++, Java మరియు Perl వంటి సింటెక్స్ భాషలలో వలె ఉంటాయి.

సమాచార రకాలు[మార్చు]

PHP పూర్ణ సంఖ్యలను ఒక వేదిక ఆధారిత పరిధిలో నిల్వ చేస్తుంది. ఈ పరిధి సంక్లిష్టంగా 32-బిట్ సంకేతాలు కలిగి ఉన్న ఇంటిజర్స్. నిర్దిష్ట పరిస్థితులలో సకేతాలు లేని ఇంటిజర్స్ సంకేతాలు ఉన్న విలువలలోకి మార్చబడతాయి; ఈ ప్రవర్తన ఇతర ప్రోగ్రామింగ్ భాషల కంటే వైవిధ్యంగా ఉంటుంది.[53] డెసిమల్ (పాజిటివ్ మరియు నెగటివ్), ఆక్టల్, మరియు హెక్సాడెసిమల్ నోటేషన్లు వినియోగించటం ద్వారా ఇంటిజర్ వేరియబుల్స్ ను కేటాయించవచ్చును. ఫ్లోటింగ్ పాయింట్ సంఖ్యలు కూడా ఒక నిర్దేశ వేదిక పరిధిలో నిల్వ చెయ్యబడతాయి. ఫ్లోటింగ్ పాయింట్ నోటేషన్ లేదా శాస్త్రీయ నోటేషన్ యొక్క రెండు రూపాలు వినియోగించటం ద్వారా అవి నిర్దేశింపబడవచ్చును.[54] Java మరియు C++ లలో ఉన్న స్థానిక బూలియన్ రకాల వలె ఉన్న ఒక స్థానిక బూలియన్ రకాన్ని PHP కలిగి ఉంది. Perl మరియు C++ లో వలె బూలియన్ రకపు తర్జుమా నియమాల వినియోగం వలన సున్నాయేతర విలువలు వాస్తవంగా మరియు సున్నా తప్పుగా అంచనా వెయ్యబడతాయి.[54] నల్ సమాచార రకం విలువ లేని ఒక వేరియబుల్ ని సూచిస్తుంది. నల్ సమాచార రకంలో ఉన్న ఏకైన విలువ NULL .[54] "వనరుల" రకానికి చెందినా వేరియబుల్స్ బాహ్య మూలాల నుండి వనరులకి సూచనలను ఇస్తాయి. ఇవి సంక్లిష్టంగా ఒక నిర్దిష్ట పొడిగింపు ద్వారా ఉత్పత్తి చెయ్యబడతాయి మరియు అదే పొడిగింపు నుండి వచ్చిన చర్యల ద్వారా మాత్రమే ప్రాసెస్ చెయ్యబడతాయి; ఉదాహరణకి దస్త్రం, చిత్రం మరియు సమాచార గిడ్డంగి వనరులు.[54] యార్రెస్ PHP నిర్వహించగల ఎలాంటి రకమైన మూలకాలను అయినా కలిగి ఉంటాయి, అవి వనరులు, వస్తువులు మరియు ఇతర యారేస్ కూడా కావోచ్చును. ఆజన విలువల యొక్క జాబితాలలో మరియు రెండు కీస్ మరియు విలువలతో హాషేస్ లో బాధ్రపరచాబడుతుంది మరియు అవి రెండూ కూడా అంతరంగా మిళితం చెయ్యబడతాయి.[54] సింగిల్ కోట్స్, డబుల్ కోట్స్ లేదా హీరేదోక్ సింటెక్స్ లతో వినియోగించబడే స్ట్రింగ్స్ కి కూడా PHP మద్దతు ఇస్తుంది.[55]

ప్రామాణిక PHP గ్రంధాలయం (SPL) స్థిరమైన సమస్యలను పరిష్కరించటానికి ప్రయత్నిస్తుంది మరియు సమర్ధమైన సమాచార వినియోగ అనుసంధానాలు మరియు తరగతులు అమలుచేస్తుంది.[56]

విధులు[మార్చు]

PHP వందల కొద్దీ ప్రాధమిక చర్యలను మరియు పొడిగింపుల ద్వారా వేల కొద్దీ చర్యలను కలిగి ఉంటుంది. ఈ చర్యలు PHP ప్రదేశంలో బాగా డాక్యుమెంట్ చెయ్యబడ్డాయి; ఏది ఏమయినప్పటికీ, అంతరంగా నిర్మితమైన గ్రంధాలయం విస్తారమైన రకాల నామకరణ సమూహాలను మరియు ప్రతిగున్యతలను కల్గి ఉంటుంది. ప్రస్తుతానికి PHP త్రెడ్ ప్రోగ్రామింగ్ కొరకు ఎలాంటి చర్యలను కలిగి లేదు, అయినప్పటికీ అది POSIX వ్యవస్థల పై మల్టిప్రాసెస్ ప్రోగ్రామింగ్ కి మద్దతు ఇస్తుంది.[57]

5.2 మరియు అంత కంటే ముందు ఉన్నది[మార్చు]

చర్యలు మొదటి-తరగతి చర్యలు కావు మరియు కేవలం వాటి యొక్క పేరు ద్వారా, ఆ చర్య యొక్క పేరును కలిగి ఉన్న వేరియబుల్ ద్వారా నేరుగా లేదా సాహసోపేతంగా సూచించబడతాయి. [58] ప్రోటోటైపు అవ్వాల్సిన అవసరం లేకుండా వినియోగదారుడు నిర్వచించిన చర్యలు ఏ సమయంలో అయినా ఉత్పత్తి చెయ్యబడవచ్చును.[58] ఒక చర్య నిర్వచించబడాలా వద్దా అనే ఒక పనిచెయ్యు సమయ నిర్ణయాన్ని అనుమతిస్తూ సంకేత భాగాల లోపల చర్యలు నిర్వచింపబడవచ్చును. చర్యల పిలుపులు ఖచ్చితంగా నిలువు వక్ర రేఖలను వినియోగించాలి, అయితే PHP నూతన ఆపరేటర్ తో పిలువబడే సున్నా వాదన తరగతి నిర్మానదారుని చర్యలు మాత్రం దీనికి మినహాయింపు, ఎందుకంటే ఇక్కడ నిలువు వక్ర రేఖల వినియోగం తప్పనిసరి కాదు. create_function() చర్య ద్వారా PHP క్వాసి-అనామక చర్యలకు మద్దతు ఇస్తుంది, అయితే అవి వాస్తవ అనామక చర్యలు కావు ఎందుకంటే అనామక చర్యలకు పేర్లు ఉండవు, కానీ PHP లో చర్యలు కేవలం పేరు ద్వారానే సూచించబడతాయి లేదా ఒక వేరియబుల్ $function_name() ద్వారా సూచించబడతాయి.[58]

5.3 మరియు నూతనమైనది[మార్చు]

PHP ముగింపుల కొరకు మద్దతు గెలుచుకుంది. వాస్తవ అనామక చర్యలు ఈ క్రింది సింటెక్స్ ను ఉపయోగించుకొని మద్దతు ఇవ్వబడతాయి:

function getAdder($x)
{
 return function ($y) use ($x) {
 return $x + $y;
 };
}
 
$adder = getAdder(8);
echo $adder(2); // prints "10"

ఇక్కడ, getAdder() చర్య పారామీటర్ $x ను ఉపయోగించి ఒక ముగింపును ఉత్పత్తి చేస్తుంది ("use" కీవర్డ్ కాంటెక్స్ట్ నుండి వేరియబుల్ ను పొందటానికి ఒత్తిడి చేస్తుంది), ఇది అదనపు వాదన $y ను తీసుకుంటుంది మరియు దానిని కాలర్ కి తిరిగి ఇస్తుంది. అలాంటి ఒక చర్య నిల్వ చెయ్యటానికి వీలుగా ఉంటుంది, ఇతర చర్యలకి ఒక ప్రామాణికంగా ఇవ్వబడుతుంది, మొదలైనవి. మరిన్ని వివరాలకు లెమ్బ్ద చర్యలు మరియు RFC ముగింపులు చూడుము.

విషయాలు[మార్చు]

ప్రాధమిక ఆబ్జెక్ట్-ఆధారిత ప్రోగ్రామింగ్ క్రియాత్మకత PHP 3 లో జత చెయ్యబడింది మరియు PHP 4లో అభివృద్ధి చెయ్యబడింది.[3] PHP 5 కొరకు లక్షణాల జతను విస్తరిస్తూ మరియు పనితనాన్ని అభివృద్ధి చేస్తూ ఆబ్జెక్ట్ హ్యాండ్లింగ్ తిరిగి వ్రాయబడుతుంది.[59] PHP, యొక్క మునుపటి వెర్షన్లలో ఆబ్జెక్త్స్ ప్రాధమిక రకాలుగా తీసుకోబడతాయి.[59] ఒక వేరియబుల్ కేటాయించబడినప్పుడు లేదా ఒక పద్దతికి ఒక ప్రామాణికంగా పంపబడినప్పుడు ఆబ్జెక్ట్ మొత్తం కాపీ చెయ్యబడటం ఈ పద్దతి యొక్క ప్రతికూల లక్షణం. నూతన విధానంలో ఆబ్జెక్ట్ లు విలువ ద్వారా కాకుండా హ్యాండిల్ ద్వారా సూచించబడతాయి. PHP 5 సారాంశ తరగతులు మరియు అంతిమ తరగతులు అదే విధంగా సారాంశ పద్దతులు మరియు అంతిమ పద్దతులతో పాటుగా ప్రైవేట్ మరియు రక్షించబడిన సభ్య వేరియబుల్స్ మరియు పద్దతులను ప్రవేశపెట్టింది. ఇతర ఆబ్జెక్ట్ ఆధారిత భాషలు అయిన C++, మరియు ఒక ప్రామాణిక మినహాయింపు హ్యాండ్లింగ్ నమూనాల వలె ఉన్న నిర్మాణదారులు మరియు వినాశనకారులను ప్రకటించే ఒక ప్రామాణిక మార్గాన్ని కూడా ఇది ప్రవేశపెట్టింది. అంతే కాకుండా, PHP 5 అనుసంధానాలను జత చేసింది మరియు బహుళ అనుసంధానాలు అమలు చెయ్యటానికి అనుమతించింది. పనిచేస్తున్న వ్యవస్థతో అనుసంధానం అవ్వటానికి అనుమతించే ప్రత్యేక అనుసంధానాలు ఉన్నాయి. యార్రే వినియోగాన్ని అమలు చేస్తున్న ఆబ్జెక్టులు యార్రే సింటెక్స్ తో వినియోగించబడవచ్చు మరియు ఇటేరేతర్ లేదా ఇటేరేతర్ సగటు ను అమలు చేస్తున్న ఆబ్జెక్టులు foreach భాషా నిర్మాణంతో వినియోగించబడవచ్చును. ఇంజిన్ లో వాస్తవ పట్టిక లక్షణం లేదు, అందువలన స్టాటిక్ వేరియబుల్స్, స్వరపరిచే సమయం వద్ద ఒక సూచన బదులు పేరుతో బంధం ఏర్పరుస్తాయి.[60]

ఒకవేళ కేటాయించబడిన పద సమూహం ఉపయోగించుకొని అభివృద్ధి చేసేవాడు వస్తువు యొక్క ఒక నకలును ఉత్పత్తి చేస్తే, జెండ్ ఇంజిన్ ఆ __సమూహం() పద్దతి నిర్వచించబడిందా లేదా అని పరీక్షిస్తుంది. ఒకవేళ నిర్వచించబడకపోతే, అది ఒక డీఫాల్ట్ __సమూహాన్ని() పిలుస్తుంది మరియు అది వస్తువు యొక్క లక్షణాలను కాపీ చేస్తుంది. ఒకవేళ ఒక __సమూహ() పద్దతి నిర్వచించబడితే అప్పుడు అది ఉత్పత్తి చెయ్యబడిన వస్తువులో అవసరమైన లక్షణాలను అమర్చే బాధ్యత తీసుకుంటుంది. సౌకర్యం కొరకు, మూల వస్తువు నుండి లక్షణాలను తీసుకొనే ఒక చర్యను ఇంజిన్ సరఫరా చేస్తుంది, అందువల్ల ఒక ప్రోగ్రామర్ మూల వస్తువు యొక్క విలువ ప్రతిబింబంతో మొదలుపెట్టవచ్చు మరియు కేవలం వినాశనం కలిగించే లక్షణాలు మాత్రమే మార్చవలసిన అవసరం ఉంటుంది.[61]

వేగం నియంత్రణ[మార్చు]

ఏదైనా అంచనా వెయ్యబడ్డ భాషతో వలె, PHP స్క్రిప్ట్స్ మానవులు చదవటానికి వీలున్న మూల సంకేతం వలె నిల్వ చెయ్యబడతాయి మరియు PHP ఇంజిన్ చే వేగంగా ఎగురుతున్న విధంగా స్వరపరచబడ్డాయి.[62][63] బయటికి వచ్చే సమయాన్ని వేగవంతం చెయ్యటానికి మరియు వెబ్ పేజి వినియోగించిన ప్రతీసారీ PHP మూల సంకేతాన్ని స్వరపరిచే అవసరం లేకుండా ఉండటానికి phc మరియు roadsend వంటి PHC కంపైలర్ లను వినియోగించి PHP స్క్రిప్ట్స్ ను బైనరీ ఫార్మటులో కూడా నిల్వ చెయ్యవచ్చును.

సంకేత ఆప్టిమైజర్లు పనితనాన్ని అభివృద్ధి చెయ్యాలి అనే లక్ష్యంతో స్వరపరచిన సంకేతం యొక్క పరిమాణాన్ని తగ్గించటం ద్వారా దాని పని సమయాన్ని తగ్గించటం మరియు బయటకి వచ్చే కాలాన్ని తగ్గించటానికి ఇతర మార్పులను చెయ్యటం పై గురి పెడతాయి. PHP కంపైలర్ యొక్క స్వభావం సంకేత ఆప్టిమైజేషన్ కి తరచుగా అవకాశాలను కలిగి ఉండే విధంగా ఉంటుంది,[64] eAccelerator PHP ఎక్స్టెన్షన్ అనేది ఒక సంకేత ఆప్టిమైజర్ కి ఉదాహరణ.[65]

అధిక భార PHP సర్వర్స్ కి ఓవర్ హెడ్ తగ్గించటం కొరకు ఒక Opcode కాష్ ను వినియోగించటం అనేది మరొక విధానం. స్క్రిప్ట్ పనిచేసే ప్రతీసారీ సంకేతం తగిన విధంగా ముక్కలవటం మరియు స్వరపరచబడటం యొక్క భారాన్ని నివారించటానికి ఒక PHP స్క్రిప్ట్ (opcodes) యొక్క స్వరపరచబడిన రూపాన్ని పంచబడిన మెమరీలో భద్రపరచటం ద్వారా Opcode కాష్ లు పనిచేస్తాయి. ఒక opcode కాష్, APC, PHP 6 వలె నిర్మించబడుతుంది.[66] Opcode భద్రపరచటం అనేది జెండ్ సర్వర్ కమ్యూనిటీ సంపాదకీయం లో కూడా అందుబాటులో ఉంది.

వనరులు[మార్చు]

PHP మూల నిర్మాణంతో స్వేచ్చాయుత మరియు బాహ్య మూలాల గ్రంధాలయాలను కలిగి ఉంటుంది. PHP అనేది FTP సర్వర్స్, పలు సమాచార గిడ్డంగి సర్వర్లు, ఎంబెడెడ్ PostgreSQL, MySQL మరియు SQLite, LDAP సర్వేర్స్ వంటి ఎంబెడెడ్ SQL గ్రంధాలయాలు మారియు ఇతరులను వినియోగించటం కొరకు అంతరంగా మాడ్యూల్స్ నిర్మితం అయి ఉన్న ఒక ప్రాధమిక ఇంటర్నెట్-అవగాహన వ్యవస్థ. stdio కుటుంబంలో ఉన్న మాదిరిగా C ప్రోగ్రామర్లకి బాగా తెలిసిన చాలా చర్యలు ప్రామాణిక PHP నిర్మాణంలో అందుబాటులో ఉన్నాయి.[67]

PHP భాష కొరకు క్రియాత్మకతను జత చెయ్యటానికి అభివృద్ధి చేసేవారు C లో పొడిగింపులను వ్రాయటానికి PHP అనుమతిస్తుంది. అప్పుడు ఇవి PHP లోకి స్వరపరచబడవచ్చును లేదా పని చేస్తున్నప్పుడు సాహసోపేతంగా లోడ్ చెయ్యబడవచ్చును. విండోస్ API, Unix-వంటి ఆపరేటింగ్ వ్యవస్థలు, మల్టిబైట్ స్ట్రింగ్స్ (యూనికోడ్), cURL, మరియు పలు ప్రముఖ కంప్రెషన్ ఫార్మటులు కొరకు మద్దతు ఇవ్వటానికి పొడిగింపులు వ్రాయబడతాయి. మరికొన్ని అసాధారణ లక్షణాలు ఇంటర్నెట్ ఆధారిత చాట్, చిత్రాల యొక్క సాహసోపేత ఉత్పత్తి మరియు అడోబ్ ఫ్లాష్ విషయాలు మరియు మాటల ఉత్పత్తి వంటి వాటిని కలిగి ఉంటాయి. PHP ఎక్స్టెన్షన్ కమ్యూనిటి లైబ్రేరి (PECL) ప్రాజెక్ట్ అనేది PHP భాష పొడిగింపులను భద్రంగా నిల్వ చేసేది.[68]

ప్రోగ్రామర్లు ధ్రువీకరించబడిన PHP అభివృద్ధి చెయ్యు వారిగా మారటానికి జెండ్ ఒక ధృవీకరణ పరీక్షను అందిస్తుంది.

ఇవి కూడా చూడండి[మార్చు]

గమనికలు[మార్చు]

  1. 1.0 1.1 1.2 Rasmus Lerdorf began assembling C code originally written for CGI scripts into a library and accessing the library's functions, including SQL queries, through HTML-embedded commands in 1994; by 1995 the commands had taken the shape of PHP code that would be familiar of users of the language today. Lerdorf, Rasmus (2007-04-26). "PHP on Hormones - history of PHP presentation by Rasmus Lerdorf given at the MySQL Conference in Santa Clara, California" (mp3). The Conversations Network. Retrieved 2009-12-11. "Every day I would change the language drastically, and it didn't take very long, so by 1995, mid-1995 or so, PHP looked like this. This isn't that far from what PHP looks like today, actually." 
  2. "PHP Snapshots". The PHP Group. Retrieved 2008-06-18. 
  3. 3.00 3.01 3.02 3.03 3.04 3.05 3.06 3.07 3.08 3.09 3.10 3.11 "History of PHP and related projects". The PHP Group. Retrieved 2008-02-25. 
  4. "GPL-Incompatible, Free Software Licenses". Various Licenses and Comments about Them. Free Software Foundation. Retrieved 2008-02-22. 
  5. Lerdorf, Rasmus (2007-04-26). "PHP on Hormones" (mp3). The Conversations Network. Retrieved 2009-06-22. 
  6. Lerdorf, Rasmus (2007). "Slide 3". slides for 'PHP on Hormones' talk. The PHP Group. Retrieved 2009-06-22. 
  7. మూస:Cite newsgroup
  8. "[[Zend Engine]] version 2.0: Feature Overview and Design". Zend Technologies Ltd. Retrieved 2006-09-17.  Wikilink embedded in URL title (help)
  9. 9.0 9.1 "php.net 2007 news archive". The PHP Group. 2007-07-13. Retrieved 2008-02-22. 
  10. Kerner, Sean Michael (2008-02-01). "PHP 4 is Dead—Long Live PHP 5". InternetNews. Retrieved 2008-03-16. 
  11. Trachtenberg, Adam (2004-07-15). "Why PHP 5 Rocks!". O'Reilly. Retrieved 2008-02-22. 
  12. "Late Static Binding in PHP". Digital Sandwich. 2006-02-23. Retrieved 2008-03-25. 
  13. "Static Keyword". The PHP Group. Retrieved 2008-03-25. 
  14. "Using Register Globals". PHP. Retrieved 2008-04-04. 
  15. "Prepare for PHP 6". CorePHP. 2005-11-23. Retrieved 2008-03-24. 
  16. "PHP 5.3 migration guide". The PHP project. Retrieved 2009-07-03. 
  17. "GoPHP5" (HTML). 
  18. GoPHP5. "PHP projects join forces to Go PHP 5" (PDF). GoPHP5 Press Release. Retrieved 2008-02-23. 
  19. "GoPHP5". GoPHP5. Retrieved 2008-02-22. 
  20. "Unicode". The PHP Group. Retrieved 2008-03-25. 
  21. Byfield, Bruce (February 28, 2007). "Upcoming PHP release will offer Unicode support". linux.com. Retrieved 2009-06-23. 
  22. The PHP Group. "PHP For Windows snapshots". PHP Windows Development Team. Retrieved 2009-05-25. 
  23. 23.0 23.1 23.2 23.3 23.4 "PHP: PHP 4 ChangeLog". The PHP Group. 2008-01-03. Retrieved 2008-02-22. 
  24. "PHP: Using PHP from the command line - Manual:". The PHP Group. Retrieved 2009-09-11. 
  25. "4.4.8 Release Announcement". PHP. 2008-08-08. Retrieved 2009-07-29. 
  26. "Downloads". PHP. Retrieved 2009-07-29. 
  27. "4.4.9 Release Announcement". PHP. Retrieved 2009-07-29. 
  28. 28.0 28.1 28.2 "PHP: PHP 5 ChangeLog". The PHP Group. 2007-11-08. Retrieved 2008-02-22. 
  29. "Embedding PHP in HTML". O'Reilly. 2001-05-03. Retrieved 2008-02-25. 
  30. "What does PHP do?". The PHP Group. Retrieved 2008-02-25. 
  31. "PHP and MySQL". University of Alabama. Retrieved 2008-02-25. 
  32. "PHP Server-Side Scripting Language". Indiana University. 2007-04-04. Retrieved 2008-02-25. 
  33. "JavaServer Pages Technology — JavaServer Pages Comparing Methods for Server-Side Dynamic Content White Paper". Sun Microsystems. Retrieved 2008-02-25. 
  34. "PHP: PHP Usage Stats". SecuritySpace. 2007-04-01. Retrieved 2008-02-24. 
  35. "PHP and Facebook | Facebook". Blog.facebook.com. Retrieved 2009-07-29. 
  36. "Manual:Installation requirements#PHP". MediaWiki. 2010-01-25. Retrieved 2010-02-26. "PHP is the programming language in which MediaWiki is written [...]" 
  37. "About WordPress". Retrieved 2010-02-26. "WordPress was [...] built on PHP" 
  38. "Moodle - About". Moodle.org. Retrieved 2009-12-20. 
  39. "PHP-related vulnerabilities on the National Vulnerability Database". 2008-03-01. 
  40. "Security and... Driving? (and Hiring) - Sean Coates: PHP, Web (+Beer)". Sean Coates. Retrieved 2009-07-29. 
  41. computerworld.uk: ఇంటర్వ్యూ : ఇవో జంష్, ఫిబ్రవరి 26, 2008
  42. "PHP Taint Mode RFC". 
  43. "Developer Meeting Notes, Nov. 2005". 
  44. "Taint mode decision, Nov 2007". 
  45. "The Power of PHP, both Good and Evil". 2009-02-28. 
  46. "Hardened-PHP Project". 2008-08-15. 
  47. "PHP: Basic syntax". The PHP Group. Retrieved 2008-02-22. 
  48. "Your first PHP-enabled page". The PHP Group. Retrieved 2008-02-25. 
  49. Bray, Tim; et al (26 November 2008). "Processing Instructions". Extensible Markup Language (XML) 1.0 (Fifth Edition). W3C. Retrieved 2009-06-18. 
  50. "Variables". The PHP Group. Retrieved 2008-03-16. 
  51. "Instruction separation". The PHP Group. Retrieved 2008-03-16. 
  52. "Comments". The PHP Group. Retrieved 2008-03-16. 
  53. "Integers in PHP, running with scissors, and portability". MySQL Performance Blog. March 27, 2007. Retrieved 2007-03-28. 
  54. 54.0 54.1 54.2 54.3 54.4 "Types". The PHP Group. Retrieved 2008-03-16. 
  55. "Strings". The PHP Group. Retrieved 2008-03-21. 
  56. "SPL — StandardPHPLibrary". PHP.net. March 16, 2009. Retrieved 2009-03-16. 
  57. "PHP.NET: Process Control". Retrieved 2009-08-06. 
  58. 58.0 58.1 58.2 "Functions". The PHP Group. Retrieved 2008-03-16. 
  59. 59.0 59.1 "PHP 5 Object References". mjtsai. Retrieved 2008-03-16. 
  60. "Classes and Objects (PHP 5)". The PHP Group. Retrieved 2008-03-16. 
  61. "Object cloning". The PHP Group. Retrieved 2008-03-16. 
  62. "How do computer languages work?". Retrieved 2009-11-04. 
  63. (Gilmore 2006, p. 43)
  64. "PHP Accelerator 1.2 (page 3, Code Optimisation)" (PDF). Nick Lindridge. Retrieved 2008-03-28. 
  65. "eAccelerator". Retrieved 2009-09-18. 
  66. "Upcoming PHP6 Additions & Changes". Retrieved 2009-09-18. 
  67. "PHP Function List". The PHP Group. Retrieved 2008-02-25. 
  68. "Developing Custom PHP Extensions". devnewz. 2002-09-09. Retrieved 2008-02-25. 

బాహ్య వలయాలు[మార్చు]