PHP
PHP
PHP
Arrow
Arrow

作業用フォルダの作成

Web 上に公開するHTML文書や画像などのファイル、および、Webからのアクセスによって起動するPHPなどのプログラムファイルは、 Webサーバが管理する所定のフォルダ以下に置いておく必要があります。 このフォルダをドキュメントルートといいます。 言い換えると、ドキュメントルート以下(サブフォルダも含む)に置いたファイルでなければ、Webからアクセスできません。 データファイルなどのブラウザから見る必要のないファイルは、 ドキュメントルート以外のフォルダに置いてください。 ドキュメントルートがどこのフォルダになるかは、Webサーバの設定によって決まります。 Apacheをインストールすると、そのままの状態では、以下のフ ォルダがドキュメントルートになっています(Apacheのバージョンにより異なる場合があります)。

HTML埋め込み型のプログラミング言語

Webブラウザ上に表示される基本となるものがHTML文書ですが、PHPのプログラムはHTML文書の中に部分的に埋め込んで記述します。 埋め込んだプログラムの処理により、Webアプリケーションの表示内容や機能を状況に応じて変化させることができます。 PHPはこのような方式をとっているため、Webアプリケーションの作成に向いているといわれます。 PHPWebアプリケー ションの開発に必要な多くの機能が拡張モジュールという形式で用意されています。 たとえば、データベース操作、メール送受信、暗号化、PDF作成など、すべては挙げられないほど数多くあり、私たちはそれら を利用してプログラムを作成できます。

入力フォームの仕組み

PHPは動的にWebページを作成するためのプログラミング言語ですが、 逆にWebページ (HTML)からフォームなどで入力されたデータなどをPHPが受け取ることもできます。 では、WebブラウザからPHPへどのようにデータが受け渡されるのかというと、 入力データはHTTPヘッダを通じてサーバに送信されます。 WebブラウザからPHPヘデータを受け渡す例として、入力フォームがあります。 入力フォームを使うと、ユーザーがテキストボックスやセレクトボックスに値を入力し、 サーバに送信することができます。 入力フォームでは、必ずひとつ以上の送信ボタンが必要です。 送信ボタンを作成するには、「<input type=”submit” >」と記述します。 送信ボタンをクリックすると、入力フォームの範囲のデータがサーバに送信されます。 その際、送り先を指定しているのが、form タグの action 属性です。 form 要素では method 属性を指定できます。 method 属性は、データの送信方法を指定します。 ここで指定できる送信方法には、「POST」と「GET」の2種類があります。

foreach構文

foreach構文は、指定した配列の要素の数の分だけループするための構文です。for構文や while構文と挙動は同じであり、ループ内では continue 句と break 句カf使えます。foreach構文は、配列のキーが数値でない連想配列に対応するために考えられた構文ですので Java や C言語には存在しません。 連想配列の概念が存在しないプロクラム言語では、配列の最大要素数を調べ、要素数回文ループすることが一般的でした。foreach構文を使えば、要素数をあらかじめ数えておく必要がなく、配列の要素数回分ループすることが特徴です。 また、配列要素を変数に取り出しながらループするので、非常に利便性の高い構文です。 ループ内でキー要素を取得して利用したい場合は、キーを取得する変数を指定してループ内で取得することカずできます。キーを取得すると処理速度が落ちますので、ループ内で必要としない場合はキーの取得変数を指定しない方が良いです。

PHPを実行するために必要な環境

PHPは、スクリプト型言語で、実行環境があればプログラムをそのまま実行できます。 では、どのような環境が必要なのでしょうか。以下の図を見てください。これは、PHPを使ったWeb サイトにユーザーがアクセスする過程を簡略化して表現したものです。まず、ユーザーがWebブラウザのアドレス欄にURLを入力すると、Webサーバにリクエス卜が送信されます。このリクエストをWeb サーバが受け取ります。WebサーバはURLをもとにHTMLを表示するリクエストかPHPプログラムを実行するリクエストかを判断します。 また、リクエス卜の際、Webブラウザから入力が行われることがあります。 たとえば、PHPを使え、掲示板やブログシステムはもちろんのこと、ネットショップのショッピング カートシステム、ホテルや飛行機チケットの予約システムなどといった複雑な機能を持つWebサイトを作成することができます。 掲示板ならユーザーが入力した「タイトル」や「本文」などのデータが、Webサーバに送信されます。PHPだけでは、これらの送信データを保存しておくことができません。そのため、データの保存庫としてデータベースが使われます。このように、PHPを利用するには、最低でも「Webサーバ」「PHP 本体」が必要です。ただし、ほとんどの場合「データベース」も一緒に使用されています。

PHP開発環境の構築

Linux上でApacheをインストールした時と同様にrootユーザーにてyumコマンドを使用し、以下の レポジトリーをPHPのインストールの前に追加します。 EPELリポジトリを追加します。 以下のコマンドを入力します。 # yum install epel-release または #rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm Remiリポジトリを追加します。 # rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm さて、いよいよPHPのインストールです。 はじめてインストールしたLinuxであれば、以下のコマンドは不要なのですが、PHPが既に入っていると 新たにPHPをインストールした時に影響が出るのは避けたいので念のため以下のコマンドを実行してPHPを 削除してください。仮にPHPが何も入っていないとしたら、PHPに関連したものは何も削除されませんし、 何かPHPに関連したものが入っている時はすべて削除されます。 rootユーザーで以下のコマンドを入力してください。 # yum remove php-* 次にPHPをインストールします。 rootユーザーで以下のコマンドを入力してください。(PHP5.6をインストール) # yum install –enablerepo=remi,remi-php56 php php-devel php-mbstring php-pdo php-gd php-xml php-mcrypt…

ラジオボタンと選択ボックスの差異とは?

 テキストボックスと違い、事前に決定された選択肢から値を選択してほしい場合に使用します。具体例を示すと、性別(男と女)や都道府県などです。ここで提示された選択肢はひとつだけしか選択することができません。  ラジオボタンと選択ボックスの大きな差異は、選択肢が最初から画面上に全部表示されている かどうかという点です。 その性質のため、選択ボックスの方が、選択肢の増減に関わらず、画面レイアウトを大きく崩さずに済むというメリットがあります。そのメリットの反面、選択ボックスでは一度ユーザーがクリックして選択肢をポッ プアップしてから選ばなければならないので、ラジオボタンよりもユーザーに強いるアク ションが若干多くなります。 非常に細かなことですが、両者のメリットとデメリットをきちんと確認して使うようにしましょう。

スライダー

連続した数値を指定させたい場合に利用します。数値入力ボックス(number)にも似ていますが、マウスドラッグで値を変更できることかう操作しやすい、視覚的に大小を把握しやすいなどの特長があります。HTML5で追加された新要素です。 隠しフィールド   やや特殊なフォーム要素です。名前の通り、自に見えないフォーム要素で、あらかじめセッ 卜された値をユーザーが変更することはできません。アプリを制御するための内部的な情報 などを受け渡しする場合に利用します。

Eclipseのインストール

今回、紹介するのは「Eclipse(工クリプス)」という開発環境です。これはEclipse Foundationという団体によって開発されているオープンソースのソフトウェアです。オンラインで無償配布されており、設でも入手して使うことができます。 現在、3.5というパージョンが最新のものとなります。これは「Galileo (カ‘リレオ)」という名称で呼ばれている、Eclipseの最新版です。本書ではこのパージョンを使って説明を行います。 このEclipseという開発環境は、プラグインの形でさままな機能拡張ができるようになっています。本来、Javaの開発を主眼として作成されたものですが、このプラグイン機能によりPHPの開発にも利用することができます。現在、PHP専用の開発環境というのはあまり出ていません。そうした現状においては、この「PHPのためのプラグインを追加したEclipse」というのは、かなり強力なツールといえます。もともとJavaの開発環境として定評のあるものですので、開発のための基本的な機能は一通り揃っています。 「PDT」と呼ばれるPHP開発用プラグインを利用します。このPDTは、通常のEclipseではなく、「EclipseWeb Tools Platform (WTP) 」と呼ばれるものが必要となります。このWTPというのも、やはりEclipseのプラグインで、Web開発に関する多くの機能が用意されています。 今までは、これを利用するためにEclipse本体の中にWTPをはじめとする各種のプラグインをインストールする必要がありました。が、これは正直いって、「初めてプログラミングをやってみよう」という人には少々荷が重過ぎます。インストールするプラグインをすべて集め、更には正しいパージョンであることをチェックして組み込まなければいけません。どこかで間違えると、もう動かないのです。 そこで、Eclipseの開発元であるEclipse Foundationという団体では、主な用途ごとに、あらかじめ必要なプラグインを組み込み済みになっているパッケージをいくつか用意することにしました。これは、すべて必要なものが組み込まれ設定済みになっているので、ただダウンロードするだけで使えるようになります。

いろいろな日付がわかる「日付関数」

31日であるとは限らない月末日を、どう処理するか? 月末日を表示する処理は、どのように考えれば良いでしょうか。たとえば、今日の日付を基準に、何らかの期限が「翌々月の月末日」に来ることもあるでしょう。 月末日が31日とは限らないので、単純に「月に2を加算して日を31に設定Jという処理を組み立てるわけにはし1かないでしょう。そもそも、「月lこ2を加算してJは、どのようなコードを書けば良いのでしょうか。日付の扱い方も理解する必要がありそうです。 「いつの日付を」「どのような形式で」が指定できれば便利 プログラミング言語を学ぶときは、扱う日付や時刻について、「いつの日付を」と「どのような形式で」を分けて考えるのが一般的です。「いつの日付を」は、処理で使う日付のことを指します。プログラミング言語の内部処理で使われる日付のことです。その意味は後でわかります。「どのような形式でJとは、処理対象の日付を表示するときの見た目の形式(フォーマット)のことを指します。たとえば、「20l2年2月29日」や「2012/2/29」などです。 まとめると、次のような日付関数があれば、処理の組み立てに役立つはずです。