クラスの概念再び。
クラス図。これは概念だからね。
親から子へ継承できるよ。
☆オブジェクト指向
オブジェクト指向の考え方で割りといい感じの説明
ここだけ読んでもおk。
飛び飛び過ぎてつらい・・・・・・。
2時間目
smarty入門っぽいサイト
早わかりsmarty
いずれは見ようウノウラボ
PHP-users メーリングリスト
不明点もちゃんと書けば教えてくれるよ。質問内容は質問者の文章を参考にどぞ。
いつかは行こうPHP勉強会
さてSmarty設置とバーチャルホスト設定。
eclipce、XAMPP起動して・・・・・・sample_templateって名前でプロジェクト作成。
ダウンロードしたLatest Stable Releaseの
Smarty 3.0.7 (.tar.gz) (.zip) February 11th, 2011のzipを保存して解凍。
そこからlibsフォルダをC:\pleiades\xampp\htdocs\smarty_sample(実際のフォルダね)へコピー。
C:\pleiades\xampp\apache\conf\extra\httpd-vhosts.confをエディタで開く。
そんで一番下の所をコピーしてその下に貼り付けて、以下に改変。
一緒に##NameVirtualHost *:80ってあるから、##取るよ!
## Smartyサンプル##
<VirtualHost *:80>
DocumentRoot "c:/pleiades/xampp/htdocs/smarty_sample"
ServerName smarty_sample
Directoryindex index.php index.html
<Directory "c:/pleiades/xampp/htdocs/smarty_sample">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>
保存したらXAMPPでApache再起動。3時間目
C:\WINDOWS\system32\drivers\etc\hostsをエディタで開き、最下部に下記追加。
## Smarty サンプル
127.0.0.1 smarty_sample
http://smarty_sample/で開くかチェック。
現時点ではIndex of /ってページが出れば成功。
意味を知ろう
127.0.0.1 【ループバックアドレス】
127.0.0.1 自分のlocalhostのこと。
hostsファイル 【hosts file】
localhostのIPアドレスやホスト名が記述されたシステムファイル。
名前解決 【name resolution】
DNSのこと。
今までのBBSとか住所録もバーチャルホストに組み込んでみよう。
ていうかこれやらないと今までの課題が見れなくなる;
<VirtualHost *:80>
DocumentRoot "c:/pleiades/xampp/htdocs/address_book"
ServerName address_book
4時間目
テンプレートからHTMLを呼び出すよ。
まずは以下のフォルダを作るよー。
templatesフォルダの名称は好きにつけていいけど、慣例でコレが多い。
たまにtplって省略できる。
これらのフォルダは攻撃対象になりうるため、本当は公開領域に置かない。
置くならhtdocs以上のフォルダに置く。
* templates
* templates_c
* config
* cache
んでtemlpatesフォルダにhello.tplファイルを作成。
smaty_sample直下にhello.phpを作成。
内容は以下。
//sumarty.classを読み込み
require('./libs/Smarty.class.php');
//smartyクラスのインスタンスを作成
$smarty = new Smarty;
//テンプレートファイルの置き場所を指定
$smarty ->template_dir="./templetes";
//変換したテンプレートファイルが置かれる場所
//コンパイル・ディレクトリ
//実際に実行されるphpファイル
$smarty ->compile_dir="./templetes_c";
//assignで変数名と値をセット
$smarty ->assign("name","world");
//displayでブラウザに出力
$smarty ->display("hello.tpl");
そしたらhttp://smarty_sample/hello.phpを開くと、
Hello,world! って文字だけ出るよ。
サーバーサイドスクリプト/クライアントサイドスクリプト
呼んで字のごとく。
コンパイルって何?
ヒトが書いたプログラムを機械がわかる言葉01 00 10・・・・・・などに翻訳してあげること。
5時間目
tpl内に{* *}でコメントがかける。ソースにも出ない。
配列でやてみよう。
array.php
//sumarty.classを読み込み
require('./libs/Smarty.class.php');
//smartyクラスのインスタンスを作成
$smarty = new Smarty;
//テンプレートファイルの置き場所を指定
$smarty ->template_dir="./templetes";
//変換したテンプレートファイルが置かれる場所
//コンパイル・ディレクトリ
//実際に実行されるphpファイル
$smarty ->compile_dir="./templetes_c";
$smarty ->assign("arch",
array(
"PHP",
"ASP.NET",
array("JSP","サーブレット")
)
);
$smarty -> display("array.tpl");
array.tplサーバーサイド技術には{$arch[0]}、{$arch[1]}、のような技術があります。
連想配列の入れ子の表示方法がわからんかった・・・・・・;

0 件のコメント:
コメントを投稿