Wakati mwingine kihariri kizuri cha PHP kinakosekana, haswa kutoka kwa mtazamo wa kufanya kazi vizuri na nambari, jambo zito zaidi kuliko kuangazia sintaksia rahisi. Wakati huo huo, wahariri wa kawaida ni dime dazeni, ambayo, kwa bahati mbaya, mwangaza sawa wa syntax haufanyi kazi kwa usahihi kila wakati.
Ningependa kuwa na utekelezaji wa kawaida wa IntelliSense, na sio mbishi wa "mbao" katika mfumo wa orodha iliyotanguliwa ya njia na viunga vya lugha ambavyo "huanguka" wakati wa kufanya kazi na au bila sababu katika mfumo wa orodha kamili. . IntelliSense lazima "ujue" juu ya madarasa yote unayotumia, juu ya njia na vigeu vyao, ambayo ni kwamba, umeunganisha faili na ufafanuzi wa darasa lako kupitia #include, na mhariri huichukua mara moja, na hivyo kusababisha habari kuhusu " wa ndani" wa vitu vya darasa hili.
Pia itakuwa nzuri kuwa na vidokezo wakati wa kuandika jina la kazi kwa namna ya maelezo mafupi ya kazi (vigezo vinavyokubalika, ikiwa kuna kazi zilizojaa, nk). Hii inakosekana haswa kwa vitendaji vya kujiandikia; katika baadhi ya wahariri wa kawaida niliona vidokezo kama hivyo, lakini tu kwa vitendaji asilia vya PHP. Ndio, pia ni rahisi sana kuhamia haraka kwa ufafanuzi wa kazi kutoka mahali inapoitwa. Kwa ujumla, ninataka mengi zaidi, na ninazingatia uwezekano huu wote kuwa sehemu tu ya vitu muhimu zaidi katika mchakato wa kuweka rekodi na sio ziada ...
Tunaweza kusema kwamba kwa maana hii, bora yangu ni mchanganyiko wa MS Visual Studio + Visual Assist, ambayo mimi hutumia ninapofanya kazi na C # na C++ (Msaada wa Kuonekana katika mchanganyiko huu ni kama kihifadhi maisha). Wakati huna haja ya kuingia kwenye faili nyingine tena ili kuangalia vigezo vya utendaji vilivyokubaliwa au majina ya washiriki fulani wa darasa, hii kwa hali yoyote inachangia tija na "uzuri" wa mchakato. Kutokuwepo kwa mhariri kama huyo kati ya zana zake kunasikitisha sana, kwa kuzingatia kuongezeka (kutoka toleo hadi toleo) asili ya kitu cha PHP.
Na hii hapa!
Bado, nilipata mhariri mzuri kwangu - . Ikiwa wewe, kama mimi, ulitumia wahariri wa kawaida ambao hubadilisha "notepad" ya kawaida na pia unatamani IntelliSense ya kibinadamu, nakushauri ujaribu kwa hakika. Kwa kuongeza, pia ni bure (kuhusu toleo la kulipwa hapa chini) na hufanya kazi kwa misingi ya mfumo wa Mozilov (XPFE), ambayo inafanya pia jukwaa nyingi.
Mhariri huyu sio mzuri, ana mambo mengi mazuri, lakini, bila shaka, bado ana nafasi ya kuboresha. Lakini, kwa ujumla, katika siku za kwanza za kukutana naye sikuwa na mipaka ya furaha :)
Inafaa pia kuzingatia msaada wa lugha zingine (Perl, Python, Ruby, Tcl), na JavaScript, CSS, HTML, XML na mengi zaidi (kwa kuzingatia orodha ya faili ambayo inaweza kufungua, inajua mengi zaidi. lugha na teknolojia, lakini sina uhakika juu ya IntelliSense kufanya kazi kwa wote). Nilishangazwa sana na msaada wa mifumo mingi maarufu ya JavaScript (hii ilikuwa muhimu kwa hili).
Labda sijapata wakati wa kusoma utendaji wote wa Hariri ya Komodo bado, lakini ningependa kuelezea vidokezo kadhaa.
Kwanza kabisa, nilibinafsisha mpango wa rangi wa kuangazia nambari kwa PHP ( Hariri -> Mapendeleo... -> Fonti na Rangi), kwa kuwa tayari nimezoea rangi kutoka.
Nyongeza nyingine muhimu ilikuwa programu-jalizi ambayo hupata TODO zote kwenye mradi au faili wazi na kuzionyesha katika orodha moja (sawa na jinsi inavyotekelezwa katika VS). Na programu-jalizi ambayo hukuruhusu kuona katika mfumo wa orodha moja madarasa na njia zote zilizofafanuliwa kwenye faili iliyo wazi () kwa urambazaji wa haraka kupitia kwao.
Kwa ujumla, kabla ya kutumia Komodo, ni mantiki kujifunza mipangilio yake, kubadilisha vigezo fulani ili kujifanyia mwenyewe. Kwa mfano, pia nilifafanua hotkey kwa kwenda kufanya kazi ufafanuzi (niliifanya F12, kama katika Visual Studio :)
Kwa ujumla, kila kitu kinafanya kazi vizuri, "dunia na anga" ikilinganishwa na kuandika katika mhariri wa kawaida.
Ni ngumu kidogo kwamba ili kuunga mkono kikamilifu IntelliSense, lazima uunda faili ya mradi (unahitaji tu kuihifadhi kwenye saraka ya mizizi ya tovuti). Hiyo ni, ukifungua faili moja nje ya mradi wa Komodo, faili zote zilizojumuishwa hazitashughulikiwa kwa njia yoyote, na, ipasavyo, Komodo haitajua chochote kuhusu kazi na madarasa yaliyoelezwa kwenye faili zilizojumuishwa. Lakini, kwa ujumla, usumbufu huu mdogo unaweza kushinda :)
Kwa upande mwingine, kuunda faili ya mradi inakuwezesha kufanya mipangilio ya kina zaidi ya mradi, ambayo imehifadhiwa na kila wakati unapofungua mradi huo, Komodo itawakumbuka. Kupitia hiyo, kwa mfano, unaweza kutaja saraka za ziada ili Komodo, wakati wa kufanya kazi na mradi wako, daima anakumbuka muundo wa madarasa na mbinu (kwa IntelliSense na zana mbalimbali za zana) zinazotekelezwa katika faili ambazo ziko kwenye saraka iliyounganishwa, hata. ikiwa faili hizi wala hazijaunganishwa (kupitia kujumuisha au kuhitaji) kwa faili inayohaririwa. Unaweza pia kutafuta au kubadilisha maandishi katika faili zote za mradi. Pia, Komodo anakumbuka alamisho unazotengeneza ndani ya nambari ( Ctrl+F2) kwa kila faili, hii ni rahisi sana.
Nilishangaa kidogo kuwa Hariri ya Komodo hajui chochote kuhusu madarasa yaliyojengwa ndani ya PHP (labda ninafanya kitu kibaya?). Kwa mfano, ikiwa unahitaji kutumia darasa la mysqli:
$mysqli = mysqli mpya(HOST, USER, PASS, MBASE); ikiwa (mysqli_connect_errno()) ( chapisha "Unganisha umeshindwa: ".mysqli_connect_error(); toka(); ) $mysqli->query("INSERT....."); $mysqli->funga();
Wakati, baada ya kuandika neno "$mysqli", ninaanza kupata mbinu za kitu hiki (ninaandika ishara "->"), Hariri ya Komodo haitaki kuuliza chochote kuhusu swala, funga, nk. mbinu, na katika upau wa hali inaapa kwamba, wanasema, sijaona hata ufafanuzi wa darasa hili ... Wakati huo huo, hakuna matatizo na kazi zilizojengwa katika PHP kwa mfano, Komodo anajua vizuri sana kuhusu mysqli_* familia ya kazi (kifuniko ambacho ni darasa la mysqli). Lakini natumai dosari hii itarekebishwa siku moja. Ikiwa, kwa mfano, unafanya kazi na hifadhidata kupitia darasa lako mwenyewe la karatasi (au kupitia kitu kama PEAR), basi haipaswi kuwa na shida na IntelliSense.
Mara moja ilinitokea kwamba wakati wa kuhariri faili ya js, Komodo hakuelewa ni mfumo gani wa Hati ya Java nilikuwa nikitumia. Lakini, kwa bahati nzuri, hii inaweza kusahihishwa kila wakati katika mipangilio yake ( Hariri -> Mapendeleo... -> Akili ya Kanuni).
Kuna toleo la kulipwa la Komodo linaloitwa Komodo IDE. Kama ninavyoielewa, tofauti kuu kutoka kwa Hariri ya Komodo iko kwenye kazi za kawaida kwa IDE nyingi. Komodo IDE ina zana za kudhibiti toleo zilizojumuishwa (SVN) na kitatuzi cha msimbo.
Kwa njia, Hariri ya Komodo bado ina kitatuzi cha awali ambacho hukufahamisha popote pale kuhusu makosa madogo kama vile nusu-koloni iliyosahaulika mwishoni mwa mstari, mabano ambayo hayajafungwa, n.k. Anaonyesha makosa kama hayo na mstari mwekundu wa wavy. Ili utatuzi kama huo ufanye kazi, unahitaji kutaja njia ya faili inayoweza kutekelezwa ya PHP na php.ini katika mipangilio ya programu ( Hariri -> Mapendeleo… -> Lugha -> PHP).
Kama unavyoona, mipangilio kama hiyo inaweza kufanywa kwa lugha zingine zote.
Baadaye
Hariri ya Komodo sasa ni zana yangu ya kila siku 🙂 Pamoja, kwa uhariri fupi wa vitu vidogo mara kwa mara, ninaendelea kutumia analog ya notepad ya hali ya juu - Notepad++, ambayo ni, ninaitumia kwa madhumuni yake halisi.
Kabla ya Kuhariri Komodo, nilijaribu pia programu-jalizi ya kuvutia ya Visual Studio inayoitwa VS.Php. Imejengwa ndani ya Visual Studio na hukuruhusu kufanya kazi na PHP kwa njia sawa na, kwa mfano, na C # (unaweza kurekebisha msimbo, IntelliSense inafanya kazi, nk). Lakini kwa namna fulani haikunivutia sana, hasa kwa kuzingatia kwamba inalipwa. Kwa kuongeza, kama ninavyoelewa, wakati wa kufanya kazi ndani yake unaweza kusahau kabisa juu ya usaidizi wa Hati ya Java, nk. Jambo lingine la kufurahisha ni kwamba, kama vile Komodo, IntelliSense haifanyi kazi kwa madarasa yaliyojengwa ndani ya PHP. VS.Php hii pia inakinzana na Visual Assist.
Kuna wahariri wengine wawili sawa ambao nilisikia kuwahusu, lakini kwa namna fulani haikutokea kuwajaribu (ifuatayo ni IMHO tu na nadhani kulingana na "uvumi"):
- Zend Studio inalipwa, kwa mujibu wa kitaalam, hisia ni kwamba ni jambo gumu na linatumika hasa katika miradi mikubwa sana na ngumu, inafaa hasa, labda, ikiwa mradi unaundwa kulingana na Mfumo wa Zend.
- Eclipse ni bure, lakini ilinitisha, uwezekano mkubwa, kwa sababu ilikuwa ngumu sana. Kama ninavyoielewa, bado unahitaji kuweza kujikusanyia kutoka kwa moduli mbalimbali. Kwa ujumla, kwa namna fulani hakukuwa na hamu ya kujua jinsi ya kusakinisha na kusanidi (lakini wakati mmoja bado nilijaribu kidogo 😉), ingawa, bila shaka, mtu anaweza kuipenda sana.
***
Ikiwa mtu yeyote anaweza kupendekeza wahariri wengine wowote akizingatia ladha yangu "ya kuchagua", nitashukuru sana. Pia itakuwa ya kuvutia kusikia kuhusu vipengele vingine vya kuvutia vya Komodo kutoka kwa wale ambao tayari wanaitumia.
Kwa ujumla, mbali na kuangazia nambari ya zamani na kubeba gari la vitendaji visivyo vya lazima! Hili ni jiwe "chungu" dhidi ya wahariri rahisi wa msimbo wanaoonekana kila mara, ambao huangazia miongoni mwa "faida" zao kichunguzi cha mfumo wa faili kilichojengewa ndani au kitu kama kihariri/kitazamaji cha hifadhidata ndogo (vizuri, kwa nini hii ni muhimu ikiwa mambo muhimu zaidi inakosekana kwa kile kihariri cha nambari kinapaswa kutumika), nk. nk.. Kwa sababu fulani, karibu kila anayeanza (ingawa labda sio mwanzilishi kila wakati) anataka "haraka" kuunda mhariri wake wa "mega", ambayo mara nyingi hubadilika kuwa "tena kitu kinachojulikana kwa uchungu"... ni wazi utamaduni huu kutoka kwa mfululizo "Hujambo Ulimwengu!" 😉
Sehemu inatumika kuhariri matokeo ya kujaza fomu za wavuti.
Inapotumiwa pamoja na sehemu Orodha ya matokeo thamani ya shamba RESULT_ID inaweza kuachwa kama chaguo-msingi. Ikiwa sehemu inatumiwa kwa kujitegemea, basi ni muhimu kuamua ambapo sehemu inapaswa kuchukua thamani ya parameter kutoka. RESULT_ID au kuiweka wazi. Sehemu ni ya kawaida na imejumuishwa kwenye kit cha usambazaji wa moduli.
Katika muundo wa mhariri wa kuona, sehemu iko kando ya njia Huduma > Fomu za Wavuti > Matokeo ya Kuhariri.
Sehemu hiyo ni ya moduli ya Fomu za Wavuti.
Mipangilio inayoamua haki za vikundi vya watumiaji kuhariri matokeo imewekwa katika mipangilio ya kila fomu ya wavuti, na katika hali ya kufanya kazi katika hali ya juu, pia katika mipangilio ya hali.
Mfano wa simu ya sehemu matokeo.ya.fomu.hariri |
---|
$APPLICATION->IncludeComponent("bitrix:form.result.edit","",Array("SEF_MODE" => "Y", "RESULT_ID" => "$_REQUEST[\"RESULT_ID\"]", "EDIT_ADDITIONAL" => "N ", "EDIT_STATUS" => "Y", "LIST_URL" => "result_list.php", "VIEW_URL" => "result_view.php", "CHAIN_ITEM_TEXT" => "", "CHAIN_ITEM_LINK" => "", " IGNORE_CUSTOM_TEMPLATE" => "Y", "TUMIA_EXTENDED_ERRORS" => "Y", "SEF_FOLDER" => "/", "SEF_URL_TEMPLATES" => Mkusanyiko("hariri" => "#RESULT_ID#/"), "VARIABLE_ALIASES" = > Mkusanyiko("mtazamo" => Mkusanyiko(), "hariri" => Mkusanyiko(),)),);?> |
Sehemu za mipangilio ya sehemu:
Maelezo ya vigezo
Shamba | Kigezo | Maelezo |
Chanzo cha data | ||
---|---|---|
Kitambulisho cha matokeo | RESULT_ID | Hubainisha kitambulisho cha matokeo ya kukamilisha fomu. Chaguo-msingi ni $_REQUEST["RESULT_ID"], lakini nambari ya php inayorudi RESULT_ID. |
Mwonekano | ||
Puuza kiolezo chako | IGNORE_CUSTOM_TEMPLATE | Chaguo hili likichaguliwa, kiolezo cha fomu chaguo-msingi kitatumika kuonyesha fomu ya wavuti, hata kama umeunda kiolezo chako mwenyewe. |
Tumia pato la ujumbe wa hitilafu iliyoimarishwa | USE_EXTENDED_ERRORS | Ikiwa chaguo limechaguliwa, pato la ujumbe wa hitilafu uliopanuliwa litatumika. |
Kusimamia anwani za ukurasa | ||
Washa usaidizi wa CNC | SEF_MODE | Chaguo likiangaliwa, usaidizi wa CNC utawezeshwa. Ikiwa hali ya usaidizi ya CNC pamoja, basi unahitaji kusanidi vigezo vifuatavyo: SEF_FOLDER, SEF_URL_TEMPLATES. |
Vigezo vya vipengele | ||
Onyesha sehemu za ziada za kuhariri | EDIT_ADDITIONAL | Ikiwa chaguo limechaguliwa, sehemu za fomu za ziada zitaonyeshwa kwa uhariri, ikiwa zinapatikana. |
Onyesha fomu ya mabadiliko ya hali | EDIT_STATUS | Chaguo likiangaliwa, fomu ya kubadilisha hali ya matokeo ya sasa itaonyeshwa. Hadhi zitapatikana kwa mujibu wa haki za mtumiaji. |
Ukurasa wa Orodha ya Matokeo | LIST_URL | Anwani ya ukurasa iliyo na orodha ya matokeo imeonyeshwa. |
Ukurasa wa kutazama matokeo | VIEW_URL | Anwani ya ukurasa wa kutazama matokeo imeonyeshwa. |
Jina la kipengee cha ziada kwenye mnyororo wa mkate | CHAIN_ITEM_TEXT | Jina la kipengee cha ziada katika msururu wa urambazaji limeonyeshwa. Ikiachwa wazi, kipengee hakiongezwe kwenye msururu wa urambazaji. |
Unganisha kwenye kipengee cha ziada kwenye mnyororo wa mkate | CHAIN_ITEM_LINK |