トップに戻る ITエンジニア 大和賢一郎
コントローラを新規シンキ追加ツイカする
スケルトンにはあらかじめ index という
コントローラが実装ジッソウされている。
しかし自分ジブン作成サクセイしたコントローラを
新規シンキ作成サクセイしたい場合バアイもある。
その方法ホウホウ解説カイセツする。
1、コントローラファイル(PHP)を作成サクセイする
まずデフォルトの index コントローラは下記カキ配置ハイチになっている。
コントローラのファイルメイ
なんちゃらController.php となる。
上記ジョウキ場合バアイは、Index の部分ブブンが なんちゃら となる。
この なんちゃら の部分ブブン名前ナマエ変更ヘンコウして
ファイルを作成サクセイすれば、それがコントローラーファイルになる。
ここでは、IndexController.php とドウ階層カイソウに、
HogeController.php を作成サクセイする。
エクスプローラジョウから作成サクセイしてもよいし、
IDEから作成サクセイしてもよい。
ただし文字モジコードはUTF8とする。
上記ジョウキのように、HogeController.php を、
Controller 配下ハイカ作成サクセイする。
作成サクセイはファイルメイ大文字オオモジ小文字コモジ意識イシキする。
つぎに、コントローラを構成コウセイする
クラスとアクションを作成サクセイしていく。
アクションはファンクションであり、
クラスのメンバ関数カンスウカンガえてよい。
ここでは、まずスケルトン既存キゾンの IndexController.php
内容ナイヨウをコピペして、Hogeクラスおよび、クラスナイ
メンバ関数カンスウ(アクション)を作成サクセイしていく。
下記カキは、スケルトン既存キゾンの IndexController.php のソースである。
これを HogeController.php にコピペして、クラスメイやアクションメイ変更ヘンコウしていく。
<?php  
/**  
 * Zend Framework (http://framework.zend.com/)  
 *  
 * @link      http://github.com/zendframework/ZendSkeletonApplication for the canonical source repository  
 * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)  
 * @license   http://framework.zend.com/license/new-bsd New BSD License  
 */  
 
namespace Application\Controller;  
 
use Zend\Mvc\Controller\AbstractActionController;  
use Zend\View\Model\ViewModel;  
 
class HogeController extends AbstractActionController  
{  
    public function piyoAction()  
    {  
        return new ViewModel();  
    }  
}  
命名メイメイ規則キソクについては、下記カキのとおりである。
1.コントローラクラスのクラスメイは、末尾マツビに Controller と付与フヨする。
2.アクションメイは、末尾マツビにAction と付与フヨする。
なお、大文字オオモジ小文字コモジ意識イシキする必要ヒツヨウがあるので、上記ジョウキのソースを参考サンコウにするとよい。
修正シュウセイ下記カキのようになる。
コントローラメイ: HogeController
アクションメイ:  piyoAction
2、コントローラを実装ジッソウする
ツヅいて、HogeControllerを実装ジッソウする。
具体的グタイテキには、メンバ関数カンスウである piyoAction の中身ナカミ実装ジッソウする。
上記ジョウキ実装ジッソウでは、タンにビューを表示ヒョウジさせるだけなので、
アクションからアタイワタして、そのアタイをビューにて表示ヒョウジする、
という処理ショリ実装ジッソウする。
<?php  
/**  
 * Zend Framework (http://framework.zend.com/)  
 *  
 * @link      http://github.com/zendframework/ZendSkeletonApplication for the canonical source repository
 * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)  
 * @license   http://framework.zend.com/license/new-bsd New BSD License  
 */  
 
namespace Application\Controller;  
 
use Zend\Mvc\Controller\AbstractActionController;  
use Zend\View\Model\ViewModel;  
 
class HogeController extends AbstractActionController  
{  
    public function piyoAction()  
    {  
        $value = array('key' => '私は、ほげコントローラの、ぴよアクションです。');  
        return new ViewModel( $value );  
    }  
}  
 
上記ジョウキのように、$value に配列ハイレツとして、キーとアタイ設定セッテイし、$value をViewModelの引数ヒキスウとしてワタす。
すると、ビューガワでは、$key という変数ヘンスウにて、アタイワタシは〜)を取得シュトクできるので、echo で画面ガメン表示ヒョウジさせればよい。
3、ビューを実装ジッソウする
ツヅいて、ビューを実装ジッソウする。
ビューは、アクションと1タイ1になる(コントローラと1タイ1ではないことに注意チュウイ)。
よって、今回コンカイレイでは、piyoAction に対応タイオウするビューを1つ作成サクセイする必要ヒツヨウがある。
ビューの下記カキである。
このレイでは、まず View フォルダがあり、
その配下ハイカに application フォルダがあって、
さらに index フォルダがあり、
index.phtml がハイっている。
ちなみに、拡張子カクチョウシ .phtml のファイルが、ビューファイルである。
HTMLとPHPを記述キジュツできる。
上記ジョウキレイはスケルトン既存キゾンのindexコントローラおよびindexアクションなので、
フォルダメイもビューファイルメイもindexになっている。
今回コンカイ作成サクセイした Hoge コントローラおよび、Piyo アクションのビューを設置セッチする場合バアイ
まず application 配下ハイカに hoge フォルダを作成サクセイし、そのナカに piyo.phtml をく。
piyo.phtml の中身ナカミについては、たとえば下記カキのように実装ジッソウする。
サンプルあああ  
<?php echo $key; ?>  
ここで「サンプルあああ」の部分ブブンは、任意ニンイのHTMLを記載キサイできる。
PHP部分ブブンは $key を echo しているが、この中身ナカミは、コントローラからる。
4.モジュールコンフィグを設定セッテイする
モジュールコンフィグは、下記カキ場所バショにある。
このファイルの下記カキ箇所カショ修正シュウセイする。
下記カキ追記ツイキしている。これは、Hogeコントローラを追加ツイカしたので、その設定セッテイである。
, 'Application\Controller\Hoge' => 'Application\Controller\HogeController'  
以上イジョウまで完了カンリョウしたら
http://localhost/140405a/application/hoge/piyo
にアクセスする。下記カキ画面ガメン表示ヒョウジされたらOK。
以上イジョウ