PHP におけるライブラリとは、使い方さえ知っていれば簡単なコードでものすごいことができちゃう便利なものなのです。説明が下手で申し訳ない、どーも Naokix でぃす。
PHP を勉強しようとすると、サーバーなどが深く関わってくるからなのか、Linux 環境での説明が多いのですが、今回は Windows 環境での説明になります。
XAMPP を用意する
PHP の動作環境はいくつもあるかと思いますが、WordPress でブログを運用している場合はローカル環境に XAMPP をインストールしていると思います。今回はこれを流用。プラグインやテーマをいきなり本番の環境に導入するようなリスキーな真似はしちゃいけません。XAMPP ならわざわざレンタルサーバーを借りなくても PHP の動作確認ができるので便利です。
Windows 向けをダウンロードしてください。
installer.exe ファイルをダブルクリックして手順に従えば、簡単にインストールできます。XAMPP のコントロールパネルが立ち上がったら、「Start」ボタンを押して Apache を起動しておいてください。
よろしければこちらもどうぞ。
WindowsにPHPの動作環境を簡単に準備する | Naokix.net
ライブラリを用意する
今回は日付時刻ライブラリの「Carbon(カーボン)」です。PHP のデフォルトの日付や時刻の処理はなにかと評判が悪いですが、このライブラリは使いやすくコードも直感的に書けると人気なのです。人気のフレームワークに統合されたりとネットの情報も豊富なのでこれでテストしてみます。
右側の「Download ZIP」をクリックしてダウンロードします。
ZIP ファイルをダウンロードしたら解凍すると Carbon-master というフォルダができます。Carbon-master/src 以下に「Carbon」というフォルダがあり、今回使うのはこのフォルダ以下のファイルです。
デフォルトで XAMPP をインストールしている場合、 C:/xampp/php フォルダの下に「lib」とか適当な名前のフォルダを作ってその中に先ほどの「Carbon」フォルダをコピーします。
これで準備は完了。
ライブラリを使ってみます
それではライブラリを使ってみましょう。テキストエディタで次のようにソースコードを作成します。
1 2 3 4 5 6 | <?php require_once('lib/Carbon/Carbon.php'); use Carbon\Carbon; echo Carbon::now(); |
require_once の引数ですが、どこに Carbon フォルダをコピーしたのかで変わるので注意してください。外部 PHP ファイルの読み込み関数は include、require、require_once といくつかありますが、これらの違いについては以下のリンク先がとてもわかりやすくておすすめです。
PHP、includeとrequireの違い|マコトのおもちゃ箱 ~ぼへぼへ自営業者の技術メモ~
PHP、requireとrequire_onceの違い|マコトのおもちゃ箱 ~ぼへぼへ自営業者の技術メモ~
結論を申し上げれば、「ライブラリを読み込むときは require_once を使え」ということです。これは関数の再定義によりエラーが起こるのを回避するためです。
文字コードを Shift-JIS、改行コードを LF ONLY にして、適当な名前で保存します。今回は test.php としました。これを C:/xampp/php フォルダ以下に移動します。
コマンドプロンプトを立ち上げまして、カレントフォルダを C:/xampp/php に移動します。
「php test.php」と入力しエンターキーを押せば、
現在の日時・時刻が表示されます。XAMPP インストール直後の PHP はタイムゾーンが Europe/Berlin で登録されているので、日本時間からマイナス8時間ずれています。「時間ずれとるやんけ?!」とかあせったりしないようにしてください。
いろいろ試してみよう
明日の日付を知りたければ、
1 2 3 4 5 6 | <?php require_once('lib/Carbon/Carbon.php'); use Carbon\Carbon; echo Carbon::tomorrow(); |
こうすると、
このように出力してくれます。日付だけがほしい場合は、
1 2 3 4 5 6 | <?php require_once('lib/Carbon/Carbon.php'); use Carbon\Carbon; echo Carbon::tomorrow()->day; |
このようにすれば、
日付の数値だけを出力してくれます。その他にも、
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | <?php require_once('lib/Carbon/Carbon.php'); use Carbon\Carbon; // 今日 echo Carbon::now(); // 2015-09-09 16:17:29 echo "\n"; // 昨日 echo Carbon::yesterday(); // 2015-09-08 00:00:00 echo "\n"; // 4日後 echo Carbon::now()->addDays(4); // 2015-09-13 16:17:29 echo "\n"; // 5日前 echo Carbon::now()->subDays(5); // 2015-09-04 16:17:29 echo "\n"; // 個別に数字を取得する場合 $carbon = Carbon::now(); echo $carbon->year; // 2015 echo "\n"; echo $carbon->month; // 9 echo "\n"; echo $carbon->day; // 9 echo "\n"; echo $carbon->hour; // 16 echo "\n"; echo $carbon->minute; // 17 echo "\n"; echo $carbon->second; // 29 echo "\n"; echo "\n"; |
などなど、非常に便利であります。
最後に
ライブラリを使えるようになれば、いちから自分でコーディングするよりもはるかに手間がかからずにいろいろなことができるようになります。これを機会に PHP ライブラリを試してみてください。
Comment