[Laravel] Mengatasi Error : No supported encrypter found. The cipher and / or key length are invalid.

Untuk mengatasi error di atas maka caranya adalah :

php artisan key:generate

Apabila perlu ada .env maka caranya:

cp .env.example .env

 

Referensi:

https://laravel.io/forum/06-09-2015-no-supported-encrypter-found-the-cipher-and-or-key-length-are-invalid

 

 

Cara Mengecek Versi Laravel

Laravel - Mahrizal

Laravel Logo

 

Untuk mengecek versi laravel maka gunakan :

php artisan –version

Contoh :

laravel

 

Referensi :

http://www.elcoderino.com/check-laravel-version/

Kelebihan dan Kekurangan Laravel

Laravel - Mahrizal

Laravel

 

Kelebihan dan kekurangan Laravel

Temen2 yang ingin belajar framework PHP maka Framework ini layak untuk dipelajari dan digunakan.

Framework ini langsung populer begitu framework Codeigniter colaps waktu itu.

Meski sekarang Codeigniter diteruskan kembali oleh suatu universitas namun kabar Codeigniter yang tidak disupport oleh EllisLab lagi membuat para programmer mencari Framework alternatif, diantaranya Laravel.

Laravel dari segi kesulitan memang sedang namun menjanjikan fitur yang powerful. Kesulitan dalam arti pintu gerbang untuk memahami pertama kali. namun jika sudah paham maka justru malah memudahkan bahkan rasanya tidak mau kembali lagi ke Codeigniter, karena lebih efisien dalam pembuatannya.

Kelebihan Laravel

  1. Dokumentasi yang lengkap

 

Laravel mempunyai dokumentasi yang lengkap dari mulai install sampai fitur2 yang lengkap.

 

Di dokumentasinya kita bisa membaca uraian fitur2nya dengan detail beserta contoh penggunaannya.

 

Kita bisa mengakses dokumentasi yang lengkap di website nya : https://laravel.com/docs/5.5

Dokumentasi laravel tidak hanya berupa teks tapi juga berupa tutorial video yang bisa diakses di Laracast. https://laracasts.com/

Laracast menyediakan video-video tutorial, ada yang gratis ada pula yang berbayar.

 

  1. Komunitas yang besar

Laravel mempunyai komunitas yang besar sehingga saat kita mendapatkan kendala kita bisa bertanya ke komunitas.

Ada forum laravel yang membahas problem-problem laravel di https://laravel.io/forum

Aktifnya diskusi di forum laravel menunjukkan besarnya komunitas laravel.

Termasuk di stackoverflow tempat bertanya segala permasalahan programming, banyak ditemui permasalahan tentang laravel dan banyak pula yang menjawab.

  1. Fitur Yang membuat efisien

Laravel menyediakan fitur yang membuat pembuatan aplikasi menjadi lebih efisien yang tidak didapati oleh Codeigniter. Contohnya adalah Eloquent ORM. Laravel mendukung Eloquent ORM yang memudahkan query database bahkan join table.

  1. Cara Install Yang Modern

Install Laravel ialah menggunakan Composer.

composer create-project –prefer-dist laravel/laravel blog

Apa itu composer?

Composer menurut web nya ialah dependency manager for php.

Bahasa mudahnya composer adalah tool yang berfungsi untuk mendownload software untuk keperluan php.

Layaknya npm yang dimiliki nodejs.

Bila belum mempunyai composer maka download terlebih dahulu di situs  : https://getcomposer.org/

  1. Fitur yang Wah

Laravel ialah framework yang powerful sehingga menyediakan fitur-fitur yang wah dan lengkap.

Kita akan belajar hal-hal baru yang tidak ada di Codeigniter.

Bagi yang migrasi dari Codeigniter bisa dipastikan akan ternganga dengan wah nya fitur Laravel.

 

Kekurangan Laravel

 

Kurang lengkap kiranya jika saya tidak menyertakan kekurangan Laravel sebagaimana setiap sesuau, setiap kelebihan selalu ada kekurangan.

Kekurangannya ialah :

  1. Tidak Mudah memahami untuk pertama kali

Buat para beginner yang memahami laravel relatif akan kesulitan. sebab laravel tidak semudah codeigniter untuk dipahami. untuk masuk ke pintu gerbang nya diperlukan fokus agar bisa memahami laravel. Terlebih buat yang baru belajar Framework. Akan terbantu bila pernah belajar Framework sebelumnya seperti Codeigniter.

jangankan untuk memahami alurnya, untuk install pertama kali pun kalau para beginner bisa dibuat bingung. karena cara install yang modern

  1. Update versi terlalu cepat

Update Laravel cepat bahkan menurut saya terlalu cepat. Sehingga bagi yang tidak mengikuti perkembangan laravel bisa ketinggalan jauh. Dan perubahan fitur nya pun terbilang signifikan.

Terlebih yang dari versi 4 ke versi 5, sangat signifikan perubahannya baik fitur maupun struktur folder nya.

Versi 5 pun cepat update versinya, sekarang saat saya menulis ini sudah sampai versi 5.5

  1. Install di Server tidak semudah Codeigniter

Bila Install codeigniter di ftp tinggal upload dan ubah konfigurasi database, maka install Laravel tidak semudah itu.

Apabila kita sewa hosting di tempat lain, kita harus punya akses putty ke server agar bisa install composer.

Untuk apa composer? Untuk kita menjalankan perintah

composer update

Kenapa kita jalankan perintah itu, karena beda lingkungan OS beda sistem laravel.

Laravel di windows beda dengan Laravel di Linux

untuk itu jika kita membuat aplikasi di windows maka saat di upload di server Linux kita perlu jalankan perintah composer update di root aplikasi agar laravel bisa menyesuaikan lingkungan OS yang baru.

  1. Relatif lebih berat

Laravel relatif lebih berat bila dibanding dengan framework Codeigniter.

Hal ini wajar karena laravel meload banyak file dan asset untuk menjalankan aplikasinya.

Tapi hal ini sudah ditanggulangi oleh Laravel 5 yang sudah menyederhanakan dari laravel versi 4 yang berat.

Laravel Error : ErrorException in Filesystem.php : file_put_contents failed to open stream: Permission denied

Saya mendapatkan error di atas saat saya upload aplikasi Laravel saya dari local windows ke server Ubuntu.

Bagaimana Solusinya :

Masuk ke directory root aplikasi kita, kemudian jalankan perintah ini di terminal :

chmod -R gu+w storage

chmod -R guo+w storage

php artisan cache:clear

Done….

It works for me…..

Aplikasi saya bisa berjalan dengan baik….

Referensi : http://stackoverflow.com/questions/29169892/errorexception-in-filesystem-php

Mengatasi Error Ajax Jquery Internal Server Error 500

Saya mengalami error ini dari kemarin, saat membuat ajax pakai jquery. saya memakai laravel di server sidenya. setelah browsing sana sini akhirnya ketemu juga caranya.

Langsung aja ya

  1. Tambahkan script berikut di kode html atas :

<meta name=”csrf-token” content=”{{ csrf_token() }}” />

2. Tambahkan script berikut di Ajax nya :

$.ajaxSetup({
headers: {
‘X-CSRF-TOKEN’: $(‘meta[name=”csrf-token”]’).attr(‘content’)
}
});

Selesai…..

Adapun kode saya akhirnya seperti ini  :

$(function(){
$(‘#btn-add-copy’).click(function(e){
e.preventDefault();
var url = “{{ url(‘user/admin/bookCollection/manage/addQuantityCopy’) }} “;
var qty = $(‘.copy_quantity’).val();

$.ajaxSetup({
      headers: {
     ‘X-CSRF-TOKEN’: $(‘meta[name=”csrf-token”]’).attr(‘content’)
    }
});

$.ajax({
url : url,
type : “POST”,
data : “qty=”+qty,
error : function(xhr, ajaxOptions, thrownError){
console.log(xhr.status);
console.log(xhr.responseText);
console.log(thrownError);
},
success : function(data){
alert(data);
}
});
});

Alhamdulillah berhasil juga kode saya…..

 

Referensi saya :

https://laravel.io/forum/01-30-2015-laravel5-tokenmismatchexception-in-verifycsrftoken

https://laravel.com/docs/5.0/routing#csrf-protection

Laravel : Mengatasi Error FatalErrorException in Collection.php line 11: Interface ‘Illuminate\Contracts\Queue\QueueableCollection’ not found

Hari ini saya mendapat error di sistem saya yang memakai laravel, errornya ialah :

FatalErrorException in Collection.php line 11: Interface ‘Illuminate\Contracts\Queue\QueueableCollection’ not found

Akhirnya saya nemu solusinya di stackoverflow, yaitu dengan download file  QueueableCollection.php di link :

https://github.com/illuminate/contracts/blob/master/Queue/QueueableCollection.php

Saya tadi buat file dan copas…jreng..selesai….masalah solved.

Referensi :

http://stackoverflow.com/questions/37695774/laravelfatalerrorexception-in-collection-php-line-11-interface-illuminate-con

http://stackoverflow.com/questions/37695774/laravelfatalerrorexception-in-collection-php-line-11-interface-illuminate-con

 

Laravel Eloquent Mengambil Satu Kolom atau Kolom Tertentu

Kalau kita ingin mengambil satu kolom atau kolom tertentu dalam Eloquent Laravel caranya ialah dengan menambahkan kolom di belakang fungsi relationship.

Contoh :

public function user(){

return $this->hasOne(‘App\User’)->select(‘fullname’);

}

kalau mau lebih dari satu kolom tinggal menambahkan kolomnya :

public function user(){

return $this->hasOne(‘App\User’)->select(‘fullname’, ’email’);

}

 

Referensi :

https://laracasts.com/discuss/channels/eloquent/eloquent-hasone-relation-get-only-id-or-certain-columns

 

Mendapatkan Log Query pada Laravel

Untuk mendapatkan log query atau query yang dijalankan pada laravel caranya :

Tambahkan script berikut di atas :

use DB;

Kemudian di atas query yang akan kita cari :

DB::enableQueryLog();

dan setelah query tambahkan script berikut :

dd(DB::getQueryLog());

dd berfungsi seperti print_r atau var_dump yang menampilkan dalam bentuk array, dan berfungsi juga seperti exit() yang akan menghentikan program tidak menjalankan program di bawahnya.

Contoh lengkapnya seperti ini :

namespace App\Http\Controllers;

use DB:

class HomeController extends Controller{

public function index(){

DB::enableQueryLog();
$dataSession = (EmployeesModel::find(Auth::user()->employees_id));

dd(DB::getQueryLog());

return view(‘home’);

}

}

Maka akan menghasilkan di browser :

array:1 [
  0 => array:3 [
    "query" => "select * from `net_hrd`.`employees` where `net_hrd`.`employees`.`id` = ? limit 1"
    "bindings" => array:1 []
    "time" => 0.85
  ]
]

DB::enableQueryLog() bisa dipakai untuk menampilkan log query lebih dari satu, tinggal letakkan query2 yang mau kita lihat di antara DB::enableQueryLog() dan DB::getQueryLog().

 

Referensi :

http://itsolutionstuff.com/post/how-to-get-last-executed-mysql-query-in-laravel-example.html

https://laravel.com/docs/5.0/database#query-logging

https://laravel.com/docs/5.1/queries