Archives by date

You are browsing the site archives by date.

【PHP】ついにリリース。CakePHP2.4(安定版)。

でましたね。っていっても8月30日ですけど!
主なフィックスは、バージョン3.0に向けて機能の整理、及び安定性と性能を強化、とのこと。
今日のPHPカンファレンス参加して思ったけど、やっぱりCake人工多いね。圧倒的だね。熱いね。ほんと下気圧。もう変換ミスも気にならないくらい激熱。

PHPフレームワークも乱立する時代になって、ざっと数えただけでも8個くらいあるけども、やっぱりCakeのとっつきやすさはダントツな気がする。日本語ドキュメントも充実してて、転がってるエントリも多い。やっぱりCakeが大好きです。

そして会場にて勢いで買ったやーつー。

写真

最近Cakeに触れてなさ過ぎて禁断症状出そう。いい加減社内オレオレフレームワークじゃなくてOSS使わせてくださいお願いします。切実に。

【PHP】echo()、print()どっちが速いか。

結論から。

 

echo()のほうが速い。

 

そもそも。print()は内部でecho()を呼んでおり、返り値として必ず1を返却している。
そして最後にはFREE(メモリの開放?)処理を行うためecho()よりも若干パフォーマンスが下がるのである。

実際の動作はオペコードを見れば簡単に違いを確認できるが詳細は各自参照されたし。

オペコードに関しては下記URLを参照されたし。
http://www.php.net/manual/ja/internals2.opcodes.php

 

【Javascript】NaN(Not a Number)の判定方法。

if(parseInt(num) != ‘NaN’){}、とかやってたおろかな自分への戒めも。

if(isNaN(parseInt(num))){
	// 処理
}

ですよねー。そりゃ関数あるよねー。

【jQuery】特定の要素が画面内にレンダリングされた際、処理を実行する。

ブログなどの画面をスクロールしていると、読み終わるころにぴょこっと右下からお勧め記事が出てきたりする際にやってるやーつー。

いたって実装は単純。

$(function(){
	// 処理実行の引き金となる要素を設定
	var target = $("#target");
	$(window).scroll(function(){
		// 実行のトリガーになる要素のオフセット(一番上からの距離)から
		// 画面の縦幅を引いたものを処理実行までの距離とする(画面の下端を基準に設定)
		var tPos = $(target).offset().top - $(window).height();	
		// スクロールされた長さが上記で求めた距離を越えた場合、処理を実行
		if ($(window).scrollTop() >= tPos) {
			// 処理を記述
		}
	});
});

以下関数の解説。

■scroll()
画面のスクロールをトリガーに処理を実行する。

■offset()
指定した要素が可視状態の場合(display:noneとかじゃない)、ドキュメント内最上端から指定要素上端までの距離を取得する。

■height()
指定した要素の高さを取得する。$(window).height()の場合、現在の表示領域(画面の高さ)を返却する。

■scrollTop()
ドキュメントの最上端から現在までにスクロールされた距離をピクセルで返却する。

これらの関数を用いれば、ユーザー操作に連動したダイナミックな処理を簡単に実装することが出来る。
例えばフッターをターゲット要素に設定した場合、自動で次ページを取得しDOMに追加するといった、オートページャー的処理も簡単に行えちゃうのである。

【CSS】単語の途中でも強制改行させる方法。

デザイン的にどうしても要素からはみ出してほしくないとき用。

あと、長い英数字を連続して入力されたりしたときの対策。

div {
  /* 幅の指定は必須 */
  width: 250px;
  word-wrap: break-word;
}

幅は指定しなければ意味がないので注意。
幅が定義されていないと強制改行もなにもないので。

※spanだとうまくいかない。pだとうまくいく模様。