Apa
yang dimaksud dengan module pada Zend Framework 2? Module adalah
koleksi dari kode-kode program dan file-file lain yang mendukung
penyelesaian suatu masalah spesifik pada suatu aplikasi. untuk melihat
struktur module kita bisa mengclone contoh module ZendSkeletonModule
dengan GIT dengan cara masuk ke folder ZendSkeletonApplication\Module :
git clone <span class="skimlinks-unliked">https://github.com/zendframework/ZendSkeletonModule.git</span>
Selain
cara diatas dapat juga dilakukan dengan cara membuat
direktori-direktori dan file dari module dengan cara membuat sendiri.
Buat folder baru pada folder module dengan nama Users setelah itu buat 3
folder dengan nama config,src,dan view didalam folder Users tersebut
serta buat 1 file dengan Module.php didalam folder Users. sehingga akan
terlihat seperti berikut :
selanjutnya buka file Module.php dengan notepad atau sebagainya dan masukan source code perintah seperti dibawah ini :
namespace Users;
class Module
{
public function getConfig()
{
return include __DIR__. '/config/module.config.php';
}
public function getAutoLoaderConfig()
{
return array(
'Zend\Loader\StandardAutoloader'=>array(
'namespaces' => array(
__NAMESPACE__ => __DIR__. '/src/'. __NAMESPACE__,
class Module
{
public function getConfig()
{
return include __DIR__. '/config/module.config.php';
}
public function getAutoLoaderConfig()
{
return array(
'Zend\Loader\StandardAutoloader'=>array(
'namespaces' => array(
__NAMESPACE__ => __DIR__. '/src/'. __NAMESPACE__,
)
)
);
}
}
)
);
}
}
seperti yang tertulis didalam source code diatas yaitu return include __DIR__. '/config/module.config.php'; maka kita harus membuat file module.config.php yang akan disimpan pada folder Users/config dan nantinya akan include dengan file Module.php. Tuliskan source code berikut ini pada module.config.php :
return array(
'controllers'=>array(
'invokables'=>array(
'Users\Controller\Index'=>'Users\Controller\IndexController',
),
),
'router'=>array(
'routes'=>array(
'users'=>array(
'type'=>'Literal',
'options'=>array(
//change this to something specific to your module
'route'=>'/users',
'defaults'=>array(
//change this value to reflect the namespace in which
//the controllers for your module are found
'__NAMESPACE__'=>'Users\Controller',
'controller'=>'Index',
'action'=>'index',
),
),
'may_terminate'=>true,
'child_routes'=>array(
//this route is a sane default when developing a module;
//as you solidify the routes for your module, however,
//you may want to remove it and replace it with more
//specific routes.
'default'=>array(
'type'=>'Segment',
'options'=>array(
'route'=>'/[:controller[/:action]]',
'constraints'=>array(
'controller'=>'[a-zA-Z][a-zA-Z0-9_-]*',
'action'=>'[a-zA-Z][a-zA-Z0-9_-]*',
),
'defaults'=>array(
),
),
),
),
),
),
),
'view_manager'=>array(
'template_path_stack'=>array('users'=>__DIR__.'/../view',
),
),
)
),
),
),
),
),
),
'view_manager'=>array(
'template_path_stack'=>array('users'=>__DIR__.'/../view',
),
),
)
untuk tahap selanjutnya kita akan membuat controller dan view untuk module users, langkah untuk membuatnya yaitu :
buka file application.config,php tersebut dan tambahkan Users sebagai list module yang aktif seperti source code berikut ini :
'modules' => array(
'Application',
'Users',
),
kemudian test module menggunakan web browser dan ketikan alamat berikut http://localhost/zendskeletonapplication/public/users maka akab terlihat seperti gambar dibawah ini :
maka untuk membuat module telah selesai. :D selamat mencoba semuanya..
untuk bentuk PDF bisa download disini.
- buatlah folder Users / Controller pada folder src sehingga terlihat seperti gambar dibawah :
- Buatlah file baru dengan nama IndexController.php dan disimpan pada folder src/Users/Controller/
- Tuliskan Source Code berikut didalam file IndexController.php :
namespace Users\Controller;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
class IndexController extends AbstractActionController
{
public function indexAction()
{
$view = new ViewModel();
return $view;
}
public function registerAction()
{
$view = new ViewModel();
$view->setTemplate('users/index/new-user');
return $view;
}
public function loginAction()
{
$view = new ViewModel();
$view->setTemplate('users/index/login');
return $view;
}
} - buatlah folder users/index untuk difolder view seperti gambar berikut :
- setelah folder dibuat, anda buat 3 file yaitu index.phtml, login.phtml, dan new-user.phtml disimpan pada folder view/users/index/
- buka file index.phtml yang disimpan pada folder view/users/index/ dan tuliskan source code berikut ini :
<h1>Welcome to Users Module</h1>
<a href="/users/index/login">Login</a> | <a href="/users/
index/register">New User Registration</a> - buka file login.phtml yang disimpan pada folder view/users/index/ dan tuliskan source code berikut ini :
<h2> Login </h2>
<p> This page will hold the content for the login form </p>
<a href="/users"><< Back to Home</a> - buka file new-user.phtml yang disimpan pada folder view/users/index/ dan tuliskan source code berikut ini :
<h2> New User Registration </h2>
<p> This page will hold the content for the registration
form </p>
<a href="/users"><< Back to Home</a>
buka file application.config,php tersebut dan tambahkan Users sebagai list module yang aktif seperti source code berikut ini :
'modules' => array(
'Application',
'Users',
),
kemudian test module menggunakan web browser dan ketikan alamat berikut http://localhost/zendskeletonapplication/public/users maka akab terlihat seperti gambar dibawah ini :
maka untuk membuat module telah selesai. :D selamat mencoba semuanya..
untuk bentuk PDF bisa download disini.
Tidak ada komentar:
Posting Komentar