Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Panduan Setup Laravel 5.4 dengan Homestead
- Tarikh Dicipta: 7 May 2017
- Tarikh Kemaskini: 7 Jul 2017
- *************************************************************
- Intro: Homestead adalah virtual server rasmi bagi komuiniti Laravelyang berasaskan Ubuntu 16.04. Kita akan menulis kod aturcara di Windows, dan vagrant akan sync dengan virtual server Homestead kita secara automatik. Database dan Webserver kita di Homestead. IP virtual server Homestead adalah 192.168.10.10. Username: vagrant, password : vagrant.
- Install:
- 1. VirtualBox wajib
- 2. Vagrant –> Restart wajib
- 3. Git sunat muaakad
- 4. PHPStorm sunat muaakad
- 5. Navicat sunat
- Setup:
- Dengan menggunakan Git Bash,
- 1. Jana SSH key kalau belum ada:
- >> cd
- >> ssh-keygen -t rsa -C “youremail@vendor.com”
- 2. Download Homestead
- >> cd
- >> vagrant box add laravel/homestead
- >> cd
- >> git clone https://github.com/laravel/homestead.git Homestead
- >> cd Homestead
- >> git checkout v5.4.0
- >> bash init.sh
- 3. Configure Homestead
- >> explorer .
- Buka file Homestead.yaml dengan menggunakan SublimeText atau Bracket
- KETERANGAN:
- ———–
- Kita akan uruskan projek Laravel kita di dalam folder C:/Projects.
- Makna kata, kalau kita ada project yang bernama iGaleri, kita akan simpan di
- C:/Projects/iGaleri
- Projek-projek lain yang berasaskan Laravel pun kita akan simpan di C:/Projects juga. Anda bebas untuk menggunakan D:/Projects. Tapi dalam panduan ini, saya mengandaikan anda menggunakan C:/Projects
- Edit file Homestead.yaml supaya seperti di bawah.
- **************************************
- —
- ip: “192.168.10.10”
- memory: 1024
- cpus: 1
- provider: virtualbox
- authorize: ~/.ssh/id_rsa.pub
- keys:
- – ~/.ssh/id_rsa
- folders:
- – map: C:/Projects
- to: /home/vagrant/Projects
- sites:
- – map: igaleri.dev.
- to: /home/vagrant/Projects/iGaleri/public
- databases:
- – iGaleri
- **************************************
- Cipta folder Projects di dalam drive C:
- 4. Install Homestead ke dalam VirtualBox
- >> cd
- >> cd Homestead
- >> vagrant up
- 5. Masuk ke dalam server
- >> vagrant ssh
- 6. Di dalam server, masuk ke dalam folder Projects dan cipta projek laravel kita, iGaleri
- >> cd Projects
- >> laravel new iGaleri
- 7. Set nama domain project kita (iGaleri.dev di file host)
- a. Buka C:\Windows\System32\drivers\etc
- b. Copy host ke Desktop
- c. Edit host, tambah line di bawah
- 192.168.10.10 iGaleri.dev
- d. Try utk ping iGaleri.dev di command prompt (CMD). Sepatutnya akan keluar
- Reply from 192.168.10.10: bytes=32 time<1ms TTL=64
- e. Buka URL iGaleri.dev di Chrome. Anda sepatutnya akan nampak Homepage projek anda.
- 7. Install plugin-plugin di bawah untuk PHPStorm
- a. .ignore
- b. .env
- c. Laravel
- d. Symfony
- 8. Buka project kita dengan PHPStorm
- a. Create New Project from Existing File
- b. Bawah sekali (Source file are in local directory, no web server is yet configured)
- c. Set Project Root and Resource Root
- Folder project kita as Project Root
- Folder public dalam project kita as Resource Root
- 9. Configure Project kita supaya serasi dengan PHPStorm
- a. Enable plugin Laravel untuk projek kita
- i. File –> Setting –> Search Laravel
- ii. Tick checkbox :: Enable plugin for this project
- iii. Tick checkbox :: Use AutoPupop for completion ….
- b. Install IDEHelper package for our project
- i. Short guide: http://arhamzul.com/panduan-pendek-install-laravel-ide-helper/
- ii. Official guide: https://github.com/barryvdh/laravel-ide-helper
- c. Set composer utk project kita
- i. Path to composer.json (dlm project kita)
- ii. Click here to download from getcomposer.org
- d. Set PHP Intepreter utk PHPStorm dan Project kita
- i. File –> Setting –> Languages & Frameworks –> PHP
- ii. PHP Language Level : 7.1
- ii. CLI Interpreter: (point ke lokasi php.exe terkini anda. Xampp pun boleh)
- e. Set PHPUnit untuk kegunaan masa depan
- i. File –> Setting –> Languages & Frameworks –> PHP –> PHPUnit
- ii. Select :: Use Composer autoloader
- Path to script :: autoload.php dlm project kita
- iii. Default configuration file
- Point to :: phpunit.xml dlm project kita
- 10. Project Config
- a. Edit .env file
- APP_URL=http://iGaleri.app
- DB_DATABASE=iGaleri
- b. Edit app/config/app.php
- ‘timezone’ => ‘Asia/Kuala_Lumpur’,
- 11. Fix Migration Bug
- Refer: http://arhamzul.com/laravel-5-4-migration-error-specified-key-long/
- =========
- Quick Note :: Laravel IDE Helper
- URL: https://github.com/barryvdh/laravel-ide-helper
- Masuk dlm server dan ke iGaleri (git bash)
- >> cd
- >> cd Homestead
- >> vagrant up
- >> cd Projects
- >> cd iGaleri
- Run arahan di bawah
- >> composer require barryvdh/laravel-ide-helper
- Edit config/app.php dengan menggunakan PHPStorm.
- Tambah dalam array provider
- Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
- Dengan menggunakan git bash kembali
- >> php artisan ide-helper:generate
- Dengan menggunakan PhpStorm, edit composer.json
- Edit bahagian ini:
- "post-update-cmd": [
- "Illuminate\\Foundation\\ComposerScripts::postUpdate",
- "php artisan ide-helper:generate",
- "php artisan ide-helper:meta",
- "php artisan optimize"
- ]
- Dengan menggukan Git Bash, type arahan di bawah:
- >> php artisan vendor:publish
- >> composer require doctrine/dbal
- Dengan menggunakan PhpStorm, edit config/ide-helper.php
- Set kan kepada
- 'include_fluent' => true,
- Kembali pada Git Bash, dan run arahan di bawah:
- >> php artisan ide-helper:meta
- +++++++++++++ COMMAND +++++++++++++
- Nak run arahan vagrant, sila masuk dlm folder Homestead dulu
- cd
- cd Homestead
- vagrant up
- vagrant halt
- vagrant destroy
- vagrant provision
- Nak keluar dari server, type
- exit
- Arahan seperti
- composer require ....
- php artisan ....
- memerlukan kita dlm folder iGaleri (di dalam server)
- ++++++++++++ MULAKAN DEV DENGAN ++++++++++++
- Bismillah....
- cd
- cd Homestead
- vagrant up
- vagrant ssh
- cd Projects
- cd iGaleri
- .......
- .......
- exit
- vagrant halt
- ----------------------
- Arahan PHP Artisan
- Buat Controller
- php artisan make:controller NamaController
- +++++++++++++ SENI BINA +++++++++++++
- Route : Untuk proses URL
- Controller : function untuk proses logic
- View : Untuk paparan (html, css, image, js)
- Model : Wakil table dalam database
- Database table Laravel Model Laravel Controller Laravel Validation
- --------------- --------------- ------------------- --------------------
- users User UserController UserRequest
- applications Application ApplicationController ApplicationRequest
- systems System SystemController SystemRequest
- audit_trails AuditTrail AuditTrailController AuditTrailRequest
- roles Role RoleController RoleRequest
- :: PLURAL :: SINGULAR MODEL + Controller MODEL + Request
- URL FILE / FOLDER FUNCTION TABLE
- ---------------- -------------- ------------------- ---------------------
- ...../contact-us contact_us contactUs contact_us / inquiries
- KEBAB CASING SNAKE CAMEL SNAKE
- 1. create folder partials dalam folder views
- 2. create file navbar.blade.php dlm folder partials tadi
- 3. copy source code navigaton bar kita tadi, ke dlm navbar.blade.php
- 4. include file navbar.blade.php tadi ke dlm portal.layouts menggunakan arahan @include
- @include('partials.navbar')
- ++++++++++++++++++++++
- LANGKAH DEMI LANGKAH PEMBANGUNAN MODUL DENGAN CRUD
- 1. Create model
- >> php artisan make:model Agency -mcr
- 2. Edit migration file, utk cipta skema table agencies
- iGaleri / database / migrations / xxxxxx_create_agencies_table.php
- 3. Transfer skema table tadi ke actual database
- >> php artisan migrate
- >> php artisan ide-helper:models
- 4. Create skeleton file view, dlm folder views / agency
- a. index.blade.php
- b. create.blade.php
- c. edit.blade.php
- e. show.blade.php
- 5. Create skeleton controller, letak code return view pada function
- a. index()
- b. create()
- c. edit()
- d. show()
- return view('agency.index');
- 6. Create routing dlm Route / web.php
- Route::get('agency', 'AgencyController@index')
- GET --> index, show, create, edit, destroy
- POST --> create, edit guna function store() dan update()
- 7. Buat form untuk create.blade.php. Jangan lupa {{ csrf_field() }}
- 8. Buat function store dlm controller, untuk simpan data ke DB.
- --> redirect ke /agency kalau berjaya
- --> redirect back kalau gagal
- 9. Kalau data dah simpan properly, buat validation.
- >> php artisan make:request AgencyRequest
- :: Jangan lupa untuk tukar authorize kepada true
- :: Jangan lupa pakai AgencyRequest dlm function store() dan update()
- 10. Buat index.php utk senaraikan semua agency
- :: buat dia punya link utk user view detail record, edit dan delete.
- 11. Buat function delete dlm controller
- Cari data then padam. Lepas tu redirect
- 12. Isi function show (cari data dan pass kepada view show)
- Buat page show utk paparkan rekod agency secara terperinci.
- 13. Buat edit
- Copy content dari create.blade.php punya form. Edit sesedap rasa...
- especially kat bahagian {{ old('nama_field', $defaultValue) }}
- Copy function dari store(),
- ubah kat line
- $agency = new Agency() ---> $agency = Agency::findOrFail(id)
- Jangan lupa utk pakai AgencyRequest dlm function update() ni
- S.I.A.P
- -------------------------------------------
- Table ERD :: Kategori_Sistem
- Model : Category
- table : categories (auto)
- id (PK) :: default
- name (string)
- description (text)
- status (string) (contoh input:: active, inactive, vip)
- softDeletes() (deleted_at)
- created_at (timestamps) :: default
- updated_at (timestamps) :: default
- * default : tak perlu buat
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement