Pada dasarnya untuk mengambil data alamat pengiriman secara programatically, sering kali bingung. Apakah kita akan menggunakan “magic method” seperti getStreet atau “godlike variabel”. Untuk mengetahuinya hanya ada satu cara yaitu dengan cara mengujinya.
Percobaan getShippingAddress dengan Magic Method
Dari setiap pemrograman magento, kita mengenal dengan istilah magic method atau fungsi yang sudah ada didalam kelas secara otomatis akan tergenerate ketika suatu variabel dibuat. Tapi, tidak jarang lho magic method ini menimbulkan error. Biasanya error yang muncul diakibatkan Magic Method nya tidak dapat dipanggil.
getStreet() merupakan magic method yang ada didalam getShippingAddress. method ini untuk memanggil alamat baris 1 sampai dengan baris 4. Secara default, Magento memiliki address baris 1 dan 2 saja. Mari kita lihat contoh penggunaan kodenya.
//$quote diasumsikan telah dipanggil dari model sales/order->quote. $street = $quote->getShippingAddress()->getStreet(); //hasilnya array([0]=>'jl. rumahsakit no 138',[1]=>'Cassablanca Mansion Floor 41 no 8')
Koq ga error?! memang betul tidak error, tapi lihat jenis datanya itu bukanlah string melainkan array. Otomatis ketika dipanggil dan dilakukan operasi dengan string lainya tentu akan menghasilkan error.
Percobaan getShippingAddress dengan GodLike Variable
Ini uniknya dari Magento, setiap kelas dari Magento ini dilengkapi yang seperti saya sebut disini adalah “GodLike Variable”. Variable ini sebetulnya adalah serangkaian fungsi yang dapat memanggil properti dari suatu kelas yang dimilikinya sehingga datanya dapat kita pergunakan. Adapun bentuk dari GodLike Variable ini, adalah method dari getData(). Secara umum getData akan me-return-kan array juga. Mari kita lihat contoh penggunaan kodenya.
//$quote diasumsikan telah dipanggil dari model sales/order->quote. $street = $quote->getShippingAddress()->getData("street"); //hasilnya //'jl. rumahsakit no 138\nCassablanca Mansion Floor 41 no 8'
Magic Method vs GodLike Variable
Ini adalah bagian yang paling menarik, seperti yang kita lihat sebelumnya sebetulnya tidak ada yang salah pada dua cara tersebut, namun yang jadi masalah adalah setelahnya. Setelah kita panggil apkaah tipe datanya sama? Sedangkan Magic Method biasanya tipe data yang dikeluarkan sama dengan aslinya. Bisa string, object, array, integer dan lain-lain. Sementara untuk GodLike method, hampir semua variable yang ada dalam satu variabel data akan dipaksa sebagai string, sisanya adalah array.
Kesimpulan
Jadi, untuk cari amannya. Gunakanlah GodLike Variabel. Karena kalau tidak string pastilah array begitupun sebaliknya.
Demikian, semoga membantu.