Postingan lainnya
Proses upgrade ke Laravel 5.4 (dan laravel 5.3)
Laravel versi 5.4 resmi dirilis pada 24 januari 2017, waktu yang pas buat update codebase dari sekolahkoding. Ngomong-ngomong, saya ngeskip versi 5.3 alias versi sekolahkoding sebelumnya masih 5.2, jadi akan ada juga hal-hal yang harus dilakukan untuk versi 5.3 nya. Untuk teman-teman yang berangkat dari versi 5.3 atau udah update ke 5.3 bisa skip ke bagian 5.4 nya
Sebelum mengupgrade kode aslinya pada hostingan, jauh lebih menenangkan hati kalau test dulu di local. Ada beberapa cara yang bisa teman-teman lakukan: 1. copy paste folder aslinya 2. bermain dengan git, membuat branch baru
==================== Untuk keperluan versi 5.3:
- perubahan folder providers - perubahan lokasi route - perubahan Auth Folder
==================== Perubahan Providers Folder
Menghapus argument pada fungsi boot di eventserviceprovider, routeserviceprovider dan authserviceprovider (File-file ini ada di folder App\Providers ) Biar lebih aman, bisa copypaste kode untuk file-filenya dari sini: [link]https://github.com/laravel/laravel/tree/master/app/Providers[/link] Seperti yang dilihat, ada satu tambahan file yaitu broadcastServiceProvider, tambahkan juga keterangannya di file config/app.php
App\Providers\RouteServiceProvider::class // didalam array providersnya bareng provider yang lain
Untuk keperluan broadcast ini juga (meskipun teman-teman ngga pake) di dalam file config/broadcasting.php kita lihat defaultya menggunakan keterangan dari file .env atau pusher. Biar lebih terorganisir kita akan tambahkan info ini di file .env
BROADCAST_DRIVER=pusher
Untuk drivernya terserah mau pakai pusher, redis atau yang lain, yang jelas teman-teman harus install salah satu driver ini.
composer require pusher/pusher-php-server //kalau mau menginstall pusher
composer require predis/predis //kalau mau menginstall redis
Keterangan mengenai broadcasting <a href='https://laravel.com/docs/5.3/broadcasting'>https://laravel.com/docs/5.3/broadcasting</a>
=================== Perubahan Lokasi route
pada versi 5.3 struktur routenya berganti bukan lagi di Http/routes.php tapi ada di luar folder. Kalau mau mengikuti struktur ini, silahkan buat folder "routes" di root (bawah folder app) dan membuat satu file web.php (atau api.php) sesuai kebutuhan. Lalu mengubah keterangannya di App\Providers\routeServiceProvider.php pada fungsi mapWebRoutes.
\* kalau sudah copy paste file nya dari github, tidak perlu diubah
public function mapWebRoutes()
{
Route::group(['namespace' => $this->namespace, 'middleware' => 'web'], function ($router) {
require app_path('../routes/web.php');
});
}
=================== Perubahan Auth Folder
Sistem auth dari laravel ada perubahan struktur, tepatnya pada folder app\Http\Controllers\Auth\... Sekarang laravel menggunakan 4 file baru. <a href='https://github.com/laravel/laravel/tree/5.3/app/Http/Controllers/Auth'>https://github.com/laravel/laravel/tree/5.3/app/Http/Controllers/Auth</a>
Kalau agan membuat sistem register/login sendiri, agar lebih rapi, kita bisa memindahkan fungsinya pelan-pelan ke 4 file yang berbeda ini. Berarti perhatikan juga routes dan controller yang terdaftar sebelumnya. Contohnya semua fungsi register/login saya ada di file AuthController.php sekarang saya bagi-bagi untuk register di RegisterController, dan untuk login juga logout di LoginController
======================= Untuk upgrade ke Laravel 5.4
Kita masuk ke intinya, seperti yang saya tulis diatas, versi codebase sebelumnya 5.2 jadi tidak ada masalah kalau mau skip update 5.3 di composernya, kita bisa langsung install 5.4
update di composer:
//versi php min 5.6.4, Laravel 5.4*, dan Guzzle 6.0
"php": ">=5.6.4",
"laravel/framework": "5.4.*",
"guzzlehttp/guzzle": "~6.0",
//di bagian require-dev, ubah symfont css dan dom crawler (sejak laravel 5.3)
"symfony/css-selector": "3.1.*",
"symfony/dom-crawler": "3.1.*"
jalankan
composer update
untuk clear cache viewnya
php artisan view:clear
untuk clear route cachnye
php artisan route:clear
Selamat mencoba!
==================== Tips pada Deployment
aktifkan php artisan down, untuk memberitahu user dalam keadaan maintenance. kembali php artisan up jika sudah selesai.
======================= Masalah yang saya temukan
1. Run out of memory
Saat menjalankan composer update, memorynya ngga cukup!, jadi ada informasi "run out of memory", beberapa variasi solusi: 1.0 coba clear cache composer:
rm -R ~/.composer //untuk hapus cache composer
rm -R vendor //hapus folder vendornya
composer update
1.1 Menyiapkan memory-swap (kurang lebih intinya, kita nyedian space pada harddisk, kalau ram nya penuh kita make memory harddiskya) 1.2 Update ram :D
Lengkapnya: <a href='https://laravel.com/docs/5.3/upgrade'>https://laravel.com/docs/5.3/upgrade</a> <a href='https://laravel.com/docs/5.4/upgrade'>https://laravel.com/docs/5.4/upgrade</a>
3 Jawaban:
ada niatan mau bikin tutorial laravel 5.4 gak mas hilman... hehehe
sekolah koding bikinnya pake cms sendiri ya mas?
Jawaban Terpilih
Setau saya sekolah koding juga disusun menggunakan laravel @akbarH