日付変換(西暦、和暦、年齢等)

Laravel5で日付変換の為の自作クラスを作成してみたいと思います。appフォルダの直下に作成しました。

私が頻繁に使用しているクラスで、Laravel5用に作成し直しました。元号を西暦に変換したり、西暦を元号に変換、また、年齢を計算したりするのに使用しています。

app/Convert.php

  • 1行目:Laravel5からは、名前空間の指定が必須になりました。
  • 2行目:use演算子でExceptionクラスをインポートします。Laravel5からはuse演算子を多用しますので、テキストエディタでの入力は面倒になります。できれば、EclipseやNetBeans等の、補完機能を使った方が便利です。※NetBeansでは、use Excepiton;と入力するとuse SebastianBergmann\Exporter\Exception;に変換してくれます。

date($date=null,$mark=null)

  • 第1引数を西暦に変換するメソッド
  • 第1引数は、昭和50年1月1日、H.50.1.1、H50-1-1、形式に対応
  • 第2引数は、西暦の表示方法。省略すれば、2014-12-25形式で表示、1を指定すれば、2014/12/25形式で表示し、2を指定すれば、2014年12月25日形式で表示。

gengo($date=null,$mark=null)

  • 第1引数を元号に変換するメソッド
  • 2010/12/25、2010-12-25、または、2010年12月25日形式の第1引数を平成22年12月25日に変換
  • 第2引数は、元号の表示方法。第2引数を省略すれば、平成22年12月25日形式で表示、1を指定したら、H.22/12/25形式で表示し、それ以外を指定すれば、H.22.12.25形式で表示します。

age($date)

  • 第1引数を年齢に変換するメソッド
  • 引数は1980-10-10、1980/10/10、及び昭和50年11月2日形式にも対応
  • このメソッドでは、38歳のように”歳”の文字まで表示するように作成していますが、数字だけがほしい場合などは、第2引数を作成して、その引数に応じて、数字に変換するか、文字に変換するかを決めるのも一つ方法だと思います。

week($date=null)

  • 第1引数を曜日に変換するメソッド

weekdate($date=null,$mark=null)

  • 第1引数を曜日付きの日付に変換するメソッド

このConvertクラスをHomeController内で使用してみます。

app/Http/Controllers/Homecontroller.php

  • 1行目:名前空間の指定は必須です。
  • 3行目:コントローラを使用するには、これも必須です。
  • 4行目:Convertクラスを使用するので、use App\Convert;も必須です。

Laravelの初期設定

設定ファイル

Laravelの設定ファイルはapp/configフォルダ内に設定されています。フォルダ内は下記のようになっています。

2014-11-11 9-34-23

configフォルダ内には、local、packages、testingフォルダがあります。lacalはローカル環境用の設定ファイル、packagesは、パッケージ用の設定ファイル、testingはテスト用の設定ファイルを記述します。

そして、configフォルダ直下には、実行環境用の設定ファイルがずらーと並んでいます。この中で、まず設定しないといけないのが、app.phpファイルです。

下記のように修正します。

app/config/app.php

16行目:’debug’=>true,

42行目:’timezone’=>’Asia/Tokyo’,

55行目:’lacale’=>’ja’,

  • 尚、実行環境では、16行目は、絶対にtrueにしないでください。

インストール

Composerのインストール

Laravelはパッケージの依存管理にComposer*を活用していますので、Laravelをインストールする前にComposerをインストールします。Windowsをご使用の場合は、下記のWindowsインストーラーを使用してください。

Composerのインストール方法は、Windows徒然草のページで詳細にご紹介しています。

Laravelのインストール

Laravelインストーラーによるインストール

MacやLinuxをご利用の場合は、Laravelインストーラーによるインストールが簡単です。

 composer create-projectによるインストール

今まで同様composerのcreate-projectコマンドによるインストールもできます。

尚、日本語版のLaravelをインストールする場合は、下記のように入力してください。

 

開発環境について

サーバー要件

Laravel4.1迄は、はPHP5.3.7以上が動作要件でしたが、Laravel4.2からはPHP5.4以上が動作要件に変更になりました。

  • PHPバージョン5.4以上
  • mycrypt PHP拡張
  • mbstring PHP拡張

ローカル開発環境

  • XAMPP(XAMPP for Windows)

ローカル開発環境で、割と簡単に導入できるのが、XAMPPによる開発環境の準備です。XAMPPとは、WebサーバーのApache、データベースのMySQL、そしてPHPをセットにしたWindows用のパッケージソフトで、Mac用には、MAMPPがあります。

Windowsの導入方法は、下記のサイトをご参照ください。

  • Vagrant

最近では、Vagrantによる開発環境の準備が普及してきました。

一般的に本番環境は、Linuxサーバーで、ローカル開発環境としては、WindowsやMac(XAMPPやMAPPP)を利用するのが多いと思います。XAMPPやMAMPPはローカル開発環境を構築するのは簡単ですが、Linuxとは、フォルダ構成に異なる点が多々あります。ローカルでは動いたけれども、本番環境では、動かないなどという事が発生したりします。

そこで、本番環境とローカル開発環境を揃えることができるVagrantに注目が集まっています。

  • Homestead

 Laravelでは、Laravelの開発用にHomesteadというVagrant Boxを用意しています。

Laravel Homesteadに関しては、Laravel4初心者講座で詳細にご紹介していますので、下記をご参照ください。

  1. イントロダクション
  2. パッケージされているソフトウエア
  3. Virtual BoxとVagrantのインストール
  4. HomesteadリポジトリのクローンとSSHキーの作成
  5. Homestead.yamlの編集
  6. Vagrant Boxの起動
  7. Homesteadの使用方法
  8. HomesteadにphpMyAdminのインストール

Composerとは

Composerとは、作曲家、構成者、作者等を意味する英単語ですが、ここで紹介するComposerとはPHPのライブラリ依存管理ツールで、設定ファイル(composer.json)に必要なライブラリを記述することにより簡単に管理することができます。

PHPでは、今までPEAR等のパッケージ管理を使用するのが一般的でしたが、ここ1~2年のトレンドとして、Composerによるパッケージ管理が普及してきました。

Laravelでも、Laravel4からComposerによるパッケージ管理が導入されるようになりました。

参考サイト

タグとは

タグとは、元々は荷札、付箋といった意味の英単語で、Webページのあらかじめ定められた特殊な記法によりテキスト文字に対して文書構造や文字飾り、他のサイトへのリンク等の特殊な情報を付加できるようになっている。

参照サイト

HTMLとは

HTMLとは、Hyper Text Markup Languageの略で、Webページを作成するために開発された言語です。ブラウザを右クリック→ページのソースを表示で表示される記号と文字のテキストページがHTMLの正体です。タグ*と呼ばれる特殊な記号(<html>や<p>や<body>等)で、文字列を囲み、その文字に意味合いをつけます。

参考サイト

PHPとは

PHPとはサーバーサイド・スクリプト言語で、Webサーバー上で動作し、動的にHTML*データを生成し、動的なWebページを生成することを目的としたプログラミング言語、およびその言語処理系である。