విషయము
ఏ ఫ్రేమ్వర్క్ను ఉపయోగించాలో నన్ను అడగండి మరియు నేను బహుశా క్రోధస్వభావం ఉన్న వృద్ధ మహిళ క్షణం కలిగి ఉంటాను మరియు అన్ని ఫ్రేమ్వర్క్లు ఒకదానికొకటి చెడ్డవి అని మీకు చెప్తాను. అవన్నీ చెడ్డవి అని చెప్పలేము, కాని PHP లో మనకు అనూహ్యంగా పెద్ద సంఖ్యలో ఫ్రేమ్వర్క్లు ఉన్నాయి (సాధారణంగా N + 1 గా ఉదహరించబడుతుంది, ఇక్కడ N అనేది ప్రపంచంలోని PHP డెవలపర్ల సంఖ్య), మరియు అవన్నీ బహుశా అర్ధమయ్యాయి వాటిని కనుగొన్న వ్యక్తికి.
ఫ్రేమ్వర్క్ల ఎంపికను కలిగి ఉండటం బహుశా మీరు నిర్మించడానికి ప్రయత్నిస్తున్న దానితో సంబంధం లేకుండా ఒకే ఫ్రేమ్వర్క్ను మాత్రమే ఉపయోగించడం కంటే మంచిది, ఎందుకంటే ఇది ‘ఉత్తమమైనది’ (ఏ కొలత అయినా ‘ఉత్తమమైనది’). ఫ్రేమ్వర్క్ సమర్పణల యొక్క ఈ ఎంపిక అంటే మీరు ప్రాజెక్ట్ యొక్క అవసరాలను తీర్చగలదాన్ని ఎంచుకోవచ్చు మరియు అది డాక్యుమెంట్ చేయబడవచ్చు. నిర్మాణం, పునర్వినియోగ మాడ్యూల్స్ మరియు లైబ్రరీలను అందించడానికి ఏదైనా ప్లాట్ఫారమ్లోని ఫ్రేమ్వర్క్లు నిజంగా ఉన్నాయి మరియు సాధారణంగా ఒకే విధమైన కార్యాచరణను పదే పదే నిర్మించడంలో చేయాల్సిన అన్ని బోరింగ్ మరియు పునరావృత పనులను నివారించండి. ఉదాహరణకు, CMS లను నిర్మించేటప్పుడు, ఏదో నా కోసం ఫారమ్ ఫీల్డ్లను ప్రాసెస్ చేయాలి మరియు ధృవీకరించాలి; నా స్వంత పరికరాలకు వదిలేస్తే నేను ముఖ్యమైనదాన్ని కోల్పోవచ్చు మరియు ప్రతి ప్రాజెక్ట్ యొక్క అంశాలను నేను ఎక్కువగా చేస్తాను భిన్నమైనది, ప్రతిసారీ ఒకేలా ఉండే వాటి కంటే!
పూర్తి-స్టాక్ ఫ్రేమ్వర్క్లు
జెండ్ ఫ్రేమ్వర్క్ వంటి పూర్తి-స్టాక్ ఫ్రేమ్వర్క్లు చాలా ఆర్కిటెక్చర్ అనుభవం లేకుండా డెవలపర్కు ప్రారంభించడానికి మంచి ప్రదేశం. క్రొత్త అనువర్తనాన్ని వేలాడదీయడానికి ఇది మంచి నిర్మాణాన్ని ఇస్తుంది మరియు దాని చుట్టూ మంచి ‘పర్యావరణ వ్యవస్థ’ ఉంది - పుష్కలంగా పుస్తకాలు, ట్యుటోరియల్స్ మరియు కొన్ని సహేతుకమైన డాక్యుమెంటేషన్ కూడా ఉన్నాయి. మీరు చాలా మంది ప్రజలు నిర్వహించబడే పెద్ద అనువర్తనాన్ని రూపొందించడానికి ప్రయత్నిస్తుంటే, జనాదరణ పొందిన, సమగ్రమైన ఫ్రేమ్వర్క్ మంచి ఎంపికగా ఉంటుంది, ఎందుకంటే ఇది చాలా నిర్మాణాన్ని నిర్దేశిస్తుంది మరియు బాగా తెలుసు మరియు అర్థం అవుతుంది.
విభజనకు సహాయపడటానికి నిర్మాణం కలిగి ఉండటం ఎల్లప్పుడూ మంచిది; నా కెరీర్ ప్రారంభంలో నేను కొంతమందితో కలిసి పనిచేశాను చాలా జూనియర్ డెవలపర్లు మరియు వారికి MVC (మోడల్ వ్యూ కంట్రోలర్) నమూనాను నేర్పడానికి ప్రయత్నించారు, ఇది ఆ సమయంలో చాలా క్రొత్తది. వీక్షణ పొరలో స్మార్టీని ఉపయోగించాలని మేము నిర్ణయం తీసుకున్నాము; పాక్షికంగా కాబట్టి డిజైనర్లు టెంప్లేట్లతో మరింత సులభంగా పని చేయగలుగుతారు, మరియు కొంతవరకు ఎవరైనా నా డెస్క్ వద్దకు వచ్చి "స్మార్టీతో నేను X ఎలా చేయగలను?" నేను "వీక్షణలో X చేయవద్దు!" (10 లో తొమ్మిది సార్లు, అది సమాధానం). ఫ్రేమ్వర్క్లను కలిగి ఉండటం మా అప్లికేషన్ యొక్క ఇతర భాగాలలో ఒకే విధమైన విభజనను కనుగొనడంలో మాకు సహాయపడుతుంది. వాటిలో చాలా స్మార్టీ లేదా నా కొత్త ఇష్టమైన ట్విగ్ వంటి టెంప్లేటింగ్ లేయర్తో కలిసిపోవడానికి మద్దతు ఇస్తాయి, కాబట్టి మీరు ఎంచుకున్న ఫ్రేమ్వర్క్ను మీతో తీసుకెళ్లవచ్చు.
లోడ్ తగ్గించండి
జెండ్ ఫ్రేమ్వర్క్ కంటే తేలికైన ఫ్రేమ్వర్క్లు పుష్కలంగా ఉన్నాయి, ఉదాహరణకు నేను కోడ్ఇగ్నిటర్తో కొంచెం పని చేస్తాను. ఇది జెండ్ ఫ్రేమ్వర్క్ వలె సమగ్రంగా మరియు బలంగా ఉందా? లేదు, అది కాదు. అనువర్తనాన్ని వేగంగా రూపొందించడానికి సహాయక ఫ్రేమ్వర్క్గా, ఇది ఉపయోగపడుతుంది. సాధారణంగా, తక్కువ ‘సహాయకుడు’ కార్యాచరణ కలిగిన ఫ్రేమ్వర్క్లు మీ మార్గం కనుగొనడం సులభం, ఎందుకంటే ముక్కలు ఎలా కలిసిపోతాయో మరింత స్పష్టంగా తెలుస్తుంది. తెలియని ఫ్రేమ్వర్క్లో (నాకు, ఇది చాలా చక్కని ప్రతిదీ), ఇది ఆటోమాజికల్ బిట్స్, ఇది పని చేయడం మరియు డీబగ్ చేయడం కష్టతరం చేస్తుంది.
"క్రొత్త చట్రంలో కోల్పోతారు" అనే భావన అనివార్యమైనది మరియు పూర్తిగా నిరాశపరిచింది; అనుభవజ్ఞుడైన డెవలపర్ కూడా ఏదైనా ఎలా పనిచేస్తుందో తెలియకపోయినా క్రొత్త వ్యక్తిలా భావిస్తాడు. మీరు నిజంగా దురదృష్టవంతులైతే, మీరు ఒక ఇడియట్ అని IRC ఛానెల్ మీకు తెలియజేసే ఫ్రేమ్వర్క్ను మీరు ఎంచుకుంటారు! ఇది చాలా ప్రతికూల ప్రారంభ అనుభవం, ఇది చాలా మందిని కొత్త ఫ్రేమ్వర్క్ను ఉపయోగించడం లేదా ఒకరిని మొదటి స్థానంలో స్వీకరించడం మరియు చాలా తక్కువ ఫ్రేమ్వర్క్లు ఆ ప్రారంభ అడ్డంకిపై కొత్త వినియోగదారులకు సహాయపడే మంచి పనిని చేస్తాయి.
PHP లో మనకు కొన్ని ఫ్రేమ్వర్క్లు కూడా ఉన్నాయి, అవి నేను సాధారణంగా పదాన్ని ఉపయోగించే విధంగా ఫ్రేమ్వర్క్లు కాదు. మాకు కొన్ని మనోహరమైన భాగం ఫ్రేమ్వర్క్లు ఉన్నాయి; జీటా కాంపోనెంట్స్ (గతంలో ఇజెడ్ కాంపోనెంట్స్) మరియు సిమ్ఫోనీ కాంపోనెంట్స్ (మీరు వారి సైట్ను చూసారా? వారు ఉత్తమ కళాకృతికి అవార్డును గెలుచుకుంటారు!) వంటి ఉపయోగం కోసం మరియు చక్కగా కలిసి ఆడటానికి రూపొందించిన లైబ్రరీల సేకరణలు. వీటిలో ఉత్తమమైన మరియు చాలా తక్కువగా చెప్పాలంటే, PHP యొక్క స్వంత PEAR మరియు PECL సమర్పణలు - ఏదో ఒకవిధంగా ఈ ధైర్యమైన కొత్త ప్రపంచంలో చట్రాలు మరచిపోతాయి.
మైక్రోఫ్రేమ్వర్క్లు
మైక్రోఫ్రేమ్వర్క్లు PHP లో అభివృద్ధి చెందుతున్న ధోరణి; ఇవి సూపర్-లైట్ వెయిట్ సమర్పణలు, ఇవి త్వరగా కలిసి జిగురు చేయడానికి మీకు సహాయపడతాయి. దీనికి మంచి ఉదాహరణ స్లిమ్, ఇది చాలా వేగంగా మరియు ఉపయోగించడానికి సులభమైనది మరియు RESTful భావనలను అర్థం చేసుకుంటుంది. ఇది URL నమూనాలు అయిన ‘మార్గాలు’ ఆలోచన చుట్టూ ఆధారపడి ఉంటుంది. మీరు ఒక మార్గాన్ని నమోదు చేసి, బ్యాక్బ్యాక్ ఇవ్వండి, ఆ URL అభ్యర్థించినప్పుడు దాన్ని ప్రారంభించాలి.
చాలా మంది PHP డెవలపర్లు ఒక ఫ్రేమ్వర్క్ను అవలంబిస్తారు మరియు దానితో కట్టుబడి ఉంటారు, లేదా వారు తమ అభిరుచి లేదా ఓపెన్ సోర్స్ ప్రాజెక్టుల కోసం ఒకదాన్ని పనిలో మరియు మరొకదాన్ని ఉపయోగించవచ్చు. ఉపయోగించడానికి "ఉత్తమ" ఫ్రేమ్వర్క్ గురించి ఏకాభిప్రాయం లేదు, కాబట్టి ప్రతి ఒక్కరూ తమకు తెలిసిన వాటికి అంటుకుంటారు మరియు ఫలితం భారీ సంఖ్యలో ఫ్రేమ్వర్క్ల సమాంతర అభివృద్ధి! నేను ఎంచుకోవడానికి ఒక ఎంపికను కలిగి ఉండటానికి ఇష్టపడుతున్నాను, కాని అవన్నీ ఒకదానికొకటి చెడ్డవని నేను పేర్కొన్నాను?
మీకు జెండ్ ఫ్రేమ్వర్క్ తెలిస్తే, మిమ్మల్ని మీరు జెండ్ ఫ్రేమ్వర్క్ డెవలపర్గా వర్ణించుకుంటారు; మీకు మరొక ఫ్రేమ్వర్క్లో పట్టు సాధించే అవకాశం వచ్చేవరకు మీరు సుఖంగా రాయలేరు మరియు మీరు వాటిని తరచుగా ఉపయోగించకపోతే అనేక ముడి PHP ఫంక్షన్లను మీరు గుర్తుంచుకోకపోవచ్చు. మేము ఫ్రేమ్వర్క్-స్పెసిఫిక్ డెవలపర్లుగా మారాము, ఈ సంగ్రహణ పొరల పైన మాత్రమే పని చేస్తున్నాం అనే ఆలోచన PHP కి కొంచెం వింతగా ఉంది. అన్నింటికంటే, ఇది "వెబ్ సమస్యను పరిష్కరించడానికి" భాష. ఇది సి లో వ్రాయబడింది మరియు ఇది వేగవంతమైన, తేలికైన భాష ... పెద్ద ఫ్రేమ్వర్క్ బూట్స్ట్రాప్ ప్రాసెస్ అమలు కోసం మీకు వేచి ఉండకూడదు! ఈ సందర్భం నుండి మైక్రో పిహెచ్పి మానిఫెస్టో ఉద్భవించింది, దీనిని మనం ఫంకాట్రాన్ అని పిలుస్తాము (అతని పేరు నిజంగా ఎడ్ ఫింక్లర్ అయినప్పటికీ). ఇది చాలా చిన్న చిన్న మాడ్యూళ్ళను నిర్మించడం సరైందేనని, పెద్దది మంచిది కాదని మరియు నిజంగా, జావాకు జీవితం చాలా చిన్నది - ఇది PHP లో వ్రాయబడినా అని చెప్పే ప్రకటనల శ్రేణి.