<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/makimaaki/">
    <title>zendframework @ ウィキ</title>
    <link>http://w.atwiki.jp/makimaaki/</link>
    <atom:link href="https://w.atwiki.jp/makimaaki/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>zendframework @ ウィキ</description>

    <dc:language>ja</dc:language>
    <dc:date>2009-11-13T15:45:50+09:00</dc:date>
    <utime>1258094750</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/makimaaki/pages/3.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/makimaaki/pages/2.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/makimaaki/pages/21.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/makimaaki/pages/20.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/makimaaki/pages/11.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/makimaaki/pages/19.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/makimaaki/pages/18.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/makimaaki/pages/17.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/makimaaki/pages/16.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/makimaaki/pages/15.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/makimaaki/pages/3.html">
    <title>右メニュー</title>
    <link>https://w.atwiki.jp/makimaaki/pages/3.html</link>
    <description>
      **更新履歴    </description>
    <dc:date>2009-11-13T15:45:50+09:00</dc:date>
    <utime>1258094750</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/makimaaki/pages/2.html">
    <title>メニュー</title>
    <link>https://w.atwiki.jp/makimaaki/pages/2.html</link>
    <description>
      **メニュー
-[[トップページ]]
-[[プラグイン紹介&gt;プラグイン]]
-[[ZendFramework]]
--[[1.PHPプログラムの書式]]
--[[2.命名規則]]
--[[3.コーディングスタイル]]
--[[4.インラインドキュメント]]
-[[コマンドプロンプト（local MY SQL）]]


----

**リンク
-[[@wiki&gt;&gt;http://atwiki.jp]]
-[[@wikiご利用ガイド&gt;&gt;http://atwiki.jp/guide/]]

**他のサービス
-[[無料ホームページ作成&gt;&gt;http://atpages.jp]]
-[[無料ブログ作成&gt;&gt;http://atword.jp]]
-[[無料掲示板レンタル&gt;&gt;http://atbbs.jp]]
-[[2ch型掲示板レンタル&gt;&gt;http://atchs.jp]]
-[[お絵かきレンタル&gt;&gt;http://atpaint.jp/]]

// リンクを張るには &quot;[&quot; 2つで文字列を括ります。
// &quot;&gt;&quot; の左側に文字、右側にURLを記述するとリンクになります


//**更新履歴
//#recent(20)

&amp;link_editmenu(text=ここを編集)    </description>
    <dc:date>2009-05-12T15:02:47+09:00</dc:date>
    <utime>1242108167</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/makimaaki/pages/21.html">
    <title>コマンドプロンプト（local MY SQL）</title>
    <link>https://w.atwiki.jp/makimaaki/pages/21.html</link>
    <description>
      ディレクトリを移動する
 cd \usr\mysql\bin

My SQLサーバに接続
 mysql.exe -uroot

DB一覧コマンド
 SHOW DATABASES;
DBを選択、
テーブルの一覧を表示
 USE mysql;
 Database changed
 SHOW TABLES;

作成されたテーブルのカラム一覧を確認
 SHOW COLUMNS FROM m_poem FROM rss;

テーブルを削除
 DROP TABLE address;

テーブル内のデータを削除する事ができます。書式は DELETE FROM テーブル名 となります。
単に DELETE を使用するとすべてのデータが削除されるため、通常は WHERE を使用して特定のデータを削除します。
 DELETE FROM address WHERE name = &#039;山田太郎&#039;;

TABLEにアートインクリメントのカラムを追加する
 ALTER TABLE m_poem ADD poem_no INT UNSIGNED NOT NULL AUTO_INCREMENT,ADD   INDEX (poem_no)    </description>
    <dc:date>2008-07-07T11:39:16+09:00</dc:date>
    <utime>1215398356</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/makimaaki/pages/20.html">
    <title>D-ware2組み込みガイド</title>
    <link>https://w.atwiki.jp/makimaaki/pages/20.html</link>
    <description>
      ***1.[[D-Ware2とは&gt;D-Ware2 &gt;&gt; 1.D-Ware2でMy page]]

***2.[[基本構成&gt;D-Ware2 &gt;&gt; 2.基本構成]]

***3.[[D2組み込みガイド&gt;D-Ware2 &gt;&gt; 2.画面の確認]]
-サンプルサイトの確認
-作業ファイルの確認    </description>
    <dc:date>2008-06-18T13:23:56+09:00</dc:date>
    <utime>1213763036</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/makimaaki/pages/11.html">
    <title>ZendFramework</title>
    <link>https://w.atwiki.jp/makimaaki/pages/11.html</link>
    <description>
      *コーディング規約
プログラム全体の基本ルールです。プログラムの動作に関わる内容も含まれますので、しっかり抑えておきましょう。

***1.[[PHPプログラムの書式&gt;ZendFramework &gt;&gt; 1.PHPプログラムの書式]]
-改行コード
-開始と終了
-インデント
-一行の長さ

***2.[[命名規則&gt;2.命名規則]]
-ファイル名
-変数
-関数（メソッド）
-定数
-クラス

***3.[[コーディングスタイル&gt;3.コーディングスタイル]]
-代入
-文字列
-配列
-条件分岐(if/else/else if)
-選択分岐(switch)
-繰り返し(while)
-繰り返し(for)
-関数の使用
-関数の宣言
-クラスの宣言
-クラスのメンバー変数の宣言
-クラスのメンバー関数の宣言
-コメント
-プログラム中のSQL文の記述

***4.[[インラインドキュメント&gt;4.インラインドキュメント]]
-ファイルレベル
-クラスレベル
-メソッドレベル    </description>
    <dc:date>2008-06-03T16:24:05+09:00</dc:date>
    <utime>1212477845</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/makimaaki/pages/19.html">
    <title>4.インラインドキュメント</title>
    <link>https://w.atwiki.jp/makimaaki/pages/19.html</link>
    <description>
      ドキュメントブロックは「phpDocumenter」と互換性のある書式でなければなりません。
記述が義務付けられているのは、ファイルレベル、クラスレベル、メソッドレベルです。

ファイルレベルでの「phpDocumenterタグ」を含むヘッダブロック
 /**
 * ファイルについての短い説明
 * 
 * ファイルについての長い説明（もしあれば）
 *
 * LICENSE: ライセンスに関する情報
 *
 * @copyright 2007 Zend Tecnologies Co.,Ltd.
 * @license ライセンスについて説明しているURLなどを記述
 * @version x.x.x
 * @link このプログラムについて紹介しているURLなどを記述
 *@sice File available sice Release x.x.x
 */

**クラスレベル
各クラスには、最低限これらの「phpDocumenterタグ」を含むヘッダブロックをクラス名の前に記述しなければなりません。

 /**
 * クラスについての短い説明
 * 
 * クラスについての長い説明（もしあれば）
 *
 * LICENSE: ライセンスに関する情報
 *
 * @copyright 2007 Zend Tecnologies Co.,Ltd.
 * @license ライセンスについて説明しているURLなどを記述
 * @version x.x.x
 * @link このプログラムについて紹介しているURLなどを記述
 *@sice File available sice Release x.x.x
 */

**メソッドレベル
各関数には、最低限これらの「phpDocumenterタグ」を含むヘッダブロックをクラス名の前に記述しなければなりません。

 /**
 * 関数についての短い説明
 * 
 *
 * @param データ型　引数1
 * @param データ型　引数2
 * @param データ型　引数3
 * @return データ型　
 */

関数が例外をスローする場合には「@throws」を使用します。
 @throws exceptionclass [description]    </description>
    <dc:date>2008-06-03T16:23:38+09:00</dc:date>
    <utime>1212477818</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/makimaaki/pages/18.html">
    <title>3.コーディングスタイル</title>
    <link>https://w.atwiki.jp/makimaaki/pages/18.html</link>
    <description>
      見やすいプログラムかどうかは、コーディングスタイルで決まります。
メンテナンス性向上のためにも全員が守れるようにしましょう。

**代入
-変数に値を導入する際には、変数名とイコール、イコールと値の間には必ず空白を入れなければならない。通常は半角空白を１つとする。ただし、可読性向上のための複数の空白であれば、入れることを推奨。
-計算式を代入する場合などは、各要素の間に空白を入れる

代入の例
 $total = 1 + 2;                //良い例
   
 $total = $value1 + $value2;    //良い例
    
 $total = (1 + 2) * 2;          //良い例
 
 $total=1+2;                    //悪い例
 
 $total = $value1+$value2;    　//悪い例
 
 $total = ( 1 + 2 ) * 2;    　  //悪い例

複数行の代入を揃える例
 //良い例（下に合わせるため空白を入れた）
 $name    = &#039;山田太郎&#039;;
 $address = &#039;東京都港区&#039;;
 
 //悪い例（イコールがずれ、見にくくなる）
 $name = &#039;山田太郎&#039;;
 $address = &#039;東京都港区&#039;;
 

**文字列
-文字列はリテラル（変数の展開などが含まれない）か否かに関わらず、「シングルクォート(&#039;)」で囲まなければならない
-文字列中に改行を入れたい場合は、改行部分のみ「ダブルクォート(&quot;)」で囲み、「ドット(.)」で連結する
-文字列の連結には「ドット(.)」を使用し、ドットの前後には常に空白を入れなければならない。複数行になる場合、二行目以降の変数名記述は不可。ドットを一行目のイコールと同じ位置にして連結する。
-配列が改行で長くなる場合は、複数行の記述でも構わないが、二行目以降の開始位置は、array()の後ろに合わせる

リテラル：最もシンプルな例。「シングルクォート」で囲む
 $greeting = &#039;こんにちは。&#039;;  //良い例
 $greeting = &quot;こんにちは。&quot;;  //ダブルクォートは使わない

文字列の連結：文字列の連結には「ドット(.)」を使用。ドットの前後には常に空白を入れなければならない
 $greeting = &#039;こんにちは。&#039; . &#039;今日はいい天気ですね。&#039;;
連結が長くなる場合：複数行の記述でも構わないが、二行目以降の変数名の記述は不可。二行目以降のドットは一行目のイコールと同じ位置にする
 //良い例
 $greeting = &#039;こんにちは。今日はいい天気ですね&#039;
            . &#039;でも夕方から雨が降るそうですよ&#039;;
 
 //悪い例　変数名を複数回記述することで混乱の元になる恐れがある
 $greeting  =  &#039;こんにちは。今日はいい天気ですね&#039;;
 $greeting .=  &#039;でも夕方から雨が降るそうですよ&#039;; 

変数の展開：文字列中に変数を入れたい場合は、文字列の連結を使用。「ダブルクォート」を使用してはいけない
 $greeting = &#039;こんにちは、&#039; . $name . &#039;さん。&#039;;   //良い例
 $greeting = &#039;こんにちは、 $name . &#039;さん。&#039;;      //悪い例
 $greeting = &#039;こんにちは、{$name}さん。&#039;;         //悪い例

改行の使用：文字列中に改行を入れたい場合は、改行部分のみ「ダブルクォート」で囲み、連結する
 //良い例
 $greeting = &#039;こんにちは。&#039; . &quot;\n&quot; . &#039;今日はいい天気ですね。&#039;;
  
 //悪い例　改行が分かりにくい
 $greeting = &quot;こんにちは。\n今日はいい天気ですね。&quot;;

配列が改行で長くなる場合：複数行の記述でも構わないが、二行目以降の開始位置は、array()の後ろに合わせる
 //良い例
 $myArray = array(1, 2, 3, &#039;Zend&#039;, &#039;Framework&#039;,
                  $value1, $value2, $value3,
                  100, 200, 300);
 
 //悪い例　区切りのカンマを行頭に書いてはいけない
 $myArray = array(1, 2, 3, &#039;Zend&#039;, &#039;Framework&#039;
                  , $value1, $value2, $value3
                  , 100, 200, 300);

**配列
****通常配列
-配列の添字に負の数を使用してはならない
-特別な理由が無い限り０から始める
-array()を使用して数値添字の配列を宣言する場合は、要素を区切るカンマの後に空白を入れなければならない

通常配列の例
 //良い例
 $myArray = array(1, 2, 3, &#039;Zend&#039;, &#039;Framework&#039;);
 
 //悪い例　要素を区切るカンマの後に空白がない
 $myArray = array(1,2,3,&#039;Zend&#039;,&#039;Framework&#039;);
 
 //悪い例　カッコ内の前後に空白を入れてはいけない
 $myArray = array( 1, 2, 3, &#039;Zend&#039;, &#039;Framework&#039; );

****連想配列
-連想配列をarray()で宣言する場合、１要素につき改行を入れなければならない
-各要素の開始位置は揃えて記述する

連想配列の例
 $myArray = array(&#039;firstKey&#039; =&gt; &#039;firstValue&#039;,
                  &#039;secondKey&#039;=&gt; &#039;secondValue&#039;);
 
要素が多い場合：終了のカッコをarrayの先頭に合わせる
 $myArray = array( &#039;firstKey&#039;  =&gt;  &#039;firstValue&#039;,
                   &#039;secondKey&#039; =&gt;  &#039;secondValue&#039;
                   &#039;thirdKey&#039;  =&gt;  &#039;thirdValue&#039;
                   &#039;fourthKey&#039; =&gt;  &#039;fourthValue&#039;
                   &#039;fifthKey&#039;  =&gt;  &#039;fifthValue&#039;
              );

**条件分岐（if/else/else if）
-条件を指定するカッコ前およびカッコを閉じた後に、それぞれ空白を入れなければならない
-条件文の中では演算子の前後にも空白を入れる
-条件分岐開始の中カッコ({)は条件文と同じ行に書き、終了の中カッコ({)は改行して書かなければならない
-中カッコ内では「半角空白４文字分の字下げ」を行う
-「elseif」は使用しない。「else if」(「else」と「if」の間に空白を入れる)を使用する

条件が一つの場合
 //良い例
 if ($age &lt; 20) {
     echo &#039;未成年です。&#039;;
 }
 
 //悪い例　（条件を指定するカッコ前およびカッコを閉じた後のそれぞれ空白や演算子前後の空白が無い）
 if($age&lt;20){
    echo &#039;未成年です。&#039;;
 }
 
 //悪い例　（演算子前後の空白が無い）
 if ($age&lt;20) {
    echo &#039;未成年です。&#039;;
 }
 
 //悪い例　（条件を指定するカッコ前およびカッコを閉じた前にも空白を入れてしまっている）
 if ( $age &lt; 20 ) {
    echo &#039;未成年です。&#039;;
 }
 
 //悪い例　（改行がない）
 if ($age &lt; 20) { echo &#039;未成年です。&#039;; }
 
 //悪い例　（改行位置が違う）
 if ($age &lt; 20) 
 {
     echo &#039;未成年です。&#039;;
 }

条件分岐が続く例
 //良い例
 if ($age &lt; 20) {
      echo &#039;未成年です。&#039;;
 } else if ($age &lt; 30) {
      echo &#039;20代です。&#039;;
 } else {
      echo &#039;30代です。&#039;;
 }
 
 //悪い例　(elseifは使わない)
 if ($age &lt; 20) {
      echo &#039;未成年です。&#039;;
 } elseif ($age &lt; 30) {
      echo &#039;20代です。&#039;;
 } else {
      echo &#039;30代です。&#039;;
 }

**選択分岐(switch)
-条件を指定するカッコ前およびカッコを閉じた後に、それぞれ空白を入れなければならない
-switchの中は「半角空白４文字分の字下げ」を行い、さらにcaseの中は「半角空白４文字分の字下げ」を行う
-開始の中カッコ({)はswitchと同行に書き、終了の中カッコ(})は改行して書かなければならない
-defaultは決して省略してはならない

switchの例
 //良い例
 switch ($weather) {
    case &#039;fine&#039;:
          echo &#039;いい天気ですよ！&#039;;
          break;
 
    case &#039;cloudy&#039;:
          echo &#039;ちょっと曇ってますね。&#039;:
          break;
  
    case &#039;rainy&#039;:
          echo &#039;傘は必須です。&#039;:
          break;
 
      default:             //何もなくても省略してはいけない
            break;
 }

 //悪い例（空白行がないと見にくい）
 switch ($weather) {
      case &#039;fine&#039;:
          echo &#039;いい天気ですよ！&#039;;
          break;
    case &#039;cloudy&#039;:
          echo &#039;ちょっと曇ってますね。&#039;:
          break;
    case &#039;rainy&#039;:
          echo &#039;傘は必須です。&#039;:
          break;
       default:             //何もなくても省略してはいけない
            break;
 }

 //悪い例 (defaultは省略不可)
 switch ($weather) {
    case &#039;fine&#039;:
          echo &#039;いい天気ですよ！&#039;;
          break;
 
    case &#039;cloudy&#039;:
          echo &#039;ちょっと曇ってますね。&#039;:
          break;
  
    case &#039;rainy&#039;:
          echo &#039;傘は必須です。&#039;:
          break;
 
 }

 //悪い例（caseの中はインデントが必要）
 switch ($weather) {
    case &#039;fine&#039;:
    echo &#039;いい天気ですよ！&#039;;
    break;
 
    case &#039;cloudy&#039;:
    echo &#039;ちょっと曇ってますね。&#039;:
    break;
  (後略)    

 //悪い例 (case自体もインデントが必要)
 switch ($weather) {
 case &#039;fine&#039;:
    echo &#039;いい天気ですよ！&#039;;
    break;
 
 case &#039;cloudy&#039;:
    echo &#039;ちょっと曇ってますね。&#039;:
    break;
  (後略)    

 //悪い例 (開始の中カッコは switch　と同行に書く)
 switch ($weather)
 {
     case &#039;fine&#039;:
         echo &#039;いい天気ですよ！&#039;;
         break;
 
  (後略)    

 //悪い例 (カッコの前とカッコ終了の後には空白が必要)
 switch($weather){
     case &#039;fine&#039;:
         echo &#039;いい天気ですよ！&#039;;
         break;
 
  (後略)    

 //悪い例 (カッコの中は空白禁止)
 switch ( $weather ) {
     case &#039;fine&#039;:
         echo &#039;いい天気ですよ！&#039;;
         break;
 
  (後略)


**繰り返し(while)
-条件を指定するカッコ前およびカッコを閉じた後に、それぞれ空白を入れなければならない
-whileの中は「半角空白４文字分の字下げ」を行う
-開始の中カッコ({)は、whileと同じ行に書き、終了の中カッコ(})は改行して書かなければならない

whileの例
 // 良い例
 while ($i &lt; 10) {
     echo $i . &#039;回目の出力です。&#039;;
     $i++;
 }

 //悪い例（まったく空白が入っていない）
 while($i&lt;10){
     echo $i . &#039;回目の出力です&#039;;
     $i++;
 }

 //悪い例（カッコ内に演算子の前後には空白が必要）
 while ($i&lt;10) {
     echo $i . &#039;回目の出力です&#039;;
     $i++;
 } 

 //悪い例（カッコの中は空白禁止）
 while ( $i &lt; 10 ) {
     echo $i . &#039;回目の出力です&#039;;
     $i++;
 } 

 //悪い例（中カッコの開始はwhileと同行にしなければならない）
 while ($i &lt; 10)
 {
     echo $i . &#039;回目の出力です&#039;;
     $i++;
 }


**繰り返し(for)
-条件式を指定するカッコ前およびカッコを閉じた後に、それぞれ空白を入れなければならない
-forの中は「半角空白４文字分の字下げ」を行う
-開始の中カッコ({)はforと同じ行に書き、終了の中カッコ(})は改行して書かなければならない
-条件式の各要素のセミコロン(;)の後には空白を入れる
-条件式の各要素に演算子が入っている場合は、その前後に空白を入れなければならない

forの例
 //良い例
 for ($i = 0; $i &lt; 10; $i++) {
      echo $i . &#039;回目の出力です。&#039;;
 }

 //悪い例（条件式の演算子の前後やセミコロンの後に空白を入れなければならない）
 for ($i=0;$i&lt;10;$i++) {
      echo $i . &#039;回目の出力です。&#039;;
 }

 //悪い例（条件式の前後に空白を入れてはいけない）
 for ( $i = 0; $i &lt; 10; $i++ ) {
      echo $i . &#039;回目の出力です。&#039;;
 }

 //悪い例（中カッコの開始は while と同行にする）
 for ( $i = 0; $i &lt; 10; $i++ )
 {
      echo $i . &#039;回目の出力です。&#039;;
 }

-for文は配列の要素数分ループさせるなどで利用する事が多いですが、配列の要素数の取得を条件式に入れてはなりません。これは、ループするたびに配列の要素数を取得する処理が実行されてしまうからです

条件式では関数を呼び出してはならない
 //　良い例
 $cnt = count($data);
 for ($i = 0; $i &lt; $cnt; $i++) {
      echo $data[$i];
 }
 
 //悪い例（条件式内で関数呼び出しをしてはいけない）
 for ($i = 0; $i &lt; count($data); $i++) {
      echo $data[$i];
 }

****関数の使用
-関数名とカッコの間に空白は入れてはならない
-引数が複数ある場合は、引数の区切りのカンマの後に空白を入れる

関数の例１
 //良い例
 $outData = htmlspecialchars($message);
 
 //悪い例（関数とカッコの間に空白を入れてはならない）
 $outData = htmlspecialchars ($message);
 
 //悪い例（引数のカッコ内に空白を入れてはいけない）
 $outData = htmlspecialchars( $message );

関数の例２
 //良い例
 $aList = explode(&#039;-&#039;, $tel);
 
 //悪い例（関数とカッコの間に空白を入れてはならない）
 $aList = explode(&#039;-&#039;, $tel);
 
 //悪い例（引数と引数の間には空白が必要）
 $aList = explode(&#039;-&#039;,$tel);
 
 //悪い例（引数のカッコ内に空白を入れてはいけない）
 $aList = explode( &#039;-&#039;, $tel );

**関数の宣言
-関数を宣言する場合は、関数内とカッコの間に空白を入れてはいけない
-引数が複数ある場合は、引数の区切りのカンマの後に空白を入れる
-関数の中は「半角空白４文字分の字下げ」を行う
-開始の中カッコ({)は関数名と同じ行に書き、終了の中カッコ(})は改行して書く

関数の宣言の例
 //良い例
 function myFunc($param1, $param2) {
     $total = $param1 + $param2;
     return $param;
 }
 
 //悪い例（関数内は半角空白4文字分の字下げが必要）
 function myFunc($param1, $param2) {
 $total = $param1 + $param2;
 return $param;
 }
 
 //悪い例（引数の間に空白がない、引数の同じカッコの後に空白がない）
 function myFunc($param1,$param2){
     $total = $param1 + $param2;
     return $param;
 }
 
 //悪い例（関数名の後に空白をいれてはいけない）
 function myFunc ($param1, $param2) {
     $total = $param1 + $param2;
     return $param;
 }
 
 //悪い例（中カッコの開始は関数名と同行でなければならない）
 function myFunc($param1, $param2)
 {
     $total = $param1 + $param2;
     return $param;
 } 
 
 //悪い例（return　する値をカッコで囲んではいけない）
 function myFunc($param1, $param2) {
     $total = $param1 + $param2;
     return ($param);
 }

**クラスの宣言
-クラスの宣言の開始の中カッコはクラス名の下に書かなければならない(one true brace形式)
-終了の中カッコ(})は改行して書く
-クラス内は全て「半角空白４文字分の字下げ」を行う

クラスの宣言の例
 //良い例
 class MyClass
 {
     //クラス内は半角空白４文字分の字下げが必要
 }

**クラスのメンバー変数の宣言
-クラス内で宣言される全てのメンバー変数は、クラス開始の中カッコの事業にまとめて書かなければならない
-メンバー変数は適切なアクセス権限（「private」「public」「protected」）で宣言する

！！基本は「private」です。外部からメンバー変数に代入させたい場合は「public」にして直接代入するのではなく、アクセサ（set/get）を使用してください。

クラスのメンバー関数宣言の例
 //良い例
 class MyClass
 {
    private   $_variable1;    //良い例
     public    $_variable2;    //良い例
     protected $_variable3;    //良い例
     var       $variable3;     //エラーにはならないが悪い例
 }

**クラスのメンバー関数の宣言
-クラスのメンバー関数宣言の開始の中カッコ({)はメンバー関数名の下に書かなければならない(one true brace形式)
-終了の中カッコ(})は改行して書く
-メンバー関数内は全て「半角空白４文字分字下げ」を行う
-メンバー関数名と引数の開始カッコの間に空白は入れてはいけない

クラスの宣言の例
 //良い例
 class MyClass
 {
       private function myFunc($param1, $param2)
       {
           $total = $param1 + $param2;
           return $param;
       }
 }


**コメント
-コメント記号の後に必ず空白を入れなければならない
-複数行コメントの場合はコメント開始記号の行と終了記号の行には他の文字を書いてはならない

コメントの例
 //一行コメント　　←良い例
 //一行コメント　　←悪い例
 
 //良い例
 /*
  これは
  複数行コメントです
 */
 
 // 悪い例
 /* これは
     複数行コメントです。 */
 
 // 悪い例
 /*これは複数行コメントです。*/

**プログラム中のSQL文の記述
-SQL文内にシングルクォートが含まれるためシングルクォートではなくダブルクォートで囲む
-SQL構文や関数は、大文字で記述する
-可読性を良くする為、適切にインデントを行う
-プレースホルダを使う場合はｍシングルクォートで囲む

SQL文の例
 //良い例
 $sql = &quot;SELECT &quot;
      .      &quot;id, &quot;
      .      &quot;name &quot;
      .&quot;FROM &quot;
      .      &quot;m_user &quot;
      .&quot;WHERE &quot;
      .      &quot;group = &#039;開発部&#039;&quot;;

 //良い例 (プレースホルダを使う場合)
 $sql = &#039;SELECT &#039;
      .      &#039;id, &#039;
      .      &#039;name &#039;
      .&#039;FROM &#039;
      .      &#039;m_user &#039;
      .&#039;WHERE &#039;
      .      &#039;group = ?&#039;;

 //悪い例（１行で書いている）
 $sql = &quot;SELECT id, name FROM m_user WHERE group = &#039;開発部&#039;&quot;;

 //悪い例（SQL構文を小文字で書いている）
 $sql = &quot;select &quot;
      .      &quot;id, &quot;
      .      &quot;name &quot;
      .&quot;from &quot;
      .      &quot;m_user &quot;
      .&quot;where &quot;
      .      &quot;group = &#039;開発部&#039;&quot;;

 //悪い例（カンマを頭に持ってきている）
 $sql = &quot;SELECT &quot;
      .      &quot;id &quot;
      .      &quot;,name &quot;
      .&quot;FROM &quot;
      .      &quot;m_user &quot;
      .&quot;WHERE &quot;
      .      &quot;group = &#039;開発部&#039;&quot;;

 //悪い例（インデントしていない）
 $sql = &quot;SELECT &quot;
      . &quot;id, &quot;
      . &quot;name &quot;
      . &quot;FROM &quot;
      . &quot;m_user &quot;
      . &quot;WHERE &quot;
      . &quot;group = &#039;開発部&#039;&quot;;    </description>
    <dc:date>2008-06-03T16:23:12+09:00</dc:date>
    <utime>1212477792</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/makimaaki/pages/17.html">
    <title>2.命名規則</title>
    <link>https://w.atwiki.jp/makimaaki/pages/17.html</link>
    <description>
      **ファイル名
-使用可能な文字は「英数字」「アンダースコア(_)」のみ
-拡張子は必ず「.php」でなければならない
-誰が見ても意味の分かる名前をつける
-英単語のみの構成を推奨

ファイル命名
|良い例|悪い例|理由|
|new_user.php|item_sakusei.php|日本語と英単語が混在している|
|editItem.php|zaiko_koshin.php|ハイフンや日本語を使用している|
|RegistColumn.php|regist1.php|用途が分かりづらい|

-入力→確認→完了など、一連の流れを複数のプログラムで実現する場合は、同一名称＋語尾装飾にする

「同一名称＋語尾装飾」の例
 new_user.php         //入力画面
   ↓
 new_user_conf.php    //確認画面
   ↓
 new_user_fin.php     //完了画面


**変数
-使用可能な文字は「英数字」のみ
-「アンダースコア(_)」は使用不可
-数字の使用は最小限にとどめる
-通常は「camelCase」形式で決める(54ページ参照)
-変数名は省略しすぎない（「$i」や「$n」のような省略形は、小さなループ内でのみ使用する）

変数名の例
 $userName
 $currentPage

-クラス内で「private」あるいは「protected」と宣言されている変数は、変数名の頭にアンダースコア(_)を１文字付けなければなりません。



**関数（メソッド）
-使用可能な文字は「英数字」のみ
-「アンダースコア（_）」は使用不可
-数字の使用は最小限にとどめる
-通常は「camelCase」形式で決める
-関数名は省略しすぎない
-コードを理解しやすくする為、できるだけ詳細な命名をする

関数名の例
 createItem();
 updateStock();
 checkTemplateData();

-オブジェクト指向型のプログラミングでは、オブジェクトにアクセスするためのメソッドは「get」あるいは「set」のいずれかで始めなければなりません。
-デザインパターンを使用する場合は「singleton」や「factory」などのパターン名を含めるようにしましょう


**定数
-使用可能な文字は「英数字」「アンダースコア(_)」のみ
-全て大文字とする
-可読性向上の為、英単語にはアンダースコア(_)を入れる

**クラス
-使用可能な文字は「英数字」のみ
-「アンダースコア(_)」は使用不可
-大文字から開始する
-複数の単語からなる場合は、各単語の１文字めを大文字にする

クラス名の例
 DataAccess();
 DiplayInfomation();    </description>
    <dc:date>2008-06-03T16:22:46+09:00</dc:date>
    <utime>1212477766</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/makimaaki/pages/16.html">
    <title>ZendFramework &gt;&gt; 4.インラインドキュメント</title>
    <link>https://w.atwiki.jp/makimaaki/pages/16.html</link>
    <description>
      *4.インラインドキュメント
ドキュメントブロックは「phpDocumenter」と互換性のある書式でなければなりません。
記述が義務付けられているのは、ファイルレベル、クラスレベル、メソッドレベルです。

ファイルレベルでの「phpDocumenterタグ」を含むヘッダブロック
 /**
 * ファイルについての短い説明
 * 
 * ファイルについての長い説明（もしあれば）
 *
 * LICENSE: ライセンスに関する情報
 *
 * @copyright 2007 Zend Tecnologies Co.,Ltd.
 * @license ライセンスについて説明しているURLなどを記述
 * @version x.x.x
 * @link このプログラムについて紹介しているURLなどを記述
 *@sice File available sice Release x.x.x
 */

**クラスレベル
各クラスには、最低限これらの「phpDocumenterタグ」を含むヘッダブロックをクラス名の前に記述しなければなりません。

 /**
 * クラスについての短い説明
 * 
 * クラスについての長い説明（もしあれば）
 *
 * LICENSE: ライセンスに関する情報
 *
 * @copyright 2007 Zend Tecnologies Co.,Ltd.
 * @license ライセンスについて説明しているURLなどを記述
 * @version x.x.x
 * @link このプログラムについて紹介しているURLなどを記述
 *@sice File available sice Release x.x.x
 */

**メソッドレベル
各関数には、最低限これらの「phpDocumenterタグ」を含むヘッダブロックをクラス名の前に記述しなければなりません。

 /**
 * 関数についての短い説明
 * 
 *
 * @param データ型　引数1
 * @param データ型　引数2
 * @param データ型　引数3
 * @return データ型　
 */

関数が例外をスローする場合には「@throws」を使用します。
 @throws exceptionclass [description]    </description>
    <dc:date>2008-06-03T16:15:39+09:00</dc:date>
    <utime>1212477339</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/makimaaki/pages/15.html">
    <title>ZendFramework &gt;&gt; 3.コーディングスタイル</title>
    <link>https://w.atwiki.jp/makimaaki/pages/15.html</link>
    <description>
      *3.コーディングスタイル
見やすいプログラムかどうかは、コーディングスタイルで決まります。
メンテナンス性向上のためにも全員が守れるようにしましょう。

**代入
-変数に値を導入する際には、変数名とイコール、イコールと値の間には必ず空白を入れなければならない。通常は半角空白を１つとする。ただし、可読性向上のための複数の空白であれば、入れることを推奨。
-計算式を代入する場合などは、各要素の間に空白を入れる

代入の例
 $total = 1 + 2;                //良い例
   
 $total = $value1 + $value2;    //良い例
    
 $total = (1 + 2) * 2;          //良い例
 
 $total=1+2;                    //悪い例
 
 $total = $value1+$value2;    　//悪い例
 
 $total = ( 1 + 2 ) * 2;    　  //悪い例

複数行の代入を揃える例
 //良い例（下に合わせるため空白を入れた）
 $name    = &#039;山田太郎&#039;;
 $address = &#039;東京都港区&#039;;
 
 //悪い例（イコールがずれ、見にくくなる）
 $name = &#039;山田太郎&#039;;
 $address = &#039;東京都港区&#039;;
 

**文字列
-文字列はリテラル（変数の展開などが含まれない）か否かに関わらず、「シングルクォート(&#039;)」で囲まなければならない
-文字列中に改行を入れたい場合は、改行部分のみ「ダブルクォート(&quot;)」で囲み、「ドット(.)」で連結する
-文字列の連結には「ドット(.)」を使用し、ドットの前後には常に空白を入れなければならない。複数行になる場合、二行目以降の変数名記述は不可。ドットを一行目のイコールと同じ位置にして連結する。
-配列が改行で長くなる場合は、複数行の記述でも構わないが、二行目以降の開始位置は、array()の後ろに合わせる

リテラル：最もシンプルな例。「シングルクォート」で囲む
 $greeting = &#039;こんにちは。&#039;;  //良い例
 $greeting = &quot;こんにちは。&quot;;  //ダブルクォートは使わない

文字列の連結：文字列の連結には「ドット(.)」を使用。ドットの前後には常に空白を入れなければならない
 $greeting = &#039;こんにちは。&#039; . &#039;今日はいい天気ですね。&#039;;
連結が長くなる場合：複数行の記述でも構わないが、二行目以降の変数名の記述は不可。二行目以降のドットは一行目のイコールと同じ位置にする
 //良い例
 $greeting = &#039;こんにちは。今日はいい天気ですね&#039;
            . &#039;でも夕方から雨が降るそうですよ&#039;;
 
 //悪い例　変数名を複数回記述することで混乱の元になる恐れがある
 $greeting  =  &#039;こんにちは。今日はいい天気ですね&#039;;
 $greeting .=  &#039;でも夕方から雨が降るそうですよ&#039;; 

変数の展開：文字列中に変数を入れたい場合は、文字列の連結を使用。「ダブルクォート」を使用してはいけない
 $greeting = &#039;こんにちは、&#039; . $name . &#039;さん。&#039;;   //良い例
 $greeting = &#039;こんにちは、 $name . &#039;さん。&#039;;      //悪い例
 $greeting = &#039;こんにちは、{$name}さん。&#039;;         //悪い例

改行の使用：文字列中に改行を入れたい場合は、改行部分のみ「ダブルクォート」で囲み、連結する
 //良い例
 $greeting = &#039;こんにちは。&#039; . &quot;\n&quot; . &#039;今日はいい天気ですね。&#039;;
  
 //悪い例　改行が分かりにくい
 $greeting = &quot;こんにちは。\n今日はいい天気ですね。&quot;;

配列が改行で長くなる場合：複数行の記述でも構わないが、二行目以降の開始位置は、array()の後ろに合わせる
 //良い例
 $myArray = array(1, 2, 3, &#039;Zend&#039;, &#039;Framework&#039;,
                  $value1, $value2, $value3,
                  100, 200, 300);
 
 //悪い例　区切りのカンマを行頭に書いてはいけない
 $myArray = array(1, 2, 3, &#039;Zend&#039;, &#039;Framework&#039;
                  , $value1, $value2, $value3
                  , 100, 200, 300);

**配列
****通常配列
-配列の添字に負の数を使用してはならない
-特別な理由が無い限り０から始める
-array()を使用して数値添字の配列を宣言する場合は、要素を区切るカンマの後に空白を入れなければならない

通常配列の例
 //良い例
 $myArray = array(1, 2, 3, &#039;Zend&#039;, &#039;Framework&#039;);
 
 //悪い例　要素を区切るカンマの後に空白がない
 $myArray = array(1,2,3,&#039;Zend&#039;,&#039;Framework&#039;);
 
 //悪い例　カッコ内の前後に空白を入れてはいけない
 $myArray = array( 1, 2, 3, &#039;Zend&#039;, &#039;Framework&#039; );

****連想配列
-連想配列をarray()で宣言する場合、１要素につき改行を入れなければならない
-各要素の開始位置は揃えて記述する

連想配列の例
 $myArray = array(&#039;firstKey&#039; =&gt; &#039;firstValue&#039;,
                  &#039;secondKey&#039;=&gt; &#039;secondValue&#039;);
 
要素が多い場合：終了のカッコをarrayの先頭に合わせる
 $myArray = array( &#039;firstKey&#039;  =&gt;  &#039;firstValue&#039;,
                   &#039;secondKey&#039; =&gt;  &#039;secondValue&#039;
                   &#039;thirdKey&#039;  =&gt;  &#039;thirdValue&#039;
                   &#039;fourthKey&#039; =&gt;  &#039;fourthValue&#039;
                   &#039;fifthKey&#039;  =&gt;  &#039;fifthValue&#039;
              );

**条件分岐（if/else/else if）
-条件を指定するカッコ前およびカッコを閉じた後に、それぞれ空白を入れなければならない
-条件文の中では演算子の前後にも空白を入れる
-条件分岐開始の中カッコ({)は条件文と同じ行に書き、終了の中カッコ({)は改行して書かなければならない
-中カッコ内では「半角空白４文字分の字下げ」を行う
-「elseif」は使用しない。「else if」(「else」と「if」の間に空白を入れる)を使用する

条件が一つの場合
 //良い例
 if ($age &lt; 20) {
     echo &#039;未成年です。&#039;;
 }
 
 //悪い例　（条件を指定するカッコ前およびカッコを閉じた後のそれぞれ空白や演算子前後の空白が無い）
 if($age&lt;20){
    echo &#039;未成年です。&#039;;
 }
 
 //悪い例　（演算子前後の空白が無い）
 if ($age&lt;20) {
    echo &#039;未成年です。&#039;;
 }
 
 //悪い例　（条件を指定するカッコ前およびカッコを閉じた前にも空白を入れてしまっている）
 if ( $age &lt; 20 ) {
    echo &#039;未成年です。&#039;;
 }
 
 //悪い例　（改行がない）
 if ($age &lt; 20) { echo &#039;未成年です。&#039;; }
 
 //悪い例　（改行位置が違う）
 if ($age &lt; 20) 
 {
     echo &#039;未成年です。&#039;;
 }

条件分岐が続く例
 //良い例
 if ($age &lt; 20) {
      echo &#039;未成年です。&#039;;
 } else if ($age &lt; 30) {
      echo &#039;20代です。&#039;;
 } else {
      echo &#039;30代です。&#039;;
 }
 
 //悪い例　(elseifは使わない)
 if ($age &lt; 20) {
      echo &#039;未成年です。&#039;;
 } elseif ($age &lt; 30) {
      echo &#039;20代です。&#039;;
 } else {
      echo &#039;30代です。&#039;;
 }

**選択分岐(switch)
-条件を指定するカッコ前およびカッコを閉じた後に、それぞれ空白を入れなければならない
-switchの中は「半角空白４文字分の字下げ」を行い、さらにcaseの中は「半角空白４文字分の字下げ」を行う
-開始の中カッコ({)はswitchと同行に書き、終了の中カッコ(})は改行して書かなければならない
-defaultは決して省略してはならない

switchの例
 //良い例
 switch ($weather) {
    case &#039;fine&#039;:
          echo &#039;いい天気ですよ！&#039;;
          break;
 
    case &#039;cloudy&#039;:
          echo &#039;ちょっと曇ってますね。&#039;:
          break;
  
    case &#039;rainy&#039;:
          echo &#039;傘は必須です。&#039;:
          break;
 
      default:             //何もなくても省略してはいけない
            break;
 }

 //悪い例（空白行がないと見にくい）
 switch ($weather) {
      case &#039;fine&#039;:
          echo &#039;いい天気ですよ！&#039;;
          break;
    case &#039;cloudy&#039;:
          echo &#039;ちょっと曇ってますね。&#039;:
          break;
    case &#039;rainy&#039;:
          echo &#039;傘は必須です。&#039;:
          break;
       default:             //何もなくても省略してはいけない
            break;
 }

 //悪い例 (defaultは省略不可)
 switch ($weather) {
    case &#039;fine&#039;:
          echo &#039;いい天気ですよ！&#039;;
          break;
 
    case &#039;cloudy&#039;:
          echo &#039;ちょっと曇ってますね。&#039;:
          break;
  
    case &#039;rainy&#039;:
          echo &#039;傘は必須です。&#039;:
          break;
 
 }

 //悪い例（caseの中はインデントが必要）
 switch ($weather) {
    case &#039;fine&#039;:
    echo &#039;いい天気ですよ！&#039;;
    break;
 
    case &#039;cloudy&#039;:
    echo &#039;ちょっと曇ってますね。&#039;:
    break;
  (後略)    

 //悪い例 (case自体もインデントが必要)
 switch ($weather) {
 case &#039;fine&#039;:
    echo &#039;いい天気ですよ！&#039;;
    break;
 
 case &#039;cloudy&#039;:
    echo &#039;ちょっと曇ってますね。&#039;:
    break;
  (後略)    

 //悪い例 (開始の中カッコは switch　と同行に書く)
 switch ($weather)
 {
     case &#039;fine&#039;:
         echo &#039;いい天気ですよ！&#039;;
         break;
 
  (後略)    

 //悪い例 (カッコの前とカッコ終了の後には空白が必要)
 switch($weather){
     case &#039;fine&#039;:
         echo &#039;いい天気ですよ！&#039;;
         break;
 
  (後略)    

 //悪い例 (カッコの中は空白禁止)
 switch ( $weather ) {
     case &#039;fine&#039;:
         echo &#039;いい天気ですよ！&#039;;
         break;
 
  (後略)


**繰り返し(while)
-条件を指定するカッコ前およびカッコを閉じた後に、それぞれ空白を入れなければならない
-whileの中は「半角空白４文字分の字下げ」を行う
-開始の中カッコ({)は、whileと同じ行に書き、終了の中カッコ(})は改行して書かなければならない

whileの例
 // 良い例
 while ($i &lt; 10) {
     echo $i . &#039;回目の出力です。&#039;;
     $i++;
 }

 //悪い例（まったく空白が入っていない）
 while($i&lt;10){
     echo $i . &#039;回目の出力です&#039;;
     $i++;
 }

 //悪い例（カッコ内に演算子の前後には空白が必要）
 while ($i&lt;10) {
     echo $i . &#039;回目の出力です&#039;;
     $i++;
 } 

 //悪い例（カッコの中は空白禁止）
 while ( $i &lt; 10 ) {
     echo $i . &#039;回目の出力です&#039;;
     $i++;
 } 

 //悪い例（中カッコの開始はwhileと同行にしなければならない）
 while ($i &lt; 10)
 {
     echo $i . &#039;回目の出力です&#039;;
     $i++;
 }


**繰り返し(for)
-条件式を指定するカッコ前およびカッコを閉じた後に、それぞれ空白を入れなければならない
-forの中は「半角空白４文字分の字下げ」を行う
-開始の中カッコ({)はforと同じ行に書き、終了の中カッコ(})は改行して書かなければならない
-条件式の各要素のセミコロン(;)の後には空白を入れる
-条件式の各要素に演算子が入っている場合は、その前後に空白を入れなければならない

forの例
 //良い例
 for ($i = 0; $i &lt; 10; $i++) {
      echo $i . &#039;回目の出力です。&#039;;
 }

 //悪い例（条件式の演算子の前後やセミコロンの後に空白を入れなければならない）
 for ($i=0;$i&lt;10;$i++) {
      echo $i . &#039;回目の出力です。&#039;;
 }

 //悪い例（条件式の前後に空白を入れてはいけない）
 for ( $i = 0; $i &lt; 10; $i++ ) {
      echo $i . &#039;回目の出力です。&#039;;
 }

 //悪い例（中カッコの開始は while と同行にする）
 for ( $i = 0; $i &lt; 10; $i++ )
 {
      echo $i . &#039;回目の出力です。&#039;;
 }

-for文は配列の要素数分ループさせるなどで利用する事が多いですが、配列の要素数の取得を条件式に入れてはなりません。これは、ループするたびに配列の要素数を取得する処理が実行されてしまうからです

条件式では関数を呼び出してはならない
 //　良い例
 $cnt = count($data);
 for ($i = 0; $i &lt; $cnt; $i++) {
      echo $data[$i];
 }
 
 //悪い例（条件式内で関数呼び出しをしてはいけない）
 for ($i = 0; $i &lt; count($data); $i++) {
      echo $data[$i];
 }

****関数の使用
-関数名とカッコの間に空白は入れてはならない
-引数が複数ある場合は、引数の区切りのカンマの後に空白を入れる

関数の例１
 //良い例
 $outData = htmlspecialchars($message);
 
 //悪い例（関数とカッコの間に空白を入れてはならない）
 $outData = htmlspecialchars ($message);
 
 //悪い例（引数のカッコ内に空白を入れてはいけない）
 $outData = htmlspecialchars( $message );

関数の例２
 //良い例
 $aList = explode(&#039;-&#039;, $tel);
 
 //悪い例（関数とカッコの間に空白を入れてはならない）
 $aList = explode(&#039;-&#039;, $tel);
 
 //悪い例（引数と引数の間には空白が必要）
 $aList = explode(&#039;-&#039;,$tel);
 
 //悪い例（引数のカッコ内に空白を入れてはいけない）
 $aList = explode( &#039;-&#039;, $tel );

**関数の宣言
-関数を宣言する場合は、関数内とカッコの間に空白を入れてはいけない
-引数が複数ある場合は、引数の区切りのカンマの後に空白を入れる
-関数の中は「半角空白４文字分の字下げ」を行う
-開始の中カッコ({)は関数名と同じ行に書き、終了の中カッコ(})は改行して書く

関数の宣言の例
 //良い例
 function myFunc($param1, $param2) {
     $total = $param1 + $param2;
     return $param;
 }
 
 //悪い例（関数内は半角空白4文字分の字下げが必要）
 function myFunc($param1, $param2) {
 $total = $param1 + $param2;
 return $param;
 }
 
 //悪い例（引数の間に空白がない、引数の同じカッコの後に空白がない）
 function myFunc($param1,$param2){
     $total = $param1 + $param2;
     return $param;
 }
 
 //悪い例（関数名の後に空白をいれてはいけない）
 function myFunc ($param1, $param2) {
     $total = $param1 + $param2;
     return $param;
 }
 
 //悪い例（中カッコの開始は関数名と同行でなければならない）
 function myFunc($param1, $param2)
 {
     $total = $param1 + $param2;
     return $param;
 } 
 
 //悪い例（return　する値をカッコで囲んではいけない）
 function myFunc($param1, $param2) {
     $total = $param1 + $param2;
     return ($param);
 }

**クラスの宣言
-クラスの宣言の開始の中カッコはクラス名の下に書かなければならない(one true brace形式)
-終了の中カッコ(})は改行して書く
-クラス内は全て「半角空白４文字分の字下げ」を行う

クラスの宣言の例
 //良い例
 class MyClass
 {
     //クラス内は半角空白４文字分の字下げが必要
 }

**クラスのメンバー変数の宣言
-クラス内で宣言される全てのメンバー変数は、クラス開始の中カッコの事業にまとめて書かなければならない
-メンバー変数は適切なアクセス権限（「private」「public」「protected」）で宣言する

！！基本は「private」です。外部からメンバー変数に代入させたい場合は「public」にして直接代入するのではなく、アクセサ（set/get）を使用してください。

クラスのメンバー関数宣言の例
 //良い例
 class MyClass
 {
    private   $_variable1;    //良い例
     public    $_variable2;    //良い例
     protected $_variable3;    //良い例
     var       $variable3;     //エラーにはならないが悪い例
 }

**クラスのメンバー関数の宣言
-クラスのメンバー関数宣言の開始の中カッコ({)はメンバー関数名の下に書かなければならない(one true brace形式)
-終了の中カッコ(})は改行して書く
-メンバー関数内は全て「半角空白４文字分字下げ」を行う
-メンバー関数名と引数の開始カッコの間に空白は入れてはいけない

クラスの宣言の例
 //良い例
 class MyClass
 {
       private function myFunc($param1, $param2)
       {
           $total = $param1 + $param2;
           return $param;
       }
 }


**コメント
-コメント記号の後に必ず空白を入れなければならない
-複数行コメントの場合はコメント開始記号の行と終了記号の行には他の文字を書いてはならない

コメントの例
 //一行コメント　　←良い例
 //一行コメント　　←悪い例
 
 //良い例
 /*
  これは
  複数行コメントです
 */
 
 // 悪い例
 /* これは
     複数行コメントです。 */
 
 // 悪い例
 /*これは複数行コメントです。*/

**プログラム中のSQL文の記述
-SQL文内にシングルクォートが含まれるためシングルクォートではなくダブルクォートで囲む
-SQL構文や関数は、大文字で記述する
-可読性を良くする為、適切にインデントを行う
-プレースホルダを使う場合はｍシングルクォートで囲む

SQL文の例
 //良い例
 $sql = &quot;SELECT &quot;
      .      &quot;id, &quot;
      .      &quot;name &quot;
      .&quot;FROM &quot;
      .      &quot;m_user &quot;
      .&quot;WHERE &quot;
      .      &quot;group = &#039;開発部&#039;&quot;;

 //良い例 (プレースホルダを使う場合)
 $sql = &#039;SELECT &#039;
      .      &#039;id, &#039;
      .      &#039;name &#039;
      .&#039;FROM &#039;
      .      &#039;m_user &#039;
      .&#039;WHERE &#039;
      .      &#039;group = ?&#039;;

 //悪い例（１行で書いている）
 $sql = &quot;SELECT id, name FROM m_user WHERE group = &#039;開発部&#039;&quot;;

 //悪い例（SQL構文を小文字で書いている）
 $sql = &quot;select &quot;
      .      &quot;id, &quot;
      .      &quot;name &quot;
      .&quot;from &quot;
      .      &quot;m_user &quot;
      .&quot;where &quot;
      .      &quot;group = &#039;開発部&#039;&quot;;

 //悪い例（カンマを頭に持ってきている）
 $sql = &quot;SELECT &quot;
      .      &quot;id &quot;
      .      &quot;,name &quot;
      .&quot;FROM &quot;
      .      &quot;m_user &quot;
      .&quot;WHERE &quot;
      .      &quot;group = &#039;開発部&#039;&quot;;

 //悪い例（インデントしていない）
 $sql = &quot;SELECT &quot;
      . &quot;id, &quot;
      . &quot;name &quot;
      . &quot;FROM &quot;
      . &quot;m_user &quot;
      . &quot;WHERE &quot;
      . &quot;group = &#039;開発部&#039;&quot;;    </description>
    <dc:date>2008-06-03T15:47:04+09:00</dc:date>
    <utime>1212475624</utime>
  </item>
  </rdf:RDF>
