තේරෙන සිංහලෙන් php ඉගෙන ගනිමු

magicwithhasitha

Well-known member
  • Sep 15, 2011
    3,195
    866
    113
    සංසාරේ
    තේරෙන සිංහලෙන් php ඉගෙන ගනිමු

    Codeigniter Php Framework - තේරෙන සිංහලෙන් php ඉගෙන ගනිමු!​

    codeigniter_zps933028cd.jpg

    මුලින්ම කියන්න ඕනා මේක කියවන්න කලින් ඔයා php බේසික් ටිකක් දැනගෙන ඉන්න එක වටිනවා. php classes ගැන, php function ගැන. ඒ වගේම php වැඩ කරන විදිහ ගැන එහෙම පොඩි අවබෝධයක් තියෙනවා නම් හොදයි. මහා ලොකුවට php දැනගෙන ඉන්න ඕනේ නැහැ. පොඩි බේසික් idea එකක් තිබුනොත් හොදයි. php බේසික් ඉගෙන ගන්න ඕනෙනං කියන්න වෙලාවක් බලලා php basic tutorial ටිකක් දාන්නම්. (මේකේ මට වඩා හොදට php දන්න අයියලා ඉන්නවා බොලව් )php එලටම දන්නා බුවාලා ඉන්නවනම් සප් එකක් දෙන්න හොදේ. වරදක් තිබුනොත් පෙන්නල පොඩි සප් එකක් දෙන්නට. බයිලා ගැහුවා ඇති වැඩේ පටාන් ගමු.

    රයිට් මොකක්ද මේ codeigniter. codeigniter කියන්නේ php වලට තියෙන හොද MVC open source Framework එකක්.ඕන කෙනෙක්ට ඉගෙන ගන්න ගොඩක් ලේසි,මහා ලොකු configuration නැති Framework එකක්.

    වැඩ ටික පටන් ගන්න කලින් codeigniter ඉතිහාසය පොඩ්ඩක් කතා කරමු. codeigniter මුලින්ම release උනේ 2006 අවුරුද්දේ, ඒ වගේම latest version එක 2.2.0 විදිහට release උනේ 2014 ජුනි මාසේ.codeigniter කියන්නේ අනිත් php frameworks එක්ක බැලුවම හුගක් light weight framework එකක් ( light weight එකට කියන සිංහල ගැලපෙන තේරුම දන්නේ නැහැ), ඒ වගේම ගොඩක් speed. ඒ වගේම හොද documentation එකක් තියෙනවා. codeigniter මල්ලිගේ developers ලා තමයි EllisLab... මෙයාලා මේ දවස් වල codeigniter මල්ලිට වෙන අම්මා කෙනෙක් හොයනවා කියලා ආරංචි. :sorry::sorry::sorry::sorry:

    ( මෙතැනදී මම ගොඩක්ම target කරන්නේ php දන්න හැබැයි තාම framework එකක වැඩ කරපු නැති අය‍ට නිසා framework එකක් කියන්නේ මොකක්ද, MVC කියන්නේ මොකක්ද කියල කෙටියෙන් කියන එක හොදයි කියල හිතෙනවා ) :yes::yes::yes:

    හරි දැන් codeigniter කියන්නේ මොකක්ද කියන එක ගැන පොඩි අයිඩියා එකක් ඔයාලට ඇති.. දැන් බලමු මොකක්ද framework එකක් කියන්නේ කියල.. php framework එකක් කියන එක කෙටියෙන් කිව්වොත්.. files ගොඩක එකතුවක්. ඒ files ඇතුලේ php classes, function තමා තියෙන්නේ. ( php file වලට අමතරව තව ඒවා තියෙනවා ඕක අස්සේ.. ඒවා ගැන කතා කරන්න ගියොත් අද වැඩක් කරන්න වෙනේ නැහැ ) අපේ වැඩ ලේසි කර ගන්න, කවුරු හරි කෙනෙක්, එහෙමත් නැත්තම් කට්ටියක් එකතු වෙලා තමයි මේවා හදන්නේ.ඉතින් මේකෙන් වෙන්නේ අපි හති දාගෙන කරන වැඩ හරි ලේසියෙන් අපිට කරන්න පුළුවන් වෙනවා.. උබලටත් ඕනේ නම් උබලගේම framework කැල්ලක් හදාගන්න පුළුවන්. :baffled::baffled:

    මෙහෙම හිතන්නකෝ ඔයාලගේ ගෙදර ඇඳක් නැහැ:rolleyes: ඉතින් ගෙදර උන්දැගෙන් බර බරේ හැම දාම පැදුරේ ජිගි ජිගිය දාන්න බැහැ කියල.. ;);)ඉතින් උබට option දෙකක් ලැබෙනවා, පළවෙනි option එක තමයි ගෙදරට ඕන කරන ඇඳ උබම ගෙදරදී හදා ගන්න එක. දෙවැනි option එක තමයි මොකක් හරි furniture show room එකට ගිහින් උබට ඕන විදිහේ ඇඳක් ගන්න එක.. ඔන්න ඔය දෙවෙනි option එක වගේ තමයි framework එකක් කියන එක... ඔයාට පුළුවන් ඔයාගේ විදිහට code කරලා වැඩ කරන්න framework use නොකර, හැබැයි එකට වෙලාව ගොඩක් යනවා, හුගක් මහන්සි වෙන්න ඕනා. ( කියන්න හැදුව දේ තේරුනා නේ ) :oo:


    හරි දැන් බලමු මොකක්ද මේ MVC කියන්නේ කියල,

    MVC කියන්නේ Model view controller කියන එකට, MVC කියන්නේ ඔයාගේ ප්‍රෝග්‍රෑම් එකේ code එක layout කරන විදිහ ගැන කියවෙන හරිම සරල design pattern එකක්.( design pattern එකක් කියන්නේ පොඩි rules ටිකක් කියල මතක තියා ගන්නකො - මොකද ඕක ගැන මෙතන කතා කරන්න වෙලා නැහැ .) ඉතින් මොකද මේ MVC එකේ කියන්නේ . හරි සරලයි හිතන්නකෝ එක php file එකක් තියෙනවා එකේ HTML code ටිකයි, php code ටිකයි.. CRUD function ටිකයි, තියෙනවා කියලා ( C-create , R-read , U-update , D-delete database එකත් එක්ක වැඩ කරන function ටික ) MVC එකෙන් කියන්නේ මේවා වෙන් වෙන් වශයෙන් තියන්න කියල

    view - කියන කොටසට අයිති වෙන්නේ front end එක එහෙමත් නැත්තම් interfaces.(html කොටස )

    model - කියන කොටසට අයිති වෙන්නේ CRUD කොටස එහෙමත් නැත්තම් database එක්ක වැඩ කරන function ටික .

    controller -කියන කොටසට පැවරිලා තියන රාජකාරිය තමයි මේ model එකයි view එකක් අතර අතරමැදියෙක් විදිහට ඉදන්, එයාලට උදව් කරන එක. උදාහරණයක් විදිහට ගත්තොත් view එකකට ඕනා අපේ database එකේ තියන මොනවා හරි data ටිකක් අපේ සිස්ටම් එක use කරන user කෙනෙක්ට display කරන්න. ඉතින් controller එක කරන්නේ model එකෙන් මේ ඕන කරන data ටික database එකෙන් අරගෙන view එකට දෙන එක,
    එහෙමත් නැත්තම් මෙහෙම හිතන්නකෝ.. අපිට ඕන කරනවා database එකට මොනවා හරි data ටිකක් system එක use කෙනෙක්ගෙන් අරගෙන save කරන්න. ඉතින් controller එක කරන්නේ view එකෙන් ඕන කරන data ටික අරගෙන model එක හරහා ඒ data database එකට save කරන එක.


    mvc_zps7ab2e169.png


    හරි දැන් බලමු මොනවාද ඕන කරන දේවල් කියලා මේ framework එක ඉගෙන ගන්න.

    01.xammp or Lamp or Mamp or Wamp ( මම use කරන්නේ xammp server එක apache)
    02.හොද IDE එකක් හරි text editor එකක් හරි Netbeans,Sublime text තමයි මම වැඩිපුරම ushttp://ellislab.com/codeigniter/user-guide/ මම Sublime text තමා use කරන්නේ )
    03.codeigniter framework එක.


    හරි මොනවා කරන්නත් කලින් මේක download කර ගන්න එපැයි. මෙන්න මේ ලින්ක් එකට ගිහින් download කර ගන්න

    To Download Click Here <2.5 mb>

    Click Here to Codeigniter user Guide


    download කරගෙන ඉවර වෙලා ඔය zip file එක extract කරලා ඔයාගේ server root directory පොජ්ජට දා ගන්න... (xammp එකේ නම් htdocs folder එක ඇතුලට.) ( wamp එකේ නම් www folder එකට ) :yes::yes:

    හරි දැන් ඔයා ගේ server එක start කරලා.. web browser එකෙන් localhost එකට ගිහින් අපි කලින් server root directory එකට කොපි කරපු codeigniter folder එකට යන්න. වැඩේ ගොඩ නම් මෙන්න මේ

    welcome screen එක එයි. :cool::cool:


    welcome_zps54fc22e3.png


    බඩු ආවනේ එළකිරි වගේ,(පැදුරේදී ආපු ඒවා නෙවෙයි ) :P:P

    හරි දැන් එහෙනම් codeigniter folder එක අපේ text editor එකෙන් open කර ගමු.

    content_zps1a0bd1ca.png


    ඔයාලට දැන් පේනවා ඇති application, system, user_guide කියල කොටස් 3 ක් තියෙනවා.

    application කියන එකේ තමයි අපි ගොඩක්ම වැඩ කරන්නේ, අනිත් ඒවා ගැන කතා කලොත්,
    system කියල තියෙන්නේ codeigniter එකට වැඩ කරන්න උදව් වෙන classes තියෙන්නේ ඔතන.( ඕක අපිට වැඩිය අදාළ නැහැ ):sorry::sorry:
    user_guide කියල තියෙන්නේ codeigniter user guide එක, එක ඔයාට localhost එකෙන්ම access කරන්න පුළුවන්. :yes::yes:

    ඊට අමතරව ඔයාට පේනවා ඇති index.php කියල file එකක් තියෙනවා එක තමයි main file එක, ඕකෙන් කරන්නේ, ඔයාව ගැලපෙන controller එකට redirect කරන එක.


    userguide_zps11506e70.png


    හරි අපි දැන් යමු application folder එකට,

    applicationfolder_zps1db5b7c0.png


    application folder එක open කලාම ඔයාලට තව folders ගොඩක් දකින්න ලැබෙයි. මේ තැන තියෙන සමහර ඒවා අපි හැම project එකකදීම use කරන්නේ නැහැ. නමුත් සමහර folders අපිට හැම project එකකදීම use කරන්න වෙනවා.. ඔය folders දිහා බලනකොට ඔයාට පෙනෙයි models, views, controllers කියල folders 3ක් ඔන්න ඔය folders එක්ක අපි හැම project එකකදීම වැඩ කරනවා. :yes::yes::yes:

    හරි ඔයා codeigniter පලවෙනි වතාවට use කරන නිසා ඔයා මුලින්ම යන්න ඕනා ඔතන තියෙන config කියන folder එකට. ඔතනින් තමයි අපේ project එකට අදාලව codeigniter framework එක config කර ගන්න තියෙන්නේ.

    හරි එහෙනම් අපි දැන් යමු config folder එකට ,


    config_zps2e8bfc82.png


    දැන් ඔයාට php files 14 පෙනෙයි. ඔය 14 අපිට දැන් වැඩක් නැහැ.. ඔයාලට පෙනෙයි config.php කියන file එකක්, ඔන්න ඕක තමයි අපිට දැන් ඕන කරන්නේ . ඔක ඔයාගේ editor එකෙන් open කර ගන්න. දැන් ඔයාට පහල image එකේ
    වගේ file එකක් open වෙයි.


    configfile_zps1fd3fcc9.png


    පොඩ්ඩක් file පහලට උඩට ගිහින් බලන්න තේරුම් ගන්න පුලුවන්ද කියල.. තේරෙන්නේ නැත්තම් පුතේ කමක් නැහැ. තේරුණා වගේ හිටු! :P:P:P ( තේරුම් ගන්න පුළුවන් බං හොදට comment දාලා තේරුම් කරලා තියෙන්නේ ) හරි දැන් ඇති ඔකේ උඩ පහල ගියා.. ඔය file එකේ උඩම ඇති 17 line එකේ base url කියල එකක්. ඕක හිස් තිබ්බට අවුලක් නැහැ මොකෝ ඕක auto fill කරනවා codeigniter එකෙන්. ( ඔකේ තියන ඒවා මොනවාද කියල පොඩ්ඩක් හොයල බලපං ) හරි අපිට දැනට ඕන කරන එකක් තියෙනවා හරියටම 227 වෙනි line එකේ Encryption Key මේකට ඔයාට කැමති විදිහට අකුරු 32ක් දෙන්න..ඔයා session class එක එහෙම use කරනවානම් අනිවා මේකට value එකක් දෙන්න.

    encryption_zps4f4bdebb.png


    හරි දැනට ඔය ඇති දැන් අපි යමු database.php file එකට, මෙතනින් තමයි ඔයාගේ project එකට අදාළ database configuration කරන්න තියෙන්නේ . හරි file එක open කර ගන්න කෝ.

    db_zps5282aa64.png


    හරි දැන් ඔය උඩ image එකේ තියෙනවා වගේ hostname කියන තැනට ඔයාගේ හොස්ට් name එකත් ( localhost)
    username කියන තැනට ඔයාගේ database user name එකත්,
    password කියන තැනට ඔයාගේ database password එකත් ,
    database කියන තැනට ඔයාගේ database name එකත් දීලා file එක save කරන්න.

    හරි දැන් database එකත් config කරලා ඉවරයි. දැන් යමු autoload.php file එකට,

    autoload_zps8a711cea.png


    මොකක්ද මේ autoload.php එකෙන් වෙන්නේ.. මේකෙන් වෙන්නේ මෙන්න මෙහෙම දෙයක්..මතකද මුලින්ම මම index.php කියල main file එකක් ගැන කිව්වා (mention in above ) ඒ file එකෙන් කරන්නේ ඔයා එන url එකට අදාලව ඔයාව ගැලපෙන controller එකට redirect කරන එක..

    codeigniter එකේදී, ,මුලින්ම run වෙන්නේ controller එක controller එකෙන් තමයි view ඒක load කරන්නේ. ඉතින් මේ autoload එකෙන් කරන්නේ අර controller එක load වෙනකොට එකට අපි autoload වෙන්න දාල තියෙන library, helper, etc load කරන එක. ගොඩක් වෙලාවට autoload එකේදී load කරන්නේ හැම controller එකේම use වෙයි
    කියල හිතෙන Libraries, helpers විතරයි. අනිත් ඒවා ඒ අදාළ controller එකේදී අපිට ඕනේ නම් manually load කර ගන්න පුළුවන්.( ඒ වා ගැන පස්සේ කතා කරමු):confused:

    හරි දැන් ඔතන Auto-load Libraries කියන තැනට database කියන එක දෙන්න ඔයාට session කියන Library එකත් ඕනේ නම් ලොඩ් කරන්න පුළුවන්. example එක බලන්න comment එකේ තියෙන. :D:D

    හැබැයි session library එක autoload කරනවා නම්. ඔයා අනිවාර්යයෙන් config.php එකේ encrytion key එකක් දීලා තියෙන්න ඕන නැත්තම් error එකක් එනවා. :yes::yes: auto load helper files කියන තැනට url කියල දෙන්න. url helper එකෙන් කරන්නේ අපේ එකත් එකක් වැඩ කරන්න ඕන කරන්න function ටික supply කරන එක .

    හරි දැනට configuration part එක ඉවරයි. ( අම්බෝ මහන්සි බොලව්.. බඩත් ගිනි ) දැන් අපහු අපේ project එක browser එකේ reload කර බලන්න මුලින් අපු welcome screen එක එනවද කියල.. එන්නේ නැත්තම් කොතන හරි අනාගෙන තමයි. දැනට ඇති මචංලා, ත්‍රෙඩ් එක හිතුවට වැඩ දිග වැඩි උනා. මල ගෙදරක යන්නත් තියෙනවා. :(:( අවුල් තියෙනවම් අහන්න. පුළුවන් විදිහට උත්තර දෙන්න බලන්නම්.. එහෙනම් කොමෙන්ටුවක් කොටලා යමු..


    ඊලග ත්‍රෙඩ් එකේදී MVC එකත් එක්ක පොඩි සෙල්ලම් දාල database එකත් එක්ක වැඩක් දාමු.

    එහෙනම් මම කැපුනා.. තෙරුවන් සරණයි, දෙව් රැක වරනයි ! :dull::dull::dull:
     

    Isuru19901227

    Well-known member
  • Dec 30, 2012
    689
    667
    93
    Good post machane mama past week eka codeiigter use kara harima lasie habi podi gameake dune index.php eka remove karana thami :(. Habi dane wada rewirte modes wanase akra and .httpaccss file eka change kara. :) Podak kiyana puluwaneda Boosttrap waline responsive layout ekak hada gana widiya
     

    r1a

    Well-known member
  • Jan 3, 2013
    943
    21
    48
    ela machan digatama karagena palayan.godak un patan gannawa vitarai magadi hoyagannath na.godak hoda wadak !
     

    ilanganthilaka

    Well-known member
  • Jun 4, 2008
    12,436
    1,004
    113
    නියම වැඩක් සහෝ
    මේ ගැන සිංහලෙන් තියන පාඩම් ගොඩක් අඩුයි.
    වැඩේ දිගටම කරගන යමු.
    පුළුවන් හෙල්ප් එකක් දෙන්නම්
    රේප් +