2009年06月12日


PHP5で使うクラスの基本的な機能をまとめたサンプル


<?php
class r205 {

	// オブジェクト定数
	const label = 'R205 Object';
	// クラス変数
	public static $ver = "090612";
	// インスタンス変数
	public $r205_charset;

	// PHP4 から一般的なクラス名と同名のコンストラクタ
	function r205( $charset ) {

		// インスタンス変数の設定
		$this->r205_charset = $charset;

	}

	// static メソッド
	static function phpuser() {
		print "<PRE>";
		
		print "PHP version : " . phpversion() . "\n";
		print "include_path : " . get_include_path() . "\n";
		print "get_magic_quotes : " . get_magic_quotes_gpc . "\n";
		print "variables_order : " . ini_get('variables_order') . "\n";
		print "short_open_tag : " . ini_get('short_open_tag') . "\n";
		print "display_errors : " . ini_get('display_errors') . "\n";
		print "display_startup_errors : " . ini_get('display_startup_errors') . "\n";
		print "allow_url_fopen : " . ini_get('allow_url_fopen') . "\n";
		print "allow_url_include : " . ini_get('allow_url_include') . "\n";
		print "max_execution_time : " . ini_get('max_execution_time') . "\n";
		print "post_max_size : " . ini_get('post_max_size') . "\n";
		print "track_errors : " . ini_get('track_errors') . "\n";
		print "</PRE>";
	}

	// メソッド
	function httpHeader( ) {
		// インスタンス変数の参照
		header( "Content-Type: text/html; Charset={$this->r205_charset}" );
		header( "pragma: no-cache" );
		header( "Expires: Wed, 31 May 2000 14:59:58 GMT" );
		header( "Cache-control: no-cache" );
	}

	// メソッド
	function debugPrint( $target ) {

		print "<PRE>";
		print_r( $target );
		// クラス変数の参照( 埋め込み不能 )
		print "\nversion:".self::$ver."\n";
		print "</PRE>";

	}


	// オブジェクトを print しようとした時等に使用される
	function __toString() {
		// オブジェクト定数の参照
		return self::label;
	}
}

$a = new r205("SHIFT_JIS");
// 共通 http ヘッダの出力
$a->httpHeader();

// __toString を実行させる
print "$a<br>";
// クラス変数を変更
r205::$ver = "091231";
// static メソッドを実行
r205::phpuser();
// インスタンスメソッドを実行
$a->debugPrint($_SERVER);


?>





タグ:class PHP クラス
posted by at 2009-06-12 11:29 | PHP | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。

また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。

※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです

対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。


※ エキスパートモードで表示しています

アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります

<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>

<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>

<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します