計算結果を保管する

No Comments

DateTimeオブジェクトには、さまざまな命令があります。「date」ファンクションと同じように好きな書式で日時を得ることとができるものなどがあります。こういったことをメソッドと呼びます。インスタンスに「->」という記号をつなげて、その後ろに記述することになります。例えば、商品の金額を合計して、画面に表示し、さらに消費税を足した金額を表示したいというときは、計算結果を一時的に保管しておかないといけません。こういったことができるのが変数というものです。300円の商品と1200円の商品と、200円の商品を購入したときの合計を求めるのは、算術演算子を利用すると簡単です。「print(300+1200+200);です。この合計金額に、消費税込の金額を表示するには、*1.08を加えたらいいのです。これに50円の商品を加えたとなったら、+50を加えたらいいのですが、間違いもしやすくなりますし、面倒です。そこで、いったん「合計金額」を求めたら、それを保管しておいて、画面の表示や税金金額の計算などに再利用するということです。このようなときに変数が利用できます。$変数名=保管したい内容;となります。=というのは、算数の等しいとは違います。プログラミング用語では代入となります。保管する操作を指します。$sum=300+1200+200;というようにすると、$sumという変数に計算結果ではる1700が代入されます。この変数は、printファンクションのなどのパラメーターとして利用することができます。画面には「print($sum);」とします。数字をそのまま扱うよりも、プログラムを理解しやすくなります。再利用しやすくなります。

Categories: Uncategorized

PHP文法だけがプログラムじゃない

No Comments

プログラマーというと、プログラムを作る人です。こういう人はプログラムを書くのが仕事で、一日中、パソコンに向かっているようなイメージがあります。実際はプログラムの構造を考えたり作ったりする時間が重要で、それなしではプログラムを組み立てることもできません。紙と鉛筆と消しゴム、付箋紙といった身近なものを使って、プログラムを考える訓練をしていきましょう。まずはA4用紙にマスを描きます。消しゴムが入る程度の大きさものです。スタート地点からゴール地点までをロボットに見立てて誘導します。付箋紙には「前に進む」と書いて机に貼ります。「右に進む」「左に進む」も書きます。これを順番に貼り付けます。付箋紙プログラムがこれで完成です。プログラムに従って動くロボットです。「前に進む」という付箋紙に対して一歩前進です。また、上から順番にその命令を理解します。「前に進む」「右に進む」とロボットを進ませたいようにプログラムを組み立てます。プログラムを完成させるまではロボットを動かさないように。プログラムが完成してからロボットを動かして、動きを確認します。ゴールに辿り着くまでのプログラムを作る練習をしましょう。作ったら、それにしたがってロボットを動かすようにします。ただしくゴールにたどり着けるようにしましょう。こうして最初のプログラムを完成させます。非常に簡単です。ここから次のステップに進みます。マスを増やしてスタートからゴールまで考えていきます。プログラム開発の難しいところは、ロボットを動かすために2歩も3歩も先を考えながら作っていかなくてはならないところです。想像力が必要です。常に先に先にシミュレーションしていきます。

Categories: Uncategorized

プログラムとコンピューターの関係性

No Comments

何故、新たに難しそうなプログラミング言語と呼ばれるものを習得しなければならないのでしょうか?それはコンピューターについて知ると分かってきます。まず、プログラムの役割について見ていきましょう。さて、何によってコンピューターが動いているのか知っていますか?答えは電気です。電気の状態には2通りあります、流れているか、流れていないかです。その2通りの状態をコンピューターの世界では1と0で表すことにしているそうです。そうすると0と1の2つの状態しか表せないため、コンピューターが扱う基本の数である基数は2となります。これを2進数と呼ぶそうです。このように電気の有無や1と0しか判断する事ができないコンピューターですが、その代わりに、膨大な量の1と0の組み合わせを処理したり演算したりするのがとても速いのだそうです。このようなコンピューターの特性を活用するためにコンピューターに何かして欲しい場合はコンピューターに対してその内容を伝える必要があります。しかし、人間の基数と呼ばれるものは10進数や60進数であるため0と1でできているコンピューターに伝えることが出来ないのです。そんなコンピューターに伝えたい内容を理解してもらうためプログラムが人間とコンピューターの橋渡しをしているのです。先ほど出てきた10進数と60進数に関しても少し見ていきましょう。10進数とは0~9の計10固の数字で数を表現する方法なのだそうです。9まで増えると位が上がり10になるかと思います。60進数は時計などで使われているのですが60秒立つと1分・60分経つと1時間といったように10進数同様繰り上がっていきます。さて、2進数は0と1で表現されコンピューターで使われている言葉ですが、こちらも同様に1の次は10に位が上がります。これは10進数で表現すると10進数で1である2進数の1が10進数で2である2進数の10となるからです。コンピューターは2進数の他にも16進数と呼ばれるものも多く使われており、この16進数では0,1,……9,a,b,……fまで増えると繰り上がります。

Categories: Uncategorized

エスケープシーケンス

No Comments

PHPのプログラムを入力中にエラーが起きてしまうなんてことがあると思います。

例えば、「print(‘I’m fine.’);」だとシングルクォーテーションが文章の一部として入力されているのか、それともPHPの記号として入力されているのか判断が出来なくなってしまいます。

記号が混ざってしまっていたり、どうしても同じ記号を使わなければならない時には「¥」マークを利用するとよいでしょう。

先ほどの「print(‘I’m fine.’);」で試してみるなら

「print(‘I¥’m fine.’);」と記述することで、エラーを回避することが出来るのです。

この「¥」マークは、「¥」の直後の記号をPHPの要素として無視できるようにしてくれるエスケープシーケンスのひとつです。この記号を使うことによって、記号を混ぜたり、同じ記号を重ねたりできるようになります。

「¥」マークに関しては、環境によっては「\(バックスラッシュ)」になります。

上記のようにPHPの制御に使用する記号を、パラメータの中などで使う時に、「¥」または「\」を補足してあげることで使うことが出来るようになります。

Categories: Uncategorized

プログラムは命令文の集まり

No Comments

WebブラウザからWebサーバにアクセスしたとき、Webブラウザと Webサーバは「ヘッダ情報」という目には見えないデータをやりとりしています。

例えば、以下のheader命令では「今から送るデータはHTML文書で、文字エンコーディングは UTF-8 ですよ」ということを、 Webブラウザに知らせています。

01 <?php
02 header(‘Content-type: text/html; charset=UTF-8’);
03 ?>

また、echo命令を使うと、echoの後ろに記述したデータがWebブラウザに送られ、結果としてその内容が表示されます。
文字列(文字が並んだデータ)を表示する場合は「'(シングルク ォーテーション)」もしくは「”(ダブルクォーテーション)」で囲みます。
ブラウザに出力する命令としては、ほかにもprint命令などがあります。

このように、 PHPでプログラムを作るには、 PHPで用意されている命令を組み合わせながら、コードを書いていきます。
まずは、プログラムを書くことに慣れていきましょう 。

Categories: Uncategorized

Webザーバの起動と停止

No Comments

Apacheのインストールが完了すると、Apacheは自動的に起動されます。
タスクバーの右端のインジケータには、Apacheの起動状態を示す赤い羽根のアイコンが表示されます。

環境によってはアイコンが隠れて表示されない場合があります。
その場合には、タスクバーの三角形のボタンをクリックするとApacheのアイコンが表示されます。

手動で、Apacheを起動したり停止したりするには、次の方法で行います。
Apacheのアイコンを左クリックするとメニューが表示されます。
Apacheを起動する場合は「Start」を、停止する場合は「Stop」をクリックしてください。
また、Apacheの起動中に「Restart」をクリックすると再起動できます。

Categories: Uncategorized

入力フォームの作成

No Comments

アンケートアプリケーションで使用する入力フォームを、Smartyで作成する場合の方法についてです。

まず、通初期化処理の関数化は、PHPのロジックファイル内で、他のファイルと共通して行う処理があります。
たとえば、どの画面でもセッションは使いますし、Smartyも画面を出力する画面では必ずインスタンスの生成を行います。
これらの処理をinit()という関数をつくって、すべてのファイルからインクルードして初期化設定とします。
マスターデータを呼び出す関数も、別関数として分けておくとよいでしょう。

次に、入力フォームを司る input.php の作成です。
アンケー卜入力フォームを裏側で表示したり、入力された値を受け取るなどの処理を行うPHPファイル 「input. php」 を作成します。
このinput. phpファイルに遷移してくるパターンは主に3パターンあります。
1つ目に、アンケートを入力しようと初めてアクセスしに来る場合。
2つ目に、アンケート入力後に登録確認ボタンがクリックされて入力された値が POST される場合。
そして、3つ目に、確認画面より戻るボタンにより戻ってきた場合です。
この3点を想定しながらプログラミングします。
2つ目の登録確認ボタンがクリックされたタイミンクでは、入力された値をセッションに保存し、 Location ヘッダを操作して確認画面へ画面遷移するようにプログラミングします。
ここでは、MySmartyを生成して、性別のリストと年代のリストをassignして、Smartyを表示するスクリプ卜を記述しましょう。

⑨ アンケートのHTML入力フォームの作成

テンプレートエンジンSmartyを使用して、アンケートの HTML入力フォームを作成する方法です。
入力フォームは input.php から display により出力されるものですが、入力された値を POST するアクション先は確認画面でなく、出力元である input.php へ遷移します。
自分自身の呼び出し元に戻す形になるため、一見不自然に思われるかもしれませんが、input.php では入力された値が正しいかのチェックを行います。
つまり「入力に関して」の挙動をすべて入力フォーム内で完結させることによって、スクリプトと画面の役割を明確にできるのです。
ここでは、Smarty での性別のラジオボタンの作成と年代のセレクトボックスと好きな動物のチェックボックスリストの作成を行ないます。

また、入力エラーがあった場合は前回入力したものをデフォル卜入力 (選択) されていることを想定しながら input.tpl を定義します。
たとえば、テキストフィールド <input type=”text” >であればvalue属性に前回入力された値をセットしなければなりませんし、ラジオボタン <input type=”radio” >なら「checked=”ch ecked”」を定義するなどの措置が必要となります。

Categories: Uncategorized

便利なテンプレートエンジン「Smarty」

No Comments

今日のWeb開発では、効率的に開発するためにテンプレートエンジンがよく使われています。
その中でも、この章で解説する Smarty というテンプレートエンジンは、マニュアルが充実しており、使いやすいことが特徴です。

まず、SmartyはPHPとHTMLを分離するモジュールです。
PHPスクリプ卜の中に「く?php」と「?>」タグで囲むことで、HTMLの中にPHPプログラムを埋め込むことができます。
それがPHPの特徴であり、直感的にわかりやすく、非常に便利だと思われていました。
しかし、今日のWeb プリケーションでは挙動やデザインが複雑化しており、各専門職のスタッフに分かれて、ひとつのアプリケーションを作成するようになっています。
作業環境が複雑化するに連れて、スタッフ間での作業カが衛突突する可能性も高くなってしまいます。
そこで「テンプレートエンジン」の登場です。
テンプレートエンジンとは、デザイナーとプログラマの作業が衝突しないように、見た目の役割をする HTML / CSS とロジック部分のスクリプトを分離して、平行作業を可能にしたモジュールのことです。
多くあるテンプレートエンジンの中でも、簡単に使える、拡張性高い、マニュアルが豊富、処理速度が速いという特徴を持つ Smarty は特によく使われているのでおすすめです。
ぜひ使ってみてください!

Categories: Uncategorized

変数のデータ型

No Comments

スクリプトの中で扱うデータには、さまざまな値があります。整数・小数・文字列・TRUE / F ALSE (真/偽 )などの種類があり、データ型を意識しながらプログラミングを行わなくてはい けません。

また、文字列の扱いについて、文字列を表現する場合は、シングルクォーテーション (‘ ) かダブルクォーテーション (“)で括る必要があります。 シングルクォーテーションで括られた文字列内でシングルクォーテー ションを表現したい場合は、文字列の終端ではないことを表すためにシングルクォーテーションの前に「¥」を記述します。 これを「エスケープする」と言います。 タブルクォーテーション内でダブルクォーテーションを扱うう場合も同様です。

通常どちらを使ってもかまいませんが、ダブルクォーテーションで括った場合、 クォーテーション内に記述された「改行コー ド (¥n ) Jや 「タブコード (¥t ) 」などのコードを解釈します。 また、その中の変数も展開されます。

実は、PHP は他の言語に比べて変数のデータ型が暖昧です。文字列型でも式の構成によっては数値型・論理型に自動変換されて演算が行われます。たとえば、文字列同士の演算でも、数値に変換することかできる場合は数値型として処理されます。

Categories: Uncategorized

PHPの特色(HTMLに埋め込んで書ける)

No Comments

PHPはHTML埋め込み型言語です。
まずWebブラウザに表示される基本となるものはHTML文書によって書かれています。
PHP言語はこのHTMLの中に埋め込むことが可能ですので、条件によって表示内容を
切り替えたり、ある機能を動作させたい場合に、PHP言語を埋め込んで書くことにより
Webブラウザの表示が動的に変わります。

PHPはこのようなHTMLの埋め込みが行えるのでWebアプリケーション作成に向いている言語です。

WebブラウザはHTMLやPHPによって書かれたものを上から順番に読み込み、表示が行わます。
このようにWebブラウザがHTMLやPHPなどによって書かれたものを上から順番に読み込み
Webブラウザのほうで書かれた内容を解釈し、結果として表示されるように書かれたHTMLや
PHPなどをスクリプト言語と呼びます。

記述例)
<html>
<?php
PHPのプロクラム
?>
</html>

上記のようにHTMLの中に埋め込んでPHPのプログラムを記述します。
「ここからここまでがPHPのプログラム」ということを認識させるために、PHPのプログラムの
開始部分は、<?php の開始タグを付けて、終了部分は ?> の閉じタグを付けます。

また、埋め込みたい場所が複数個所に分かれている場合には、
<html>
<?php
PHPのプロクラム
?>

<?php
PHPのプロクラム
?>

<?php
PHPのプロクラム
?>

<?php
PHPのプロクラム
?>

</html>

PHPプログラムを埋め込みたい場所に開始タグと閉じタグを付けて記述します。

PHPで書かれているプログラムはWebサーバーが動いているサーバーコンピュータで
実行されます。

Webサーバーとは、Webブラウザからの要求を受け付け、HTML文書や画像などのデータを
Webブラウザに送り返しすコンピュータのことです。

PHPに限らずWebサーバー上で実行されるプログラムのことをサーバーサイドスクリプト言語とも
呼びます。

PHPのように誰もが無料で使用することができたり、改良に参加でき、再配布できるようにしたものを
オープンソースと呼びます。

Categories: Uncategorized Tags: Tags: