Thursday, September 15, 2011

symfony ගැන බිදක්... (symfony Framework)

                   සරලවම කිව්වොත් symfony කියන්නේ web applications  නිර්මාණය කිරීම සදහා වන, PHP වලින් ලියන ලද framework එකක්. Pure PHP පාවිච්චි කරනවට වඩා symfony පාවිච්චි කරන එකෙන් අපිට ගොඩක් පහසුකම් සැලසෙනවා. අපේ application එක එක හොද පාලනයක් ඇතිව හසුරුවන්න, පැහැදිලි code එකක් ලියන්න, ඒ වගේම MVC (Model-View-Controller) architecture එකට අනුකූලව application ලියන්න symfony අපට උදව් වෙනවා. අපිට application එක භාගයක් develop කරල තියෙද්දී වුනත් DBMS එක වෙනස් කරගන්න අවශ්‍යය වුනොත් (උදා :- MySQL වල ඉදන් Oracle වලට) ඒකට පවා symfony අපිට පහසුකම් සලසනවා. ඒ තරම් ලොකු configurability එකක් symfony පාවිච්චි කරල තියෙන application එකකට තියෙනවා.

                             symfony application එකක් configure කිරීම සදහා පාවිච්චි කරල තියෙන්නේ  YML (YAML) කියන file format එක. YML කියන්නේ භාවිතයට සහ තේරුම්ගැනීමට ඉතමත් පහසු, XML වලටත් වඩා සරලව data දක්වන්න පුලුවන් markup language එකක්. අපේ application එකේ database එක නිර්මාණය කරන එකත් මේවගේ සරල YML file එකකින් කරගන්න පුලුවන්.

         symfony වල විශේෂත්වයක් තමයි internationalization වලට support කරන එක. ඒ කිව්වේ අපිට පහසුවෙන් application එකේ language එක change කරගන්න පුලුවන්. ඒ සදහා අපි වෙනම XML file එකක් පාවිච්චි කරනවා අදාල වචන ටික store කරගන්න.

                   ඒ වගේම  තවත් දෙයක් තමයි symfony පාවිච්චි කරලා හ
න form එකක තියෙන widgets (HTML form elements) වලට වෙන වෙනම server side validation rules add කරන්න පුලුවන් වීම. මේ නිසා අපිට client side validation නැති වුනත් data  validate කරන්න additional codes ලියන්න අවශ්‍යය වෙන්නේ නැහැ. ඒ වගේම application එකට එවන unauthorised data ලිනුත් application එක ආරක්ෂාකරගන්න පුලුවන් මේ validators තියෙන නිසා.

                symfony වල MVC architecture එක ගෑන පොඩ්ඩක් සදහන් කලොත්, DBMS සමග data transaction  කිරීමත්, application එකේ business logic එක ක්‍රියාත්මකවීමත් Model Layer එකෙනුත්, ඒ  data පාවිච්චි කරල Graphical User Interface එකේ ඒවා පෙන්වන එක View Layer එකෙනුත්, application එකට එන request handle කිරීම සහ ඒ අනුව response එකක් දීම Control Layer එකෙනුත් සිදු වෙනවා.

                   symfony framework එක ඈතුලේ, databse transactions පහසුවෙන් කරගන්න Doctrine කියන ORM (Object Relational Mapper) එක පාවිච්චි කරල තියෙනවා. හරියට java වල ORM එකක් විදියට  hibernate පාවිච්චි කරනව වගේ. Doctrine ගැන තවත් ලිපියකින් කතාකරන්න බලාපොරොත්තු වෙනවා.

                             ලිපියේ මුලින් සදහන් කරල තියෙන විදියට DBMS එක මාරු කරන විදිය ගැන පොඩ්ඩක් කතාකලොත්, ඒ විදියට database එක මාරුකරගන්න හැකිවෙන්නේ අපේ database එක සහ Doctrine භාවිතා කරලා තියෙන Model Layer එකත් අතර PDO(PHP Data Object) Layer එකක් තියෙන නිසා. මේ PDO Layer එක නිසා අපි පාවිච්චි කරන DBMS එක ගැන තැකීමකින් තොරව එහි තියෙන data වලට access කරන්න පුලුවන්. මේ හැකියාව symfony වලට ලෑබිලා තියෙන්නේ data transactions වලට ORM එකක් පාවිච්චි කරලා තියෙන නිසායි.

                     symfony ගැන මා දන්න දේවලින් ටිකක් ඔබ එක්ක බෙදාගන්න එක තමයි මේ ලිපියේ අරමුණ. ඔබ මේ ලිපිය කියවීමෙන් ඒ මගේ අරමුණ සාර්තක වුනානම් ලිපිය පිලිබද ඔබේ අදහස දැනගැනීමට කැමැත්තෙමි.


Sunday, September 11, 2011

අනාගතය අදයි...

මොහොතින් මොහොත ජීවිතය නොනෑවතී ඉදිරියටම ගලයනවා. ඉපදුන දවසෙ ඉදන් අද වෙනකන් කොච්චර දේවල් කරන්න ඈතිද? කොච්චර දේවල් දකින්න ඈතිද? කොච්චර දේවල් අහන්න ඈතිද? ඒ අහපු-දෑකපු, කරපු-කියපු දේවල් වලින් කොතරම් අත්දෑකීම් ලබාගන්න ඈතිද? එහෙම ලබගත්තු අත්දෑකීම් වලට පින් සිද්ද වෙන්න අද අපි යමක් කමක් දන්න පුද්ගලයෙක් වෙලා සමාජයේ ජීවත් වෙනවා.
          ඒත් එක මොහොතක් හිතල බලන්න. ඒ ලබාගත්තු අත්දෑකීම් වලින් පන්නරය ලබන්නට හේතු වෙච්ච තමන්ගෙම ආදරනීය අම්මා, තාත්තා, සහෝදරයෝ වෙනුවෙන්, කොච්චර කෑපකිරීමක් තමන් කරල තියෙනවද? ජීවිතේ කෙලවර කොතනද කියල අපි කාටවත් කියන්න බෑහෑ. අ දවසේ හදිසියේම ජීවිතයට සමු දෙන්නට උනොත්, තමන් ඒ අය වෙනුවෙන් කරපු කෑපකිරීම් වලින් සෑහීමකට පත් වෙන්නට පුලුවන්ද? ඒ වගේම තමන් අද ඉන්න තත්වේ ලබාගන්නට හේතු වුනේ නිදහස් අධයාපනය නම් ඒ උතුම් නිදහස් අOHපනය රෑක ගෑනීමට ඔබ කෙතරම් දායක වී ඈතිද? තමන් ඉගෙනගත්තු ඒ විදු භූමියට කෙතරම් උදව් කර ඈතිද? ඒ කරපු දේවල් වලින් සෑහීමකට පත් වෙන්නට පුලුවන්ද?
               පරාර්ථකාමී වෙන්න කොච්චර අමාරුද? ඒත් ලේසියෙන්ම ආත්මර්ථකාමී වෙන්නනම් පුලුවනි. පොඩ්ඩක් හිතල බලන්න තමන් මොනවගේ කෙනෙක්ද වෙන්න ඕනේ කියලා. අමතක කරන්න එපා, අපේ අනාගතය අදයි...