CakePHP2 生まれて初めてHelper作ってみるの〜♬ ITかあさん

ITかあさん

CakePHP2 生まれて初めてHelper作ってみるの〜♬

CakePHP2 生まれて初めて~Helper作ってみるの〜♬

CakePHP2 Helper

ごめんなさい、全然生まれて初めてじゃないです。

CakePHPのhelperは言わずもがな、View側の共通処理を記載します。(Controllerの共通処理はComponentsですね)

CakePHPでUserAgentによる表示切り替えをHelperで実装してみる

よくある、スマホでアクセスしたらどうする、PCでアクセスがあればどうするといった UserAgentによる表示切り替えをHelperで実装してみます。

参考

UserAgentによる切り替えのサンプルはこちらが参考になりそうなので、これをCakePHPのHelper化したいと思います。

STEP:1 View/HelperディレクトリにUserAgentHelper.phpを作る

HelperディレクトリにHelperファイルを作ります。

ファイル名は必ず○○Helper.php

STEP2:Helperの中身を書く

class ○○Helper extends AppHelper の書き出しです。
App::uses('AppHelper', 'View/Helper');
 
class UserAgentHelper extends AppHelper {
 
    private $ua;
    private $device;

    public function deviceCheck(){
         
        //ユーザーエージェント取得
        $this->ua = $_SERVER['HTTP_USER_AGENT'];
 
        if(strpos($this->ua,'iPhone') !== false){
            //iPhone
            $this->device = 'iphone';
        }
        elseif(strpos($this->ua,'iPad') !== false){
            //iPad
            $this->device = 'ipad';
        }
        elseif((strpos($this->ua,'Android') !== false) && (strpos($this->ua, 'Mobile') !== false)){
            //Android
            $this->device = 'android_m';
        }
        elseif(strpos($this->ua,'Android') !== false){
            //Android
            $this->device = 'android_t';
        }
        else{
            $this->device = 'pc';
        }
        return $this->device;
    }
}

STEP3:Controllerから作ったHelperを呼び出し

public $helpers = [‘UserAgent’];
App::uses('AppController', 'Controller');
class ExampleController extends AppController {
    public $helpers = ['UserAgent'];
//以下省略

STEP4:後はViewで良きほどに使う!

$this->UserAgent->deviceCheck();

以上!おしまい!

初夏のJavaScript祭 in サーキュレーションビル ForPro