ラベル クラス の投稿を表示しています。 すべての投稿を表示
ラベル クラス の投稿を表示しています。 すべての投稿を表示

2011/02/28

phpクラスとエラーレベル

php講習 2/28 13週目

・掃除は雨でお休みでした。
・今日からSmartyの予定でしたが、クラスの説明で1日かかった。
<1時間目>
・担当の先生が変わったため、個別に先生と面談(金曜日の続き)
・面談の終わった人は、掲示板の課題。
 テキストの掲示板がある人は、クラス、オブジェクト指向の課題をメーリングリストで送ります。

クラスについては、12/20-21にやってるが内容をすっかり忘れてました。
・クラスの記述では、クラスを定義するファイルは別に作成し呼び出す(include)ようにする。
 (いままでの課題などでは1つのphpファイルに記述していた)

<2時間目>
・クラスファイルの命名規則、クラス名を最初大文字してそのあと「class」を付ける
 Human.class.php
 Dog.class.php
・メールで送付された課題の練習

<3-6時間目>
・課題の練習と解説

・php.iniで文字列検索「error_reporting
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED 

error_reporting = E_ALL
実際の開発では、エラーが出ているものは全てつぶす
今までの説明では、ワーニングでもエラーにせずに済ませていた。
・開発時はエラーをつぶすためonにする。
本番サーバでは、攻撃のヒントになるのでoffにしている。
レンタルサーバでは、php.iniファイルは設定できないので、ini_set()で設定する。
・この講習では、php.iniを元に戻す。
・アクセス修飾子(アクセス権)
public      クラスの外からも参照可能
private     クラス自身からの参照のみ
protected  クラス自身と継承したクラスから参照可能
概念の話しなので、実際にプログラムと動きを見る方がわかりやすい。
・クラスのはなし、継承から。
継承は、symfonyで使う。使ううちに判ってくる。

・クラス図で検索するとクラスを図にしたものの説明がある。

・住所録、login.php
テーブルの内容を読んだら、デバック中は配列(レコード)の内容を確認しておく。
・明日からsmarty、Webテキストの拡張2の状態から始めます。
出来ていない人は準備しておいて下さい。
(おそらく、1月に先生からメールで配布されていたはず)

2010/12/21

クラスとMySQL

php講習 12/21
・php実習

午前中は、練習問題3 p.12
私は、ハローワークに行ったのでお休みしました。

昼食後、練習問題3の解説
練習4、5は飛ばした。

・クラスの継承
スーパークラス(親のクラス)
サブクラス(子のクラス)

・オーバーライド
スーパークラスで定義されているメソッドを、子クラスで再定義。
シンフォニーをさわるとき、出てくる。
Symfony Framework
Webアプリケーションの開発速度を向上させ、メンテナンス量を軽減することを目的に開発されたPHP5で動作するフレームワーク。

明日以降の授業資料(mysql)が送付された。

・理解度テスト
PHPプログラム作成

・データベース(mySQL)の環境
テーブルは、例えばexcelのシートと同じ
excelの、列はカラムと言いましょう、また行はレコードと言いましょう。
データベースでは、型を意識してデータを扱うので、異なる型に値を入れようとすると
エラーになります。
(PHPでは、自動的に変換してくれるので型を意識することがあまりありません)

データ型とその種類
データベース名、テーブル名、カラム名には日本語は使わない。
プライマリキーについて
テーブルのなかでユニークにレコードが特定出来るキー
nullは設定できない。(データが特定できないため)
データがnullのとき
カラムが空のデータのこと
ロック(排他制御)について

SQLのルール
4種類のデータ操作言語 CRUD
create : 作成
read   : 読み出し
update : 更新
delete : 削除


mySQLの初期設定ファイル変更
my.iniに文字コードの日本語設定を追加。
phpMyAdmin や MySQL コマンドライン・クライアントで、日本語のテーブル名を使うための設定
キャラクタセットに関する設定の「文字コードをutf8に」の部分を参照して下さい。

設定が終わったら一度xamppを落とす。
「mysql_start.bat」実行
設定変更がうまく反映されていないようなので、PCを再起動

2010/12/20

php基礎、クラス

php講習 12/20

<本日の内容>
(1)関数
(2)クラス

・今日の清掃は、海岸に出ました。

・午前中は、先週の復習で関数の練習問題を実習

・午後からクラスの説明、練習問題1
・クラスの宣言文が呼び出しより後でもいいらしい。
・メンバ変数(クラス変数)は定義するとき
private $name;
使うとき
$this->name
「$」を付けるときと付けないときがある。
・クラスの変数定義は、public、(protected) あるいは private を付ける。
詳細はあとで説明するそうです。

・クラスの中で(自分自身の)クラスを参照するとき、クラスの名称は「$this」を使用する。
・クラスの関数を使うときは「->」を使用。(読み方不明)

・インスタンスを作成(生成)
$human = new Human();
インスタンスとは、「実体」「オブジェクト(を生成したもの)」のこと。
どう言い換えても、わかりにくいことに変わりはない。

・メソッド
クラスの関数のこと
メソッドの定義は、クラス定義の「{}」(括弧)でくくり、その中に書く。

・コメント(以前のコメントの書き方に追加)
「#」で始まる行

・練習問題2
クラスで、犬の鳴声を表示する
犬のインスタンス$docは、$akitakenとかのほうがなじみやすい気がします。

・練習問題3
クラスで、価格をクラス変数で保存、割引率を計算

・コンストラクタの説明
オブジェクトが生成されたとき、最初に(1回だけ)実行される関数。
ここに初期化する処理を書いておけば、最初に実行されます。
また、初期値を割当したいとき、引数を定義しておけば変数を初期化できます。

・コンストラクタ練習問題
犬の練習問題をコンストラクタで記述

・明日の予定
継承
ソースの量が多くなってきたので、eclipsを使うかもしれないとのこと。