Setup Cake CLI dalam Windows
===================================================
1. Copy fail APP/cake/console/cake.bat ke dalam c:\WINDOWS\cake.bat
c:\windows\cake.bat ( pastikan setting anda betul ) |
/usr/bin/cake di dalam Linux CentOS |
Memperkenalkan CakePHP Shell CLI dan Folder Utility
===================================================
Untuk mengikuti tutorial ini, pastikan anda boleh melaksanakan arahan cake bake.
1. Cipta fail APP/vendors/shell/proses_data.php
class ProsesDataShell extends Shell { function main() { $this->out('Hello World!'); }
}
?>
2. Mari kita cuba run fail tersebut di dalam APP. Laksanakan arahan berikut
cake proses_data
Hasilnya :
Paparan Hello World berjaya dikeluarkan menggunakan arahan $this->out('Hello World');. Di dalam fail proses_data.php, Convention yang perlu diikuti ialah, nama Class mesti dalam berbentuk camelCase. Contohnya :
1. class ProsesData extends Shell
2. class UserManagement extends Shell
3. class FetchFile extends Shell
Nama fail mesti mengikut format variable kepada nama Class, contohnya
1. proses_data.php
2. user_management.php
3. fetch_file.php
Dan fail-fail ini mesti disimpan di dalam folder APP/vendors/shell/*
Method main() di dalam file tersebut akan dijalankan secvara automatik.
Cipta Sistem Dialog
==========================================
class ProsesDataShell extends Shell { function main() { $this->out('Hello World!'); $this->hr(); $path = null; while (!is_dir($path)) { $path = $this->;in('Directory :'); if (!is_dir($path)){ $this->out('Invalid directory!'); }else{ $this->out('Valid directory!'); } } } }?>
Save fail proses_data.php dan run kembali. Hasilnya, anda akan dapat dialog samaada Valid directory atau Invalid Directory.
$this->hr() akan paparkan line seperator
$this->in() akan menerima input dari user
Memperkenalkan Folder Utility
Seterusnya, saya ingin listkan semua fail dalam direktori yang dinyatakan. Jadi saya perlu import utility class bernama Folder
class ProsesDataShell extends Shell { function main() { $this->out('Hello World!'); $this->hr(); $path = null; while (!is_dir($path)) { $path = $this->in('Directory :'); if (!is_dir($path)){ $this->out('Invalid directory!'); } else { $this->out('Valid directory!'); # senaraikan fail dalam direktori uses('Folder'); $folder =& new Folder(); # read directory $folder = new Folder($path); $files = $folder->read(); foreach($files as $f){ foreach($f as $k => $v ){ # only show we_access $this->out($v); } } } } } } ?>
Save fail di atas, dan cuba run.
Sekian setakqat ini tutorial menggunakan CakePHP Shell dan Folder
Tiada ulasan:
Catat Ulasan