単純なやり方なのに、久しぶりにPHPを低いレイヤーから書くと忘れてしまうシリーズ。
文字列でクラスを動的生成する方法:
$class_name = 'Class_Name_Test'; $obj = new $class_name();
PHP5で親クラスのメソッドを呼ぶ方法:
parent::METHOD_NAME();
PHPのクラス名の命名規則例:
Test_Module_Hoge
BASIC認証のやりかた:
function checkLogin() { $users = array(); $users["username1"] = "password1"; $users["username2"] = "password2"; $auth_user = isset($_SERVER['PHP_AUTH_USER']) ? $_SERVER['PHP_AUTH_USER'] : ''; $auth_pass = isset($_SERVER['PHP_AUTH_PW']) ? $_SERVER['PHP_AUTH_PW'] : ''; // --- if (empty($users[$auth_user]) || $users[$auth_user] != $auth_pass) { header("WWW-Authenticate: Basic realm=\"Please Login\""); header("HTTP/1.0 401 Unauthorized"); echo "Sorry, Private Page.\n"; exit; } return; }
ロリポップ or heteml でSQLite使う時は、注意が必要なこと。
バグ回避のために、sqlite_escape_string を次のように使ったら問題なく使えた。或いは、素直に、PDO のプレースホルダの機能を使う。
function my_sqlite_escape_string($str) { return ($str) ? sqlite_escape_string($str) : ""; }