CakePHP:setFlashメソッドを使用しメッセージ出力

CakePHPsetFlashメソッドを使用してメッセージを出力する方法を記載します。
setFlashメソッドとは、一回限りのメッセージをセッションに作成するためのメソッドです。
メッセージを出力した場合、作成したセッションのメッセージは削除されます。
登録・更新処理などで一回限りのメッセージを出力する際などに便利な機能です。


■ 使用方法

【コントローラー(Controller)】
コントローラー側でメッセージをセッションに格納します。

$this->Session->setFlash('送信しました。');

【ビュー(View)】
ビュー側でメッセージを出力します。

<?php echo $this->Session->flash(); ?>

【出力結果】

送信しました。

実際に出力されるHTMLは下記のように出力されます。

<div id="flashMessage" class="message">送信しました。</div>

メッセージを出力した場合、そのメッセージはセッションから削除されるので、再度ビュー側で出力しても表示されません。
また、スタイルを変更したい場合などはclassの値を変更できるので、変更した値でCSSを作成します。


Linux:ワイルドカードを使用し複数のファイルを削除(rm)

Linuxでファイルやディレクトリを削除する時はrmコマンドを使って削除をしますが、複数のファイルを削除したい場合があります。
ワイルドカードを使用すれば同じ名前で始まるファイルなどを一度に複数削除することができます。
rmコマンドでワイルドカードを使用し、複数のファイル削除した時のメモを記載します。


■ 書式(ワイルドカード使用)

rm [オプション] *[文字列]
rm [オプション] [文字列]*

■ 使用方法

削除対象のディレクトリに移動し、ディレクトリの中身を参照します。

# cd /var/www/html/hoge/
# ls
file_1.txt  file_2.txt  file_3.html  hoge_1.gif  hoge_1.jpg  hoge_2.jpg

拡張子がtxtのファイルを複数同時に削除する場合は下記のように指定します。

# rm -rf *.txt
# ls
file_3.html  hoge_1.gif  hoge_1.jpg  hoge_2.jpg

txtファイルが削除されることがわかります。
また、「hoge_」で始まるファイルを複数同時に削除する場合は下記のように指定します。

# rm -rf hoge_*
# ls
file_3.html

「hoge_」で始まるファイルが全て削除されます。
共通の名前のファイルを同時に削除したい場合など便利かもしれないです。


Linux:cron(クーロン)でphpを自動実行する

cronを使用してphpファイルを指定した時間に自動実行する方法を記載します。また、その時のcronの設定方法をメモします。
システムを作成しているとログの削除やバックアップ、データの更新などを決められた時間に実行したい場合があります。
cronを使用すると自分でphpファイルを実行しなくても指定した時間で自動実行してくれるので便利だと思います。


■ cronの設定方法

cronを設定する時の書き方は下記のように記載します。

・書式

分 時 日 月 曜日 コマンド

・設定する値

0~59の値で指定。*を指定した場合、毎分となります。
0~23の値で指定。*を指定した場合、毎時となります。
1~31の値で指定。*を指定した場合、毎日となります。
1~12の値で指定。*を指定した場合、毎月となります。
曜日 0~7の値で指定。*を指定した場合、毎日となります。
コマンド 実行するコマンドやシェルスクリプトを指定。

■ cronでphpを実行

crontabコマンドでクーロンを編集します。

# crontab -e

実行する日時を指定して、実行するphpファイルのパスを絶対パスで指定します。
phpを実行するには「/usr/bin/php 」を書き、その後にファイル名を記載します。
サーバごとに書き方が違うかもしれないので、「/usr/bin/php」か「/usr/local/bin/php」で設定します。

毎日10時に「cron.php」を実行する場合、下記のように記載します。

0 10 * * * /usr/bin/php /var/www/html/cron/cron.php

Linux:cron(クーロン)の説明とcrontabコマンドの使用方法

WEBシステムを作成・運営などをする場合、cronクーロン)を設定して、定期的なバッチ処理やデータのバックアップ、サーバの時刻合わせなど、色々な面で使用することがあります。
他にも色々な使い方がありますが、今回はcrontabコマンドの基本的な使用方法をメモします。


cron(クーロン)について

クーロンとは設定した内容を定期的に実行するための機能です。
実行したい時間と内容を記述し、定期的にスクリプトや、コマンドなどを自動実行します。
cronを利用する場合は、サーバにcrondが動作している必要があり、通常はLinuxでは自動的にcrondが稼働するように設定されているようです。
クーロンは、運営サイトのバッチ処理やバックアップなどを定期的に処理することができるのでとても便利な機能です。


crontabコマンド

コマンドやバッチ処理を指定した時間に自動実行します。crontabはviの操作方法で設定します。
書式は以下のようになります。

crontab [-u ユーザー名] [オプション]

※crontabで作成した設定内容は/var/spool/cron/に作成したユーザー名で保存されます。

■ crontabのオプション

-u ユーザー名 他のユーザーのcrontabを設定する場合に指定します。rootユーザのみ使用できます。
また、-uオプションは省略可能です。省略した場合は現在のユーザーで設定されます。
-e crontabの編集をします。
-l crontabの内容を表示します。
-r crontabの内容を削除します。全ての設定が削除されるので注意が必要です。

※オプションの-rはcrontabの設定内容を全て削除してしまうので、-eで設定する際にキーボードの隣のキーなので注意が必要です。

■ crontabの使用方法

crontabの編集をする場合

# crontab -e

ユーザーを指定して編集する場合

# crontab -u hoge -e

crontabの設定を表示する場合

# crontab -l

ユーザーを指定してcrontabの設定を表示する場合

# crontab -u hoge -l

crontabの設定を削除する場合
※全ての設定が削除されるので設定を削除する場合は-eで削除する方がいいと思います。

# crontab -r

ユーザーを指定してcrontabの設定を削除する場合

# crontab -u hoge -r

HTML:HTML5でIE8以下のバージョンに対応させる

HTML5でページを作成するときにIEで表示が崩れてしまうことがあります。
IE8以下だとHTML5に対応していないので、正常に表示させる場合は下記のコードを記述する必要があります。
対応させるには「Google Code」で公開されている「html5shiv」スクリプトを使用します。


html5shiv

headタグ内に下記のコードを記述します。

<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

※JavaScriptをオンにしている必要があります。
※上記のif文はIE9未満の場合という意味です。
※新要素のブロックにCSSを設定している場合はCSSの設定よりも先に指定しないとスタイルが反映されません。

上記の方法でも導入可能ですが、導入方法が変わったそうです。
html5shivダウンロードしたものをサーバにアップし読み込むようにします。
※Google Codeのリポジトリのhtml5shivがバージョンアップしているので、不具合が生じる場合あります。

html5shivのダウンロードページからzipファイルダウンロードし、指定の場所にhtml5shiv.jsをサーバにアップします。

ダウンロードフォルダ\dist\html5shiv.js

jsフォルダにアップした場合、下記のように設定します。

<!--[if lt IE 9]>
<script src="js/html5shiv.js"></script>
<![endif]-->

CSS

HTML5の新要素で、ブロックボックスとしてレンダリングさせる要素に「display: block」を指定します。

article, aside, figure, footer, header, hgroup, nav, section {
    display: block;
}