Yii 共通関数の作成

共通関数を作成する

各コントローラーやモデルで他に共通する処理がある場合、それぞれのファイルに
処理を実装するとコード量が増えるし後に修正する際に漏れが発生するため
全ての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', 'アップロードエラー');
			}
		}
		
		・・・処理

Comments are closed.