Blog
Membuat shortcut function di Yii Framework
Jika Anda masih belum begitu mengenal Yii Framework, silakan berkunjung ke halaman pengenalan Yii atau website resminya di http://www.yiiframework.com/.
Yii adalah sebuah framework MVC yang sangat berorientasi objek, dimana hal ini terkadang membuat pemanggilan beberapa fungsi menjadi cukup panjang, karena kita harus melakukan pemanggilan beberapa objek secara berurutan.
Contoh:
[php]
// 1. mendapatkan parameter $_POST
Yii::app()->request->getParam(‘keyword’);
// 2. mendaftarkan file javascript
Yii::app()->getClientScript()->registerScriptFile(‘/js/myscript.js’);
[/php]
Saya termasuk orang yang cukup malas jika harus mengetik terlalu panjang, apalagi belum ada IDE PHP yang memiliki kemampuan autocomplete yang cukup mumpuni. Oleh karena itu, biasanya saya bungkus lagi beberapa fungsi yang cukup panjang dan sering digunakan, menjadi sebuah fungsi yang lebih singkat.
Contoh:
[php]
// shortcut untuk fungsi Yii::app()->request->getParam()
function getParam($key, $default=null){
return Yii::app()->request->getParam($key, $default);
}
// shortcut untuk fungsi Yii::app()->getClientScript()->registerScriptFile()
function js($file){
return Yii::app()->getClientScript()->registerScriptFile($file);
}
// shortcut untuk melihat konten sebuat variable
function pr($var){
echo ‘<pre>’;
var_dump($var);
echo ‘</pre>’;
}
//shortcut untuk melakukan translasi
function t($message, $category = ‘app’, $params = array(), $source = null, $language = null){
return Yii::t($category, $message, $params, $source, $language);
}
[/php]
Langkah selanjutnya, simpan fungsi-fungsi tersebut ke dalam file protected/global.php, lalu edit file index.php di root folder aplikasi Yii (lihat baris 10):
[php]
<?php
// change the following paths if necessary
$yii=dirname(__FILE__).’/framework/yiilite.php’;
// remove the following lines when in production mode
defined(‘YII_DEBUG’) or define(‘YII_DEBUG’,true);
// specify how many levels of call stack should be shown in each log message
defined(‘YII_TRACE_LEVEL’) or define(‘YII_TRACE_LEVEL’, 1);
ini_set(‘display_errors’, 1);
require_once($yii);
require(dirname(__FILE__).’/protected/global.php’); //include file global.php setelah pemanggilan require_once($yii)
$config=dirname(__FILE__).’/protected/config/main.php’;
Yii::createWebApplication($config)->run();
[/php]
Fungsi-fungsi tersebut kemudian bisa dipanggil dimanapun di dalam aplikasi Yii yang Anda buat.
Comments
There are no comments yet.