php

日付の期間を扱いやすくする PHP ライブラリ DateRange を作りました

PHP

ある日付がある期間に含まれているかどうかやある期間とある期間が重なっているかどうかを検査したりする機能を提供するライブラリを作りました。 GitHub https://github.com/suzuki86/DateRange GitHub Page http://suzuki86.github.io/DateRange/ 使い方 D…

グローバルスコープで定義された変数はクラスメソッドから参照できない

PHP

当たり前でした... sore(); // どれですか? は表示されない グローバルキーワードを使えばOK。 $dore = 'どれですか?'; class Hoge{ public function sore(){ global $dore; echo $dore; } } $hoge = new Hoge(); $hoge->sore();

グローバルスコープに定義された関数はクラス内から参照できる

PHP

sore(); //おはようございます。と表示される

メール送信に関するcのソースコードの位置

php

php-5.3.15\php-5.3.15\ext\standard\mail.cphp からメールを送出する時はpopen関数からsendmailコマンドを実行しているようだ。

(php)エラーログについて

php

ブラウザからのアクセスで実行されたphpのエラーログは /etc/httpd/logs/error_log に追加される。 apacheを介さないでコマンドからphpが実行された場合はデフォルトではログを残さないようになっている。 そのため、php.ini の error_log=/var/log/php_erro…

(php)コマンドラインからの実行については、max_execution_timeの影響を受けない

php

つまりcronからの実行で、重たい処理をするときに実行時間を気にする必要はない。 後で検証用のコードを書いてみたい。

とりあえずPHPのPDOクラスを使ってSQLite3を操作するコード

query('CREATE TABLE user (id INTERGER PRIMARY KEY AUTOINCREMENT, user_id TEXT)'); } function db_delete(){ $…

テンプレート内で変数を使用するにはassignする

掲題のとおり

get_headers関数の使い道

PHP

APIのレスポンスのステータスを判定するのに、get_headers関数を使用している例を見かけるが、get_headers関数は単純にGETリクエストを送りヘッダーだけを持ってくる関数らしいので、この使用だとするとその次に実行するリクエストのステータスと一致してい…

配列をreturnする

PHP

出力 Array ( [0] => hello [1] => world [2] => bye )

ファイルをダウンロードさせる

PHP

文字列の先頭から指定した文字列を削除する

PHP

コード 出力 ho

MDB2を使ってMySQLへ接続を行うサンプル

PHP

PEARのMDB2を使用してMysqlに接続をしてみるだけのサンプルコード。とりあえずPHPからMySQLに接続できるかどうかの確認を行うときに使う。 'mysql', 'username' => 'root', 'password' => 'hogepass', 'hostspec' => 'localhost', 'database' => 'mt' ); $m…

変数が空かどうかを判定する関数

PHP

empty関数の仕様 引数:変数名 返り値:true又はfalse bool empty ( mixed $var )

isset関数は空文字をチェックしていないかもしれない

PHP

isset関数はどんな時にFALSEを返すのかもう一度ちゃんと調べる。

PHPのセッションについて学ぶためのリンク集

PHP

PHPのセッション管理の注意点メモ (1) - まちゅダイアリー(2006-07-01) http://www.machu.jp/diary/20060701.html#p01 10日で覚えるPHPのキソ 第 10 回 セッション(SESSION) | バシャログ。 http://c-brains.jp/blog/wsg/08/05/22-193020.php PHP と Web …

unsetで配列の要素を削除するとインデックスはずれずに保持されたまま

PHP

配列の途中の要素をunsetで削除すると、配列の長さが1つ減って詰められるわけではなく欠番として残り続ける。

クッキーの削除

PHP

クッキーを削除するには空のクッキーを上書きするか、有効期限が過去のクッキーを上書きする。WordPressは後者を採用している模様。 http://core.trac.wordpress.org/browser/tags/3.1/wp-includes/pluggable.php

header関数のリダイレクトを実行したあとはexitを記述する

PHP

リダイレクトを行うのにheader関数を利用するが、リダイレクトを行う場合のheader関数の直後にはexitを入力しなければならないようだ。exitの記述を忘れると、そのあとの処理が実行されてからheader関数が実行されるため意図しない動作になる可能性があると…

HTMLタグ内に分岐条件を記述するときに便利な記法

PHP

変数に格納をしてから出力する必要がないので便利。 <div id="dore"> それです。 </div>

ブラウザで更新を行ったときの$_SERVER[’HTTP_REFERER’]の値について

PHP

ブラウザでそのページをリロードした場合、$_SERVER['HTTP_REFERER']の値は削除されない。(Firefox 3.6.7で動作確認) 再びアドレスバーに同じURLを入力してアクセスすると$_SERVER['HTTP_REFERER']の値は削除されている。

DocumentRootのパスを取得する

PHP

$_SERVER['DOCUMENT_ROOT']; 取得できるのは/var/www/htmlのような絶対パスであり、http://example.com/のようなURLが取得できるわけではない。

セッションの終了処理

PHP

下記のページを参考にさせて頂いた。 http://www.phpbook.jp/tutorial/session/index3.html 1. 全てのセッション変数を空の配列で上書きする。 $_SESSION = array(); 2. クッキーを削除する。 3. セッションに登録されたデータを全て破棄する。 session_dest…

mbstringを使えるようにする

CentOSをインストールした直後はPHPでmbstringが使用できない。そのため、yumを使ってインストールする必要がある。 yum -y install php-mbstring

var_dump時に表示される数値について

PHP

配列$hogeをvar_dumpする。 $hoge = array('北海道','青森','秋田','岩手'); var_dump($hoge); 以下が出力結果。 array(4) { [0]=> string(9) "北海道" [1]=> string(6) "青森" [2]=> string(6) "秋田" [3]=> string(6) "岩手" } 出力結果には値の型と括弧付…

参照について

PHP

$doreに$hogeの参照を代入する。 $hoge = '埼玉県'; $dore = &$hoge; print $dore; #「埼玉県」が表示される。 print &$hoge; #これはシンタックスエラー $dore = '群馬県'; print $hoge; #「群馬県」が表示される。

配列かどうかを判定する

PHP

変数$hogeが配列かどうかを判定する場合、is_array($hoge)とする。trueであれば配列であり、falseであれば違う。 $_POST配列を一括で処理するとき、checkboxは配列で飛んで来るので配列の時だけ処理を変更する必要がある。

POST配列の添字を数値にした配列にする

PHP

print_r(array_values($_POST));

代入演算子

PHP

$n *= 5; という記述はできない。

無名関数

PHP

・PHP5.3以降では無名関数を使用することができる。 ・array_map関数のコールバック関数に指定することができる。 5.3がインストールされていないレンタルサーバーなどに移行する場合は注意しなきゃか・・・。

抽象クラスについて

PHP

抽象クラスの特徴 ・インスタンスを生成できない。継承して使うクラス。 ・抽象メソッドを含むクラスは必ず抽象クラスになる。 ・抽象クラスを継承する場合、サブクラスでは必ず抽象メソッドを定義しなければならない。 ・抽象クラスで抽象メソッドを実装す…