<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>オブジェクト指向PHP &#187; PHP</title>
	<atom:link href="http://www.objectphp.jp/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.objectphp.jp</link>
	<description>PHP5入門</description>
	<lastBuildDate>Tue, 31 Jan 2012 01:30:52 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>get_class_vars, get_object_vars</title>
		<link>http://www.objectphp.jp/2012/01/31/get_class_vars-get_object_vars/</link>
		<comments>http://www.objectphp.jp/2012/01/31/get_class_vars-get_object_vars/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 01:30:52 +0000</pubDate>
		<dc:creator>mizuno</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.objectphp.jp/?p=91</guid>
		<description><![CDATA[get_class_vars は、(引数で指定する)クラスで定義される変数を配列で返します。 get_object_vars は、(引数で指定する)オブジェクトで定義される変数を配列で返します。 どちらも、呼び出すスコープでアクセス可能な変数のみを抽出して返します。 class Item { private $sales = 900; public $price = 1200; } get_class_vars('Item'); のような場合、$price のみを抽出して返します。]]></description>
			<content:encoded><![CDATA[<p>get_class_vars は、(引数で指定する)クラスで定義される変数を配列で返します。</p>
<p>get_object_vars は、(引数で指定する)オブジェクトで定義される変数を配列で返します。</p>
<p>どちらも、呼び出すスコープでアクセス可能な変数のみを抽出して返します。</p>
<p><code>class Item {<br />
  private $sales = 900;<br />
  public $price = 1200;<br />
}<br />
get_class_vars('Item');</code></p>
<p>のような場合、$price のみを抽出して返します。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.objectphp.jp/2012/01/31/get_class_vars-get_object_vars/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DateTime クラス</title>
		<link>http://www.objectphp.jp/2012/01/12/datetime/</link>
		<comments>http://www.objectphp.jp/2012/01/12/datetime/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 00:44:50 +0000</pubDate>
		<dc:creator>mizuno</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.objectphp.jp/?p=88</guid>
		<description><![CDATA[日付や時刻の処理に便利なクラスDateTime。PHP5.2以降で使用可能。DateInterval等、PHP5.3以降で利用可能な機能もある。 $date = new DateTime(); $date->add(時間); といった処理が楽にできる。上記はオブジェクト形式の場合。手続き型で記述する場合は、date_createを使用する。 従来の date 関数は、日付フォーマット文字列でデータを持っていた。表示するだけなら楽だが、日付の加減算や差分計算等は面倒だった。]]></description>
			<content:encoded><![CDATA[<p>日付や時刻の処理に便利なクラスDateTime。PHP5.2以降で使用可能。DateInterval等、PHP5.3以降で利用可能な機能もある。</p>
<p>$date = new DateTime();<br />
$date->add(時間);</p>
<p>といった処理が楽にできる。上記はオブジェクト形式の場合。手続き型で記述する場合は、date_createを使用する。</p>
<p>従来の date 関数は、日付フォーマット文字列でデータを持っていた。表示するだけなら楽だが、日付の加減算や差分計算等は面倒だった。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.objectphp.jp/2012/01/12/datetime/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Smarty</title>
		<link>http://www.objectphp.jp/2011/11/06/smarty/</link>
		<comments>http://www.objectphp.jp/2011/11/06/smarty/#comments</comments>
		<pubDate>Sun, 06 Nov 2011 06:37:47 +0000</pubDate>
		<dc:creator>mizuno</dc:creator>
				<category><![CDATA[テンプレート]]></category>
		<category><![CDATA[アジャイル]]></category>

		<guid isPermaLink="false">http://www.objectphp.jp/?p=86</guid>
		<description><![CDATA[Smarty は、デザインテンプレート。プログラムから、ビュー部分を分離し独立して処理しやすくしたもの、と考えると良いだろう。 システムロジックと、デザインテンプレートとが独立平行して作成できれば、分業しやすい等開発効率でメリットがある。またウォーターフォールだけでなく、アジャイル開発も行いやすくなる(この辺は程度問題だが)。 Smarty を使うデメリットとしては、実行速度が遅くなる、という点があげられる。この点はキャッシュ機能等を上手く利用して回避したい。]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.smarty.net/">Smarty</a> は、デザインテンプレート。プログラムから、ビュー部分を分離し独立して処理しやすくしたもの、と考えると良いだろう。</p>
<p>システムロジックと、デザインテンプレートとが独立平行して作成できれば、分業しやすい等開発効率でメリットがある。またウォーターフォールだけでなく、アジャイル開発も行いやすくなる(この辺は程度問題だが)。</p>
<p>Smarty を使うデメリットとしては、実行速度が遅くなる、という点があげられる。この点はキャッシュ機能等を上手く利用して回避したい。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.objectphp.jp/2011/11/06/smarty/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cannot modify header information &#8211; headers already sent</title>
		<link>http://www.objectphp.jp/2011/10/06/header-sent/</link>
		<comments>http://www.objectphp.jp/2011/10/06/header-sent/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 06:56:20 +0000</pubDate>
		<dc:creator>mizuno</dc:creator>
				<category><![CDATA[エラーメッセージ]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[http]]></category>

		<guid isPermaLink="false">http://www.objectphp.jp/?p=79</guid>
		<description><![CDATA[すでに何らかのHTML出力が行われている場合に、さらにヘッダー情報を出力しようとしたときに、この warning メッセージが表示される。 http レスポンスヘッダーを出力する header 関数、クッキーを使用・設定する setcookie 関数などを使用する場合、header や setcookie よりも前に HTML 出力を行っていないか、チェックする必要がある。 &#60;head&#62; のような記述だけでなく、PHP ソースに余分な空白や空行がある場合も、headers already sent というメッセージが出力されるので注意する。 このエラーが出た場合は、エラーの起きた行よりも前に、HTML 出力をしている箇所があるはず。]]></description>
			<content:encoded><![CDATA[<p>すでに何らかのHTML出力が行われている場合に、さらにヘッダー情報を出力しようとしたときに、この warning メッセージが表示される。<span id="more-79"></span></p>
<p>http レスポンスヘッダーを出力する header 関数、クッキーを使用・設定する setcookie 関数などを使用する場合、header や setcookie よりも前に HTML 出力を行っていないか、チェックする必要がある。</p>
<p>&lt;head&gt; のような記述だけでなく、PHP ソースに余分な空白や空行がある場合も、headers already sent というメッセージが出力されるので注意する。</p>
<p>このエラーが出た場合は、エラーの起きた行よりも前に、HTML 出力をしている箇所があるはず。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.objectphp.jp/2011/10/06/header-sent/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>__sleepと__wakeup</title>
		<link>http://www.objectphp.jp/2011/08/30/sleep-wakeup/</link>
		<comments>http://www.objectphp.jp/2011/08/30/sleep-wakeup/#comments</comments>
		<pubDate>Mon, 29 Aug 2011 22:42:09 +0000</pubDate>
		<dc:creator>mizuno</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[オブジェクト]]></category>
		<category><![CDATA[マジックメソッド]]></category>

		<guid isPermaLink="false">http://www.objectphp.jp/?p=77</guid>
		<description><![CDATA[__sleepと__wakeupは、マジックメソッド（特殊なメソッド）。 __sleepが定義されているオブジェクトを、serialize関数でシリアル化すると、シリアル化の直前に__sleepが呼び出される。（実行例としては、データベース接続を切断する、保存されていないデータを保存する等） __wakeupが定義されているオブジェクトを、unserialize関数で非シリアル化すると、非シリアル化の直後に__wakeupが呼び出される。（実行例としては、データベースと接続する、初期化する等） (*) シリアル化とは、オブジェクトをデータベースやファイルに出力できる形式に変換する作業のこと。]]></description>
			<content:encoded><![CDATA[<p>__sleepと__wakeupは、マジックメソッド（特殊なメソッド）。</p>
<p>__sleepが定義されているオブジェクトを、serialize関数でシリアル化すると、シリアル化の直前に__sleepが呼び出される。（実行例としては、データベース接続を切断する、保存されていないデータを保存する等）</p>
<p>__wakeupが定義されているオブジェクトを、unserialize関数で非シリアル化すると、非シリアル化の直後に__wakeupが呼び出される。（実行例としては、データベースと接続する、初期化する等）</p>
<p>(*) シリアル化とは、オブジェクトをデータベースやファイルに出力できる形式に変換する作業のこと。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.objectphp.jp/2011/08/30/sleep-wakeup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP技術者認定試験</title>
		<link>http://www.objectphp.jp/2011/06/29/phpexam/</link>
		<comments>http://www.objectphp.jp/2011/06/29/phpexam/#comments</comments>
		<pubDate>Wed, 29 Jun 2011 00:16:32 +0000</pubDate>
		<dc:creator>mizuno</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[オブジェクト]]></category>
		<category><![CDATA[資格]]></category>

		<guid isPermaLink="false">http://www.objectphp.jp/?p=75</guid>
		<description><![CDATA[PHP技術者認定機構によるPHP技術者資格です。 初級試験、上級試験、ウィザードの3段階です。 初級試験、上級試験は客観テストです。プロメトリック社の指定会場で受験します。 認定スクールの場合は、各スクールにお問い合わせください。 ウィザードは上級試験合格者のみ受験できます。論述形式で、公開審査(上級試験合格者が評価する)らしいです。 上級では、プログラミングPHP第六章オブジェクトから約12％出題されるらしいです。]]></description>
			<content:encoded><![CDATA[<p>PHP技術者認定機構によるPHP技術者資格です。<span id="more-75"></span></p>
<p>初級試験、上級試験、ウィザードの3段階です。</p>
<p>初級試験、上級試験は客観テストです。プロメトリック社の指定会場で受験します。 認定スクールの場合は、各スクールにお問い合わせください。</p>
<p>ウィザードは上級試験合格者のみ受験できます。論述形式で、公開審査(上級試験合格者が評価する)らしいです。</p>
<p>上級では、<a href="http://php-web.net/phpexam/object.html">プログラミングPHP第六章オブジェクト</a>から約12％出題されるらしいです。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.objectphp.jp/2011/06/29/phpexam/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>フレームワーク</title>
		<link>http://www.objectphp.jp/2011/01/13/framework/</link>
		<comments>http://www.objectphp.jp/2011/01/13/framework/#comments</comments>
		<pubDate>Thu, 13 Jan 2011 01:36:08 +0000</pubDate>
		<dc:creator>mizuno</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[MVC]]></category>

		<guid isPermaLink="false">http://www.objectphp.jp/?p=72</guid>
		<description><![CDATA[ソフトウェアを作るための基礎部分のことです。一からシステム構築するのと比較すると、以下のようなメリットがあります。 良く利用する機能を予め用意しておき、車輪の再発明を防ぐ。 セキュリティ対策等を自動で行う。 MVC を利用し、ロジックとレイアウトを分離する。 コーディング規則を統一し、複数人での開発やメンテナンスを容易にする。 一方で、デメリットもあります。 フレームワークのコーディング規則や設計思想などの学習コスト 実行時の速度 フレームワーク自体のバージョンアップ時の対応 などがあげられます。]]></description>
			<content:encoded><![CDATA[<p>ソフトウェアを作るための基礎部分のことです。一からシステム構築するのと比較すると、以下のようなメリットがあります。</p>
<ul>
<li>良く利用する機能を予め用意しておき、車輪の再発明を防ぐ。</li>
<li>セキュリティ対策等を自動で行う。</li>
<li>MVC を利用し、ロジックとレイアウトを分離する。</li>
<li>コーディング規則を統一し、複数人での開発やメンテナンスを容易にする。</li>
</ul>
<p>一方で、デメリットもあります。</p>
<ul>
<li>フレームワークのコーディング規則や設計思想などの学習コスト</li>
<li>実行時の速度</li>
<li>フレームワーク自体のバージョンアップ時の対応</li>
</ul>
<p>などがあげられます。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.objectphp.jp/2011/01/13/framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unexpected</title>
		<link>http://www.objectphp.jp/2010/03/28/unexpected/</link>
		<comments>http://www.objectphp.jp/2010/03/28/unexpected/#comments</comments>
		<pubDate>Sun, 28 Mar 2010 10:37:43 +0000</pubDate>
		<dc:creator>mizuno</dc:creator>
				<category><![CDATA[エラーメッセージ]]></category>
		<category><![CDATA[error]]></category>

		<guid isPermaLink="false">http://www.objectphp.jp/?p=67</guid>
		<description><![CDATA[想定外の変数/定数/オブジェクト等。unexpected T_STRING、unexpected T_VARIABLE 等と表示される。]]></description>
			<content:encoded><![CDATA[<p>想定外の変数/定数/関数/オブジェクト等が見つかった場合に表示されるエラーメッセージ。Parse error: syntax error, unexpected T_STRING、Parse error: syntax error, unexpected T_VARIABLE、Parse error: syntax error, unexpected T_FUNCTION 等と表示される。</p>
<p>この場合、括弧の綴じ忘れ等のことも多いが、必要とされるモジュール等の不足、PHP バージョンの差異等が原因のこともある。ショートオープンタグの利用可否に依存しているケースもある。</p>
<p>環境により出たり出なかったりする場合は、PHP のバージョンや php.ini の設定、phpinfo() の情報等を比較すると、解決の糸口が見つかるかもしれない。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.objectphp.jp/2010/03/28/unexpected/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Deprecated</title>
		<link>http://www.objectphp.jp/2010/03/25/deprecated/</link>
		<comments>http://www.objectphp.jp/2010/03/25/deprecated/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 01:07:07 +0000</pubDate>
		<dc:creator>mizuno</dc:creator>
				<category><![CDATA[エラーメッセージ]]></category>
		<category><![CDATA[error]]></category>

		<guid isPermaLink="false">http://www.objectphp.jp/?p=66</guid>
		<description><![CDATA[将来動作しなくなる(廃止予定)の関数等を使用している場合に表示される警告メッセージ。]]></description>
			<content:encoded><![CDATA[<p>将来動作しなくなる(廃止予定)の関数等を使用している場合に表示される警告メッセージ。PHP5.3 で、E_DEPRECATED というエラーレベルが追加された。</p>
<p>PHP4 互換のスクリプトや、等では多くのコードが引っかかるようである。また、ereg() が deprecated となるようなので、preg_match() を使うのが好ましい。</p>
<p>なお、php.ini で<br />
<code>error_reporting = E_ALL &amp; ~E_NOTICE &amp; ~E_DEPRECATED</code><br />
とすればエラー表示はされないが、本質的に解決するわけではない。スクリプトの修正/更新を早急にすべきであろう。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.objectphp.jp/2010/03/25/deprecated/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>画面が真っ白</title>
		<link>http://www.objectphp.jp/2010/01/06/white/</link>
		<comments>http://www.objectphp.jp/2010/01/06/white/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 03:46:23 +0000</pubDate>
		<dc:creator>mizuno</dc:creator>
				<category><![CDATA[エラーメッセージ]]></category>
		<category><![CDATA[error]]></category>

		<guid isPermaLink="false">http://www.objectphp.jp/?p=65</guid>
		<description><![CDATA[ブラウザ画面が真っ白になることがあります。何らかのエラーが発生していることが多いです。エラーログファイルを閲覧すると、具体的なエラー内容が分かるはずです。]]></description>
			<content:encoded><![CDATA[<p>ブラウザ画面が真っ白になることがあります。何らかのエラーが発生していることが多いですが、様々な理由(下記参照)が考えられるため、エラーメッセージを確認すべきです。</p>
<ul>
<li>スクリプトにエラーがある</li>
<li>PHP バージョンの違い</li>
<li>ライブラリ等の不足</li>
<li>セーフモードによる制限</li>
</ul>
<p>エラーメッセージがブラウザに表示されない場合、エラーログファイルに保存される設定になっていることが多いです。エラーログファイルを閲覧すると、具体的なエラー内容が分かるはずです。</p>
<p>なお、ログファイルの場所は、サーバーにょって異なることがあります。お使いのサーバーの設定マニュアル等を参考にしてください。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.objectphp.jp/2010/01/06/white/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

