CakePHP:日付から12星座を表示するヘルパー

10月 19th, 2007 admin Posted in CakePHP, PHP |

ヘルパーにマスターデータを入れておいていいのかって気もしますが・・・とにかく今までネットに公開されたCakePHPのヘルパーの中で一番使われないものであることは確実ですね。
12星座ってもっとスマートに求める方法はあるんでしょうか?

期待する状態

サンプル

< ?php
$str = “2007-01-03″;
echo $html->dateto12astro($str);
?>

出力

やぎ座

設置方法

/app/views/helpers/html.phpに(ない人はcakeフォルダからコピーしてもってくる)以下の関数を追加

	/*
	 * 日付を12星座に変換します。
	 * param:GNU » Date Input Formats  形式に準拠した日付文字列(例:yyyy-mm-dd)
	 */
	function dateto12astro($date){
		$str = intval(date("nd",strtotime($date)));
		switch ($str){
			case $str <= 119:
				return "やぎ座";
			break;
			case $str <= 218;
				return "みずがめ座";
			break;
			case $str <= 320;
				return "うお座";
			break;
			case $str <= 419;
				return "おひつじ座";
			break;
			case $str <= 520;
				return "おうし座";
			break;
			case $str <= 621;
				return "ふたご座";
			break;
			case $str <= 722;
				return "かに座";
			break;
			case $str <= 822;
				return "しし座";
			break;
			case $str <= 922;
				return "おとめ座";
			break;
			case $str <= 1023;
				return "てんびん座";
			break;
			case $str <= 1121;
				return "さそり座";
			break;
			case $str <= 1221;
				return "いて座";
			break;
			case $str <= 1231;
				return "やぎ座";
			break;
		}
		return false;
	}

関係ないですがWeb ad Fortune 12星座占いデータのWebAPIというのがあるんですね。占いサイトを始める人にはぴったり

Leave a Reply