_onichannn

【CentOS】CentOS6にyumでphp5.5をインストールする。

やった時のメモ。

1, まずはリポジトリの追加。

rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm

2, 追加完了後、下記コマンドを実行。

rpm -qa | grep webtatic

3, 下記のように表示されればOK

webtatic-release-6-4.noarch

4, 現在インストールされているPHP関連のソフトウェアをすべてアンインストール

yum erase php*

5, アンインストールが完了したら、下記コマンドを実行しPHP5.5をインストール。

yum install php55w.i386 php55w-cli.i386 php55w-common.i386 php55w-mbstring.i386 php55w-mysql.i386 php55w-xml.i386 php55w-pdo.i386 php55w-pear.noarch php55w-intl.i386 php55w-devel.i386

※もしno packageっていわれたら下記。

yum install php55w php55w-cli php55w-common php55w-mbstring php55w-mysql php55w-xml php55w-pdo php55w-pear.noarch php55w-intl php55w-devel

6, 完了後下記コマンドを実行。

php -v

7, PHP5.5.7と表示されていれば成功。

 

【CentOS】yumでインストール済みのパッケージを表示する。

めも。

yum list installed

キーワードで絞りたい場合は下記の通り。

yum list installed | grep [キーワード]

 

【CentOS】RPMパッケージのアンインストール方法。

めも。

「-e」オプションを利用して、対象のパッケージを指定すればアンインストールしてくれる。

rpm -e [パッケージ名]

 

【Javascript】変数がNaN以外の数値であることを保証するイディオム。

イディオムシリーズ。

var a = function(val) {
	var num = +val || 0;
	console.log(num);
}

a('12345');
a('123abc');
a('string');

↓

// 12345
// 0
// 0

数値化に失敗した場合は変数に0がセットされる。

 

【Javascript】変数の未定義エラーを回避するイディオム。

イディオムシリーズ。

var a = function(b) {
	b = b || {};
	console.log(b);
}

a();

// Object {}

||演算子を用いることで、変数の評価結果がfalseの場合、初期値として演算子右側の値が代入される。

 

【Javascript】if文を省略する。

メモ。

Javascriptの&&演算子はどの型にも用いることができるため、if文がネストする場面において非常にスマートな記述を行うことが出来る。

下記はコンソール出力まで辿り着かない例。
※cがfalseのため。

var a = true;
var b = true;
var c = false;

a && b && c && console.log('ok');

すべてがtrueと評価されると、&&演算子の一番最後の式が評価される。

var a = true;
var b = true;
var c = true;

a && b && c && console.log('ok');

上記は下記のif文と同等の意味を表す。

if(a) {
	if(b) {
		if(c) {
			console.log('ok');
		}
	}
}

 

【PHP】スクリプトの処理中にバッファを出力する。

メモ。

// 出力バッファをオフにする
ob_end_flush();
// 例えば下記のような時間のかかる処理があったとする
for($i = 0; $i < 1000; $i++) {
	// echoで出力したものを
	echo '=>';
	// flushでブラウザに出力する
	flush();
	usleep(10000);
}

 

【PHP】empty()関数の挙動めも。

ハマったのでめも。

まず関数定義

bool empty ( mixed $var )

ここで引数の$varに注意。PHP5.5より前のバージョンでは引数として変数しか受け取ることができない。
そのため式や関数をついでに評価してもらおうとすると、エラーで処理が止まってしまう。

下記動作する例。

$var = '12345';

$var = (int)$var;

$res = empty($var);

var_dump($res);

↓

bool(false)

下記エラーとなる例

$var = '12345';

$res = empty((int)$var);

var_dump($res);

↓

syntax error, unexpected T_INT_CAST