PHP ~ Laravel Framework ගැන

thedigit2s

Well-known member
  • Oct 3, 2009
    2,751
    3,144
    113
    37
    @ katubedda
    එල මචො. තමන් දන්න දෙයක් තව කෙනෙකුට කියලා දෙනවා කියන්නේ උබ එල කොල්ලෙක්.
     

    P_Namal

    Active member
  • Oct 19, 2007
    862
    224
    43
    Laravel Installation - part 01

    Installation part එක බලමු දැන්. :yes:

    Laravel install කරගන්න නම් තමන්ගේ computer එකේ local environment එක හදාගෙන තියෙන්න ඕන මුන්ගේ Requirement වලට අනුව. මම නම් කියන්නේ WAMP / LAMP / MAMP වගේ local servers ලේසියට දාගෙන කරන්නේ නෙතුව ටිකක් වෙලාව අරන් Vagrant දාගෙන බලහන්. පට්ට knowledge එකක් ගන්න පුළුවන්. :D:D

    කොහොමහරි Laravel install කරගන්න php 5.6.4 වත් තියෙන්න ඕන. එහෙම නැත්තන් php upgrade කරගන්න වෙනවා. අපේ local එකේ අනිත් projects තියෙනවා නම් එතන පොඩි risk එකක් තියෙනවා php upgrade කරාම. සමහර දේවල් වැඩ කරන්නේ නැති වෙන්නත් පුළුවන්. නමුත් Vagrant use කරනවා නම් Laravel project එකට වෙනම php version එකක් install කරගන්න පුළුවන්. ;)


    php වල තව extension කීපයක් තියෙනවා install කරලා තියෙන්න ඕන.
    • OpenSSL PHP Extension - Encrypting / Decrypting වලට
    • PDO PHP Extension - Database එක Access කරන්න
    • Mbstring PHP Extension - UTF-8 භාෂා එක්ක වැඩ කරගන්න
    • Tokenizer PHP Extension - Caching වගේ වැඩ වලට
    • XML PHP Extension - XML format compile කරගන්න

    Terminal එකක වගේ වැඩ කරනවා නම්, php -m ගහල බලන්න පුළුවන් දැනට enable වෙලා තියෙන modules මොනාද කියල.

    මේවා install කරගන්න පොඩි කට්ටක් කන්න වෙන වෙලාවලුත් තියෙනවා. එතකොට phpinfo() command එක ගොඩක් ප්‍රයෝජනවත් වෙනවා. උදාහරණයක් විදියට php.ini files සමහර වෙලාවට එකකට වඩා වැඩියෙන් තියෙනවා. ඒ වෙලාවට php --ini command එකෙන් හරියටම use කරන ini path එක හොයාගන්න පුළුවන්.

    phpinfo() command එක තියෙන php file එකක් හදල browser එකෙන් access කරලා බලන්න පත්තරේ දිග ඇරිය වගේ එයි. :nerd::nerd:

    phpinfo.png


    composer කියන්නේ php වල dependencies install කරලා දෙන පොඩි software එකක්.
    මේ composer නිසා ගොඩක් framework තමන්ගේ 3rd party libraries ඔක්කොම මේකෙන් install කරන්න හැදුව. OOP concept වල ලොකුම වාසිය තමයි මේක. අපිට පුළුවන් අපේම composer package එකක් වුනත් හදාගන්න.

    උදාහරණයක් විදියට අපි හිතමු අපේ email genarate කරගන්න අපිට ඕනි විදියට classes එහෙම ලියල පොඩි php code එකක් ලියාගත්තා කියල. ඉතින් email යවන්න අපිට මේ code එක ඕනෑම project එකකට පාවිච්චි කරන්න පුළුවන්නේ. ඉතින් මට පුළුවන් මේ code එක composer package එකක් විදියට github එකට upload කරලා composer වලින් ඕනෑම project එකකට පාවිච්චි කරන්න. එහෙම හදපු common package ඕන තරම් composer වල තියෙනවා. ඒ නිසා dependencies ටික composer වලින් install කරගෙන අපිට අපේ logic වලට වැඩි කාලයක් යොදවන්න පුළුවන්. :yes::yes:;)

    (මේ විදියට php වලට composer තියෙනවා වගේ javascript framework වලට තියෙනවා bower npm වගේ app.)

    කොටිම්ම කිවොත් Laravel install වෙන්නෙත් composer package එකක් විදියට.

    දැන් Laravel install කරන්න composer දාගෙන ඉන්න. windows වලට නම් setup එකක් තියෙනවා download කරගෙන run කරන්න.

    https://getcomposer.org/doc/00-intro.md#installation-windows

    unix OS එකක නම්, Terminal එකේ මේ code එක run කරන්න .

    Code:
    [SIZE="3"]php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
    php -r "if (hash_file('SHA384', 'composer-setup.php') === '61069fe8c6436a4468d0371454cf38a812e451a14ab1691543f25a9627b97ff96d8753d92a00654c21e2212a5ae1ff36') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
    php composer-setup.php
    php -r "unlink('composer-setup.php');"[/SIZE]

    මේකෙන් වෙන්නේ composer executable file එකක් download වෙන එක.

    composer.phar

    මේකෙන් විතරක් වැඩේ කරගෙන යන්නත් පුළුවන්. එත් globally දාගත්ත නම් ලේසි. මොකද මේක commonly ඕන වෙන නිසා.

    Code:
    mv composer.phar /usr/local/bin/composer

    ඔය command එකෙන් මේ composer.phar file එක globally execute කරන්න පුළුවන් තැනකට move කරනවා. එතකොට ඕනෑම තැනක ඉදන් composer කියල ගැහුවම මේ වගේ output එකක් එන්න ඕන.

    composer.png


    හරි දැන් Laravel install කරමු. ලේසිම විදිය තමයි www වගේ server root path එකක ඉදන් මේ command එක run කරන එක.

    Code:
    composer create-project --prefer-dist laravel/laravel my-project

    my-project කියන තැනට කැමති නමක් දාගන්න. එතකොට ඒ නමින් folder එකක් හැදෙයි.

    687474703a2f2f692e6779617a6f2e636f6d2f30303535656362363234306339623334303966303962643934636466346437622e706e67


    මේ command එකෙන් Laravel Framework එකට අමතරව එකට අවශ්‍ය dependencies ඔක්කොමත් install වෙනවා.

    Laravel host කරලා තියෙන github repo එකට ගිහින් බෙලුවොත්, එකේ තියෙන folders වලට අමතරව තව vendor කියල folder එකකුත් අපි install කරපු file සෙට් එකේ තියෙනවා.


    https://github.com/laravel/laravel
    - Official Laravel Repository

    මේකේ ඇතුලේ තමයි අර dependencies ඔක්කොම download වෙලා තියෙන්නේ. composer වලින් තමයි ඒවා download කරේ. download වුන folder එකේ බෙලුවොත් පෙනෙයි composer.json කියල file එකක් තියෙනවා. ඒ file එකේ require & require-de v array එක ඇතුලේ තියෙන dependencies තමයි download වෙන්නේ. require array එක ඇතුලේ තියෙන්නේ laravel/framework කියල විතරයි. නමුත් vendor එක එතුලේ තව ගොඩක් packages තියෙනවා. ඒවා අවේ කොහෙන්ද? එකට උත්තරේ හොයා ගන්න laravel/framework package එකේ composer.json file එක බලන්න ඕන.

    මේ තියෙන්නේ ඒ package එක host කරලා තියෙන තැන.

    https://packagist.org/packages/laravel/framework

    එකේ බැලුවොත් උබලට පෙනෙයි require වෙලා තියෙනවා තව ගොඩක්.

    අන්න ඒ වගේ dependencies වලත් තව තව එතුලට dependencies තියෙන්න පුළුවන්. එතකොට ඒවත් ඔක්කොම composer වලින් හොය හොය download කරලා දෙනවා.


    තාම ඉවර නැ... :yes::yes: