共通関数を作成する
各コントローラーやモデルで他に共通する処理がある場合、それぞれのファイルに
処理を実装するとコード量が増えるし後に修正する際に漏れが発生するため
全てのController、Modelで共有出来そうなメソッドは【/protected/compornents/】
にファイルを作成すると管理が楽になる
■実装例
・【/protected/compornents/】配下に"Common.php"を作成 ・各画面からコールしてみる
【/protected/compornents/】配下に”Common.php”を作成
<?php class Common { /** * ディレクトリ生成 **/ public static function makeDirectory($path, $make_flag = true) { $result = false; // ディレクトリを確認 if(file_exists($path)) { $result = true; } if($result === false) { // ディレクトリが存在せずmake_flagがtrueの場合はディレクトリを作成 if($make_flag) { mkdir($path, 0755, true); chmod($path, 0755); $result = true; } } return $result; } }
各画面からコールしてみる
・・・処理 // 保存先を生成 if(Common::makeDirectory($path)) { // ファイル名を生成 $this->image = sha1(mt_rand().microtime()).'.'.$image->extensionName; if($image->saveAs($path.$this->image)) { Yii::app()->user->setFlash('image', 'アップロードエラー'); } } ・・・処理