Sunday, April 26, 2015

Bahagian 1 – Pengenalan kepada Laravel 5


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)