Mari Belajar
Laravel 5 – Membina aplikasi 'Senarai Pautan Saya (SPS)' –
Bahagian 1
Setelah dilepaskan
'Laravel 5', banyak gerombolan perubahan yang tidak boleh menerima
versi yang sebelumnya, ciri2 baru ditambah begitu juga dengan
pertambahan pengguna baru. Mari kita belajar 'Laravel 5' dengan
membina aplikasi 'Senarai Pauatan Saya' atau SPS. Dengan membina
applikasi ini anda akan belajar Laravel 5 dari asas secara langkah
demi langkah. Pembinaan SPS ini akan meliputi konsep yang sangat
luas, pautan kepada material pembelajaran yang berkaitan dan akan
menjadi pengenalan yang paling bagi untuk anda mengenali dengan lebih
dekat mengenai kerangka PHP laravel 5 yang sangat baik dalam abab
ini.
Tutorial ini akan
seboleh-bolehnya akan mengekalkan Bahasa Malaysia, namun sesetengah
terminalogi terutama terminalogi teknikal, terpaksa menggunkan bahasa
Inggeri bagi mengelakkan kekeliruan. Tutorial agak panjang dan akan
dibahagikan kepada beberapa bahagian :
Peingkat Asas
- membina Aplikasi
'Senarai Pautan Saya' (SPS)
Bahagian 1 –
Pengenalan kepada Laravel 5
Bahagian 2 –
Installation (Pemasangan)
Bahagian 3 –
Pangakalan Data
Bahagian 4 –
Routes (jalan)
Bahagian 5 –
Membina Senarai Pautan Saya (SPS)
Bahagian 6 – Cipta
/ Ubah / Buang
Bahagian 7 –
Pengesahan
Peringkat
Petengahan
- membina Aplikasi '
Carian AlQuran' (Pembeda)
Bahagian 8 –
Pengesahan Pengguna
Bahagian 9 – Email
Bahagian 10 –
Eloquent
Bahagian 11 -
Pengesanan persekiran dan pembeolehubah persekitaran
Bahagian 12 –
Penjadualan peristiwa
Bahagian 13 –
Peristiwa , Arahan dan pemegang
Peringkat Tinggi
- membina Aplikasi
'Fatin Hijab Collection' (FHC)
Bahagian 12 –
Ecommerce
Bahagian 13 –
Cloud
Tutorial ini di
berikan secara percuma untuk mencabahkan lagi juruaturaca di Malaysia
dan memperbanyakkan kandungan dalam pembinaan aplikasi. Dengan
tutorial ini diharap dapat dimanafaatkan sebaik2nya untuk meraih
pahala yang berganda. Nabi saw. Sebut Dunia Ini adalah kebun Akhirat.
Sekiranya anda ingin
memberi sumbangan, sila salurkan kepada :
Nama
Akaun : ASF Network
Bank
: Maybank
No
Akaun : 5530 1010 7207
Cadangan
: admin@asf.net.my
Bahagian
1 – Pengenalan Kepada Laravel 5
Sebelum
anda bermula, sepatutnya ada telah tahu berkaitan dengan :
1.
Bahasa pengaturcaraan PHP, satu bahasa pengaturcaraan yang sangat
mudah untuk diurus dan digunakan. PHP adalah hasil dari satu
pengatucaraan kecil seorang kontraktor pengatucaraan perl/CGI pada
tahun 1995 yang menamakannya sebagai 'Personal Home Page' (PHP).
Ianya berkembang sehingga artikel ini ditulis, versi PHP adalah 5.6.
PHP
bukanlah bahasa pengatucaraan yang sebenar dan tidak boleh dikompil
dan tidak boleh berdiri sendiri tanpa adanya penterjemah PHP dipasang
pada pelayan.
2,
Bahasa pertanyaan pangkalan data 'Sequential Query Language'. Bahasa
pengatucaraan ini digunkan bagi memanipulasi pangkalan data yang
biasa diguna seperti, mySQL, PostgreSQL. MSSQL dan Oracle.
3.
Enjin pelayan sesawang seperti Apache dan Ngix. Enjin pelayang
server adalah nadi kepada sistem sesawang, semua permintaan dari
pelanggan akan di proses oleh pelayan sesawang ini.
4.
Sistem pengoperasian seperti Linux dan Windows. Ini merupakan asas
kepada sistem pengkomputeran, sistem pengoerasi adalah lapisan
terakhir antara muka antara manusia dan mesin, setiap arahan dari
manusia akan diterjemahkan kedalam bentuk binari yang difahami oleh
pemperoses utama komputer untuk dilaksanakan.
Untuk
pembelajaran ini, kita akan menggunakan
1.
Penterjemah bahasa pengaturcara PHP 5.4 sebagai perantaran PHP
2.
Enjin pangkalan data Mysql sebagai pengkalan data
3,
Enjin pelayar Apache 2 sebagai pelayan permintaan pelayar
4.
Sistem Operasi Ubuntu Linux 12.04 sebagai pelayan utama
Apa
itu Laravel
-
Laravel adalah kerangka PHP. Apa itu kelangka PHP?. Kerangka PHP
adalah satu kumpulan skrip pengatucaraan yang telah dibungkus
(package). Kumpulan skrip ini merupakan kumpulan skrip pengatucaraan
yang akan senantiasa diguna dalam pengatucaraan PHP. Dengan adanya
kerangka ini juruaturcara tida perlu mengulangi skrip pengaturcaraan
yang sama setiap kali membina aplikasi yang baru. Kerangka PHP telah
di gabungkan dengan sumber 2dan alat2 pengatucaraan bagi memudahkan
pengaturcara.
-Kerangka
PHP akan menguruskan semua kerja2 berulang dalam satu2 projek PHP
bagi memberi peluang kepada pengaturaca menfokuskan kerja-kerja
pembinaan logik dalam satu2 pengatucaraan aplikasi dan struktur umun
aplikasi. Dengan penggunaan kerangka ini satu2 aplikasi boleh dibina
dalam masa beberapa hari sahaja mengikut keperluan pengguna.
-
Kerangka PHP Laravel akan memperpecatkan, dan memendekkan skrip
pengaturcaraan dan mengurangkaan kesalahan pengaturcara dalam
pembangunan aplikasi.
Ciri2
Asas Kerangaka Laravel 5 :
Kerangaka
Laravel 5 telah didatangkan dengan pelbagai utiliti yang siap untuk
diguna dalam masa beberapa minit sahaja. Diantaranya :
1.
Struktur Fail
Struktur
fail Laravel 5 adalah sangat mudah difahami :
→ app
: (code,controlller, model, services, console, provider, middleware,
HTTP request)
→ bootstrap
(create app & regisrter in autoloader)
→ config
(authentication)
→ database
(database migration, seed)
→ public
( public image, webb accessble dir)
→ resources
( less, sass, language trans, view)
→ storange
( temp, cache, log)
→ test
(unit test, acceptanvce test)
2.
Konsep pembangunan
-
Model-View-Controller (MVC)
-
MVC telah menjadi piawaian industri dalam pengaturcaraan bagi
memisahkan fungsi setiap kelas. Model digunakan untuk mengurus data.
Controller diasingkan khas bagi mengurus pemintaan pelanggan. View di
asingkan bagi penyediaan antaramuka pengguna. Pengasing ini amat
perlu dalam pembangunan aplikasi moden terutamanya dengan penggunaan
pelbagai perati baru yang wujud.
3. Composer
Laravel menggunkan
composer untuk mengumpul dan mengikat scrip yang ingin di pakej
bersama. Ini memberi kelonggara kepada pengguna untuk memilih pakej
yang ini disertakan bersama-sama pakej utama laravel. Laravel 5 telah
dipakej bersama-sama 21 pakej lain, bermakna Laravel merupakan pakej
komuniti yang digabungkan untuk menjadikan laravel satu pakej yang
menarik.
Composer adalah satu
cara komuniti PHP mengumpulkan scrip PHP yang berkualiti. Buat masa
ini lebi 7,000 pakej telah berada di internet (
https://packagist.org/ ). Anda boleh memilih mana-mana pakej yang
anda inginkan untuk digabungkan dalam aplikasi laravel anda, begitu
unik.
4. Eloquent ORM
(Object Rlational Mapper)
Eloquent dalam
laravel membenarkan anda mengemaskini pangakalan data dengan hanya
menginteraksikan dengan object data. Anda boleh melaksanakan operasi
pangkalan data tanpa menulis arahan SQL.
5.
Routes:
Dalam
Laravel, pembangun sistem boleh menulis logic mereka dan fail
'routes' yang diasingkan ataupun dalam fail 'contollers'. Ini sangat
berguna bagi membina laman yang kecil atau untuk membina laman
statik. Ini sangat berguna kerana anda tidak perlu menulis di setiap
fail 'controller' untuk menyenaraikan pembolehubah anda. Ini
menyebabkan Laravel sangat sesuai untuk semua keadaan apllikasi
samada besar ataupun kecil.
6.
RESTful:
Laravel
menyediakan satu kaedah yang unik bagi penyediaan RESTful APIs.
Kaedah
untuk penerimaan permintaan GET , PUT , DELETE , POST dan
UPDATE
disediakan oleh laravel secara sediada dan sedia untuk diguna.
7.
Auto loading:
Laravel
secara automatik akan menghimpun semua sumbe2, pakej dan model.
Dengan ini anda tidak perlu membuatnya secara manual. Laravel dengan
bijak akan menggunakan sumber yang diperluakan bila ianya dipanggil.
8.
Migrations:
Laravel
mengawal versi pangkalan data bagi menguruskan perubahan dalam
pangkalan data. Laravel juga menyediakan kemudahan menyediakan data
menta kepada sistem dengan kaedah 'seed'.
9.
Pagination:
Laravel
amat menyenangkan pengaturcara dengan utiliti mukasurat yang amat
berkesan dan sangat mudah. Dengan hanya 3 baris, pengatucara sudah
boleh memaparkan data dalam mukasurat yang dikehendaki.
10.
Template engine:
Laravel
menyediak enjin template yang sangat mudah, ini membolehkan
penyediaan paparan kapeda pelanggan begitu cepat dan tersusun rapi.
Enji blade ini membolehkan penyedian secara hieraki dan blok-blok
boleh dimasukkan secara dinamik
11
E-mailing:
Laravel
didatangkan besama-sama pakej email yang sangat popular SwiftMailer
. Penggunan hanya perlu memasukkan email dan paswword yang betul
didalam fail 'config' untuk menggunakannya.
12
Authentication:
Pengessah
pengguna adala perkara yang selalu dilakukan semasa menmbina
applikasi. Laravel didatangkan dengan pakej pengesahan yang telah
lengkap dengan alatan untuk mendaftar, pengesahan ataupun
penghantaran katakunci peringatan kepada pengguna.
13.
Unit testing:
Kenrangka
Laravel dibina dengan teliti dan senantiasa memastikan kaedah 'unit
testing' boleh di lakukan dengan mudah. Kerangka laravel sendiri
menyediakan 'unit tests' untuk semua komponennya. Ini adalah satu
sebab kerangka Laravel sangat stabil. Anda boleh membina 'unit test
anda bila2 masa bagi menguji aplikasi anda.
14
Artisan:
Artisan
adalah utilit arahan baris yang membenarkan anda menjalankan banyak
tugas yang ada sangat benci untuk lakukan secara manual.
Anda
bolleh mencipta fail 'Controller', 'Model', 'View' terus dari arahan
artisan. Urus pangaklan data dan anda juga boleh membina arahan anda
sendiri, contohnya menghantar email, membaiki pangkalan data,
melarikan 'unit test' dan macam2 lagi,
15
Queues:
Laravel
membenarkan arahan berada dalam aturan, ini bermakna pengguna tidak
perlu menunggu untuk kerja yang memrlukan masa yang lama untuk di
siapkan sebagai contoh, mmbina fail PDF yang banyak mukasurat, atau
menghatar email yang banyak. Anda boleh letakkan process ini dalam
aturan dan ianya kan dilarikan tanpa memperlakan proses.
16
Events:
Laravel
menyediakan peristiwa dan anda boleh tajakkan kod dalam aplikasi
tersebut.
17.
Keselamatan sesawang
Laravel
telah mengambil semua langkah2 keselamatan berkaitan dengan laman
sesawang seperti :
-
SQL Injection
-
Cross Site Scripting (XSS)
-
Remote File Inclusion and Remote Code Execution
-
Session and Cookie Hacking
-
Directory Traversal (aka path traversal)