【Perl】【PHP】 exitとdieの違い。

落ち着いて「ラクダ本」をめくれば、
解決できることだったんですが、
現場だといつも切羽詰って、
ググりまくってしまうので
忘れないうちにメモします。

exit関数die関数の違い」です。

exit関数・・・メッセージを出さずに、
       スクリプトを強制終了させます。

die関数・・・エラーメッセージを出して
       スクリプトを強制終了させます。

【参考資料】
プログラム制御に関する関数 - Perl関数のリファレンス
http://www.perlplus.jp/func/control/

また、PHPもexit関数die関数がありますが、
どちらもメッセージを出力して、強制終了させます。
die関数は、exit関数のエイリアスということです、


【参考資料】
【 ほでなすPHP 】 関数ミニリファレンス -> その他の関数(割と重要)
http://www.shigeweb.jp/php/project_p/?section=miniref&page=misc


プログラミングPerl〈VOLUME1〉 プログラミングPerl〈VOLUME1〉

著者:ラリー ウォール,ジョン オーワント,トム クリスチャンセン
販売元:オライリー・ジャパン
Amazon.co.jpで詳細を確認する

Perl の絵本 Perl の絵本

著者:株式会社アンク
販売元:翔泳社
Amazon.co.jpで詳細を確認する

| | コメント (0)
|

【CakePHP】モデルでフィールド同士の比較をする場合の条件づけ

CakePHP1.2のモデルの条件設定(condition)で、
フィールド同士の比較はどうやるんだろうと
迷っていたのですが、動作確認できたので
メモします。

TABLE_A.field1 > TABLE_B.field2 

ってやりたい場合は、

$option['condition'][] = 'TABLE_A.field1 > TABLE_B.field2';

確かに、$option['condition'][フィールド名]=条件
という連想配列ですので、定義の仕方は間違ってないですね。

| | コメント (0)
|

【PHP】 PHP5.3における「ヒアドキュメント」仕様変更の一例

PHP5.3におきましては、コンマ1のバージョン変更
といえども、かなりの仕様変更や従来の関数が
「deprecated(非推奨)」警告文を出すなどの
バージョンの違いが出てきています。

現場で実際に痛い目に遭った一例ですが、PHP5.3では
「クラス内で変数初期化する際にヒアドキュメントが
使えるようになった」
という仕様変更がなされました。

【PHPマニュアルより】
http://php.benscom.com/manual/ja/language.types.string.php#language.types.string.syntax.heredoc

フレームワークのモデル定義で、固定のSQLを定義する際、
ヒアドキュメントで定義したほうがコーディングが楽になります。

PHP5.3以前では下記のような初期化定義をしてもエラーと
なって返されてしまうというわけです。

class hoge{
  var $sql = <<<SQL
  ・・・SQL文・・・
  SQL;
}

【参考】技術評論社 

「PHP 5.3の新機能と変更点:第3回 PHP 5.3の追加機能と仕様変更 (1)」

http://gihyo.jp/dev/feature/01/php53/0003?page=2

| | コメント (0)
|

【Oracle】DBて定義されている文字コードの調べ方

Oracleは、信頼性が高い半面、些細な調べごとでも
複雑だったり覚えにくい事が多々あります。

☆Oracleで、DBにて定義されている文字コードの調べ方

下記のSQLを実行します。


SELECT VALUE
FROM NLS_DATABASE_PARAMETERS
WHERE PARAMETER = 'NLS_CHARACTERSET'


また、出てくる結果の文字コード名でも、似て非なるものがありますので
注意が必要です。

☆Shift-JISの場合

 1)JA16SJISTILDE
  ⇒波形のダッシュとチルドがUnicode との間でマッピング
    される方法を除き、JA16SJIS と同じ

 2)JA16SJISYEN
  ⇒シフトJIS 16 ビット日本語
   (バックスラッシュ(\)は日本語の円記号(¥)になります。)

 3)JA16SJIS
  ⇒シフトJIS 16 ビット日本語


【参考】
 ・めそのメモ Oracleの文字コードを調べる
  http://metho.dtiblog.com/?no=24

 ・Olacle 文字コード
  http://shodai.hp.infoseek.co.jp/oracle_global/oracle_global.html


| | コメント (0)
|

【MySQL】DBで定義されている文字コードの調べ方

文字化けに出くわすのは、PGに限ったことではないし
なかなか思い出せない事がしばしばあるので、メモします。


☆MySQLで、使用しているDBにて定義されている文字コードの調べ方

mysql>SHOW VARIABLES LIKE '%character%';

【参考】
MySQLでデータベースごとの文字コードを調べるコマンド(文字化け)
http://it.kndb.jp/entry/show/id/992


| | コメント (0)
|

«(Linux基本) テキストの文字コード関連いろいろ