2012年03月23日
講義035日目
------------------------------1H------------------------------
★classの復習
●アロー演算子
・->
クラス外でクラス内の関数を呼び出す
・$this->
クラス内の変数た関数にアクセス
自分自身のオブジェクトを使うことを表す
●public、protected、private
・public
省略するとpublicになる
アロー演算子で外部からアクセスできる
・protected、private
$thisを使ってクラス外からもアクセスできる
メンバ変数、functionに適応
●関数の利点
・classが別なら、各々のclass内に同じ関数が存在しててもエラーにならない
newで新しくインスタンス化させるから
------------------------------2H------------------------------
★class
●BBS/replysubmitのクラス化
------------------------------3H------------------------------
★class
●
・$pathinfo = pathinfo(__FILE__);
require_once($pathinfo["dirname"]."/MySubmitUtil.class.php");
pathinfo(__FILE__)で現在位置を取得
・require_once(realpath(".") . "/lib/MySubmitUtil.class.php");
realpath(".") で現在位置を取得
・static
functionの前にstaticをつけると、インスタンス化せずに呼び出せる
ただし、インスタンス化した際の「$this」や「->」が使えない
設定ファイル等で使用される
メンバ変数を書き換えたい処理はstaticにしない
メンバ変数を呼び出すような処理もstaticにしない
・::
スコープ定義演算子
クラス名::関数名
staticで定義した関数は::をつけないと呼び出せない
------------------------------4H------------------------------
★class
●
・self::
staticにおける$thisのようなもの
ただし、オブジェクトの値を保持できない
・parent::
親クラスの関数を参照する
同じクラスに同じ名前の関数があっても親クラスに呼びにいく
・
------------------------------5H------------------------------
★class
●テンプレートエンジン
classを使ったhtml部分の部品化
・submit.phpを
submit.php(php記述部分)と
web/submit.htmlに分解
・file_get_contents()
ファイルの内容を全て文字列に読み込む
(file()だと一行ごとに読み込む)
・str_replace()
検索文字列に一致したすべての文字列を置換する
(preg_replace())
・擬似テンプレートエンジン化させた
//submit.htmlを読み込んで、該当箇所を書き換える
$output = file_get_contents("./web/submit.html");
$output = str_replace("<templatetest1>",$_SESSION["nickname"],$output);
$output = str_replace("<templatetest2>",$submit_util->getMessage(),$output);
//最終的に$outputはブラウザに出力されるhtmlタグの文字列になる
echo $output;
・smarty
テンプレートエンジン
を使ってロジックとhtmlを切り分ける
・MVC
Model
→データベースと連動する処理
View
→出力画面
Controller
→ModelとViewを結びつける
WEBをモデル、ビュー、コントローラーに切り分ける考え方
------------------------------6H------------------------------
★javascript
●基本的な記述
<html>
<head>
<meta http-equiv="Content-Type" content="text/html:charset=UTF-8">
<title>Javascript</title>
</head>
<body>
<!--
<script type="text/javascript" src="/js/main.js"></script>
-->
<a href="javascript:alert('test');">ポップアップ</a>
</body>
</html>
●イベントハンドラ
<script type="text/javascript">
function btnOnClick() {
alert("クリックされました");
}
</script>
<button onclick="btnOnClick()">クリック</button>
●変数の定義
var 変数名 = 値;
-----------------------------memo------------------------------
0 件のコメント:
コメントを投稿