Kai aš pradėjau programuoti tiek programinio kodo logiką, tiek atvaizdavimą dėjau į vieną vietą. Tai tikrai yra blogai, nes skaitomumas stipriai sumažėja. Šiektiek paaugus pradėjau naudoti paprastą šablonų sistemą phemplate. Viskas gerai, kol neprireikia šiek tiek paprastos logikos. Tada prade naudoti įvairiausius apgaulės būdus, kurie tikrai nėra patogūs. Žinoma galima pasirinkti šablonų sistemą kuri turi savyje logikos, kad ir smarty. Bet visuomet susiduriama su tokių šablonų trūkumais, nes atsiranda tikrinimo variantai, kurių pati sistema nepalaiko. Tada pagalvoji, kad geriausia šablonų sistema yra pati programavimo kalba. Tereikia atskirti failais logiką bei atvaizdavimą ir štai mes turime galingą šablonų sistemą. Bet vis dėl to jei esate pririštas prie smarty galima pasidžiaugti, kad galima kurti papildomas galimybes pačiam.
Visai neseniai man reikėjo susirasti paprastą sprendimą php komandai in_array. Smarty to nepalaiko. Pasinaudojus “insert” galimybę sukuriamas naujas pluginas.
function smarty_insert_code_in_array($params, &$smarty)
{
$bResult = false;
if (isset($params[’value’]) && isset($params[’array’]) && is_array($params[’array’]))
{
if (in_array($params[’value’], $params[’array’])) {
$bResult = true;
}
}
if (!isset($params[’var’])) {
$outvar = “rez_inarray”;
}
else {
$outvar = $params[’var’];
}
$smarty->assign($outvar, $bResult);
}
Šį failą įrašome tarkim čia smarty/plugins/insert.code_in_array.php
O panaudoti gan paprasta:
{insert name=”code_in_array” array=$manomasyvas value=$ieskomareiksme var=”atsakymas”}
ir turėsime mes kintamąjį $atsakymas kurį jau galėsime panaudoti.
Vienas iš geriausių redaktorių, kuris skirtas bet kuriai programavimo kalbai (na galbūt visom) yra Eclipsė. Ji yra kaip varikliukas turinti kažkokias pagrindines savybes, ji gali būti stipriai išplečiama taip vadinamais pluginais, kurių daugelis yra nemokamų. Tarkim pats mieliausias (bent man) CVS / SVN integracija yra eklipsėje. Kodėl? Ogi visų pirma susinchronizuoji pakeitimus… palygini su dabartine versija, o tik poto atlieki vaiksmus (update / commit).
Skaityti toliau »
Turbūt, kaip ir daugeliui žmonių tenka dirbti ne su vienu projektu ir turiu keletą savo pamėgtų funkcijų skirtų testavimui / duomenų atvaizdavimui. Ne visuomet galima savo tas specifines funkcijas traukti į projektą, ypač jai jas naudoji tik pats. Arba ši situacija panaši ir į tą, kai serveryje reikia kažkokių bendrų pasirašytų mechanizmų, kuris paleidžiamas prieš pagrindines programas. Kokios jos gali būti, tai jūsų vaizduotės vaizdas. Ką reiktų daryti?
Ogi atsidarome php.ini failiuką susrandame eilutes ir šiektiek paredaguojam:
; Automatically add files before or after any PHP document.
auto_prepend_file = “D:/!Server/PHP/autoopen.php”;
#auto_append_file =
Pvz maniškiame sėdi viena dažniausių naudojamų mano specifinių (patobulintų) funkcijų. Kas gali būti pas jus… tai jūsų vaizduotės vaizdas.
-
function print_r_($var , $title = “PRINT_R”) {
-
-
$str[] = “<pre style=’font-family:arial;’>”;
-
-
$str[] = “</pre>”;
-
whyout
(implode(“\n“,
$str),
$title);
-
}
-
-
function whyout($data, $title = “TITLE”) {
-
-
$str[] = “<div style=’background-color:#E6E6E6;color:black;font-size:10px;
-
font-family:Arial;padding:2px;font-weight:normal;text-align:left’>”;
-
$str[] = “<div style=’color:white;background-color:#003366;
-
padding:2px;margin:0px;font-weight:bold;’>”;
-
$str[] = $title;
-
$str[] = “</div>”;
-
$str[] = $data;
-
$str[] = “</div>”;
-
-
}
Kas nesuprato, tai paprasčiausias print_r. tik šiek tiek grafiškai apipavidalintas. Bent man jis daug produktyviau veikia, nei paprastas variantas.
Vietoj įžangos
Šiuo pirmu įrašu norėčiau pradėti “paskaitų ciklą” apie teisingą programavimą. Informacija bus pateikiama ne tik iš mano asmeninės patirties, bet ir iš kitų šaltiniu. Tikrai nesakau, kad viską aš čia surašysiu, bet tai bus puiki pradžia. Reiktų atkreipti dėmesį į tai, kad su bet kuria programavimo kalba galima programuoti tiek saugiai, tiek ne. Kadangi PHP yra populiariausia programavimo kalba bei mano duona - mano kalba bus daug labiau pritaikyta PHP.
Skaityti toliau »
Kas buvo security training’e turbūt laukiate skaidrių. Jas jau galite parsisiųsti.
O tą žadėtą konferencijos saugumo aprašymą vis dar rašau (sėdi vis dar draftuose) . Po truputėlį… nesinori bet kaip viską aprašyti.
Kiekvienas dirbantis savo srityje turi įrankius, web programuotojas ne išimtis. Kadangi esu PHP programuotojas parašysiu ką naudoju ir kokie įrankiai po ranka.
- Zend Studio - turintis daug gerių savybių PHP redaktorius… deja kainuojantis.
- Eclipse - Galingas redaktorius skirtas redaguoti įvairių progamavimo kalbų kodui su sintaksės spalvinimu, autocomplete palaikymu ir t.t. Tereikia įsidiegti papildomus pluginus ir jūs turėsite naujų savybių. Šioje programoje yra bent man geriausias matytas CVS/SVN palaikymo pricipas: sinchronizacija skirtymų - atnaujini tik tai ką tau reikia. Na PHP programuotojai gali pradėti diegti nuo PHPEclipse iškart gaus PHP palaikyma. Nemokamas
- SQLyog MySQL GUI - Community Edition - MySQL duomenų bazės programėlė. Patogu testuoti užklausas, analizuoti struktūras ir t.t. Maloniausia, kad ši versija nemokama. Mokomoj versijoje atsiranda kitų gerų toolsų, tokių kaip duomenų bazių palyginimas (skirtumai ir etc), sinchronozavimai, exportavimai/importavimai iš įvairių formatų. Nemokamas
- WinMerge - Failų skirtymų palyginima.
- The Regex Coach - reguliujų išraiškų programėlė. Palengvina regex’ų rašya
- Na turbūt į sąrašą reiktų įtraukti ir žymujį PHPMyAdmin bet PHP manualą (tiesa chm formate su paieška ir komentarais) :)
Kas būtų dar naudinga? Jūsų nuomonė…
Registracija į PHP konferenciją prasidėjo, užpildžius simple formą - tereiks laukti konferencijos dienos. Paskubėkite nes tik 80 vietų yra viso.
Heh paskutiniai mano postai vien apie konfas ir kas su tuo susiję. Šis postas ne išimtis. Turbūt daugelis pasigedo, kad būsimoje PHP konferecijoje trūksta saugumo temos. Na vietoj mažos paskaitėlės galima pasiųlyti net 2 dienų paskaitas, o temų gvildenamų tikrai ne viena ir ne dvi.
Saugumo konferencija praves Johann-Peter Hartmann (CTO, Mayflower GmbH) iš Vokietijos. Šis žmogelis php dokumentacijos komandos narys, prisidėjas prie PEAR, PECL projektų. Ne tik rašė straipsnius į įvairius žurnalus, ar dalyvaudavo konferencijose kaip skaitovas, bet ir atilieka saugumo auditus žymiems projektams, bankams ir pan.
Šis pasisėdėjimas vyks net 2 dienas, ir deja kainuos 60Lt. Bet palyginus informacijos kiekį, tai tikrai maža suma.
Platesnė informacija technopark svetainėje ir ten galėsite registruotis.
Veiksmas bus Kaune, KTU verslo inkubatoriuje (2007 04 16-17). Jei žmonių bus daugiau vieta gali kisti.
Jau paskelbtos PHP konferencijos temos. Manau ši konferencija bus viena įdomiausiu ir vertingiausių. Kviečiu dalyvausti visus PHP entuziastus. Malonaus susitikimo.
Paskelbtos temos (gal bus daugiau…)
- Tu jais netikėk: Istorijos ir mitai iš PHP fronto
Domas Mituzas, Support Engineer MySQL
- Automatinis PHP programų testavimas su praktiniais pavyzdžiais
Tomas Liubinas, OXID eSales GmbH vyr. programuotojas, pirmas Lietuvoje Zend sertifikuotas inžinierius
- PHP ir dideli duomenų kiekiai
Ričardas Švarplis, UAB Net Frequency vyr. programuotojas, duomenų bazių specialistas
- Geras kešas, blogas kešas. Bernardinai.lt perdarymas
Emilis Dambauskas [lunaticLT]
- Projektų valdymas mažose komandose
Juozas Šalna [pukomuko]
- Metodologijos = bullshit’as! Kuriame savo metodologija
Vilius Zigmantas, MTV Networks Baltic IT analitiko ir Digital Operations Manager
- Metaprogramavimas PHP5
Artūras Šlajus [arturaz]
- REST
Rimantas Liubertas [ImCat], W3C standartų guru
Vieta: Studentų g. 48a-337 (DMC salė)
Laikas: 11:00 Balandžio 14d
2007 balandžio 14 dieną vyks turbūt jau ketviroji PHP konferencija.
Šiuo metu jau žinomi keli pranešėjai: Emilį Dambauską [lunaticLT], Domą Mituzą [dammit], Artūrą Šlajų [arturaz]
Jei turite idėjų dėl pranešimų, temų vis dar nevėlu siųlyti koordinatoriams.
Platesnė informacija oficialiame puslapyje .
Manau ši koonferencija bus daug įdomesnė ir pažengusiems, ir žinoma naujokams.