クラスの概念再び。
クラス図。これは概念だからね。
親から子へ継承できるよ。
☆オブジェクト指向
オブジェクト指向の考え方で割りといい感じの説明
ここだけ読んでもお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]}、のような技術があります。
連想配列の入れ子の表示方法がわからんかった・・・・・・;