Custom Helper in Cakephp 2

Hanya ingin berkongsi pengalaman saya menaiktarafkan code yang dijana dari Cakephp 1.3 ke Cakephp 2.0

Ada beberapa peralatan yang saya gunakan, yang pertama menggunakan Shell Script dari command bake


php cake.php upgrade All

Maklumat lanjut boleh diperolehi dari sini (http://book.cakephp.org/2.0/en/console-and-shells/upgrade-shell.html)

Perkara kedua yang saya lakukan adalah, mengubah nama fail untuk ikut standard Cakephp 2. Untuk itu saya telah buat script dibawah untuk ubah nama-nama controller.


<?php
$root = 'C:/Dev/www/vip2/app';
$path = $root.'/'.$_GET['path'].'/';

echo $path;

$dir_handle = opendir($path);

while ($file = readdir($dir_handle))
{
echo $file.'<br />';
if(($file != ".") && ($file != ".."))
{
$filename = explode('_',$file);
echo '<br />';
print_r($filename);
echo '<br />';
//if(isset($filename[1]))
//{
$newFileName = null;
$i = 0;
foreach($filename as $key => $value)
{
$newFileName .= ucfirst($value);
}

echo $newFileName.'<br />';
$oldPath = $path.$file;
$newPath = $path.$newFileName;
rename($oldPath,$newPath);
//}
}

}
closedir($dir_handle)
?>

Sekiranya, sistem anda melibatkan log masuk, maka perubahan perlu dilakukan pada method login. Boleh rujuk book.cakephp.org berkaitan perkara itu.

Kadangkala, kita sering membuat custom helper, dimana custom helper ini pula, akan memanggil Helper standard yang ada didalam Cakephp.

Oleh itu anda boleh melakukan sebegini,


App::import('Helper','Javascript');
App::import('Helper','Form');
App::uses('View','View');

$this->Js = new JavaScriptHelper(new View(null),$options);
$this->Form = new FormHelper(new View(null),$options);

Ini kerana parameter pertama adalah merujuk kepada View. Ini merupakan perubahan yang dilakukan di Cakephp 2.

Selamat mencuba dan memeningkan kepala! 😀

Leave a Reply

Your email address will not be published. Required fields are marked *