トップ 言語 PHP

PHP―PHPとはからやさしく解説。for文やmysql、ページングの例など。

プログラミング言語のPHPについてまとめています。読み方はピーエイチピーです。for文やmysql、ページングの例など、PHPとは?からやさしく説明しています。

目次

この記事の目次です。

1. PHPプログラミング入門(PHPとは)

2. PHPプログラミング基礎(文法)

3. PHPプログラミング基礎(標準関数)

4. PHPプログラミング環境(サーバの設定など)

5. PHPプログラミング実践(mysql、ページングなど)

6. PHPプログラミング応用(フレームワーク、CMSなど)

更新履歴

1. PHPプログラミング入門(PHPとは)

PHPとはどのような言語か簡単に見ていきます。

主にホームページ向けに作られたプログラミング言語

PHPは、主にWebサーバーと連携してWebページを動的に生成することを主目的に作られた、スクリプト式のプログラミング言語です。

Webページは、言いかえるとホームページのページです。WebページはHTMLというマークアップ式の言語で記述します。 HTMLで作成したファイルを、Web上に公開されているWebサーバに設置することで、ホームページのページがブラウザからアクセスして見れます。

このHTMLは、記述したものをそのまま表示するものです。基本的に条件に合わせて自動で表示内容を変更することができないです。 PHPを利用することでWebページを動的に生成することができます。

なお、PHPは、Webだけでなく、その他にGUIやコマンドラインなどのプログラムも作れます。

MySQLと連携して利用されることが多い

CMSで有名なWordPressもPHPで作られていいます。 HTMLを条件に合わせて自動で表示内容を変更することで実現しているWeb上で利用できるツールです。 PHPとMySQLを連携して作られているツールです。

MySQL

MySQLとは、Excelのようにデータを表形式で保存する専用のソフトです。 データを保存するのに特化した専用ソフトで、それだけでは、何もできないソフトです。一般的にそのような専用の処理を行うソフトをミドルウェアといいます。

つまり、MySQLはデータ保存部分の機能に特化したソフトです。 WordPressなど、PHPのプログラムで作られたWebツールやシステムは、よくこのMySQLを使用して、データの保存部分の機能を実現しています。

なお、MySQLについての詳しい説明は以下にまとめています。

詳細

歴史

PHPは、1995年にRasmus Lerdorf氏により「Personal Home Page Tools」という名前で開発されました。 もともとはオンラインに置いてある彼の履歴書へのアクセスを解析するためのものでしたが、その後改良されて現在のPHPとなりました。

正式名称

正式名称は、Hypertext Preprocessor(ピー・エイチ・ピー ハイパーテキスト プリプロセッサー)です。 オブジェクト指向にも対応しており、クラスの定義や継承、インタフェースの定義、クラスメンバのアクセス制御の機能が利用できます。 CakePHPなど高度なフレームワークがあり、WordPressのような世界中で利用されているPHP製のCMSがあります。

特徴

PHPの特徴としては次のようなことがあげられます。

設定ファイル

PHPスクリプトを実行するときの動作はPHPの設定ファイル(php.ini)で指定します。 php.iniはPHPをWebサーバのモジュールとして実行するときにはWebサーバの起動時に読み込まれます。 また、コマンドラインから実行するときには実行のたびに読み込まれます。

拡張子

PHPファイルの拡張子は、一般的に.phpが利用されます。

2. PHPプログラミング基礎(文法)

書き方が分からないとPHPプログラミングが始められません。 まずは文法を覚えることが必要になります。 ここでは、ダブルクォーテーションのエスケープ、for文、関数などの文法をテーマにPHPプログラミングの基礎知識をまとめています。

詳細

3. PHPプログラミング基礎(標準関数)

PHPには標準でたくさんの関数が利用できます。 これらの関数はまさにPHPプログラミングの基礎といえます。 ここでは、文字列置換や乱数生成などPHP標準の関数をテーマにPHPプログラミングの基礎知識をまとめています。

詳細

4. PHPプログラミング環境(サーバの設定など)

「.htaccess」などPHPの環境面の内容をまとめています。

「.html」の拡張子のファイルでPHPを実行する方法

「.html」の拡張子のファイルでPHPを実行する場合は、以下の設定を「.htaccess」に記述します。

AddType application/x-httpd-php .php .html

5. PHPプログラミング実践(mysql、ページングなど)

mysql、ページングなどのサンプルを紹介していきます。

Webアプリケーション

PHPで作成したWebアプリケーションのサンプルです。

簡単なWebアプリケーション

PHPで作成した簡単なWebアプリケーションのサンプルです。

サンプル

public_htmlはHTML公開用のディレクトリでlibはライブラリ用のディレクトリとして、 今回はindex.phpからWebApplication.phpを読み込んで機能を利用します。

lib
└─com
     └─zealseeds
             WebApplication.php
public_html
      index.php
公開用ファイル(index.php)
<?php
include_once '../lib/com/zealseeds/WebApplication.php';
$webapp = new WebApplication();
echo $webapp->doGet();
?>
非公開ファイル(WebApplication.php)
<?php
class WebApplication {

	private $html = "Hello World!!\n";

	public function doGet() {
		return $this->html;
	}
}
?>
実行方法

phpがインストールされている環境でphpコマンドにパスを通して、以下のように実行します。

> php index.php
Content-type: text/html

Hello World!!

また、Webサーバ+PHPを構築したサーバのHTML公開用のディレクトリにソースファイルを配置して、 ブラウザよりindex.phpアクセスすると「Hello World!!」と出力されます。

mysql

mysqlを使用したPHPのサンプルを見ていきます。

Webアプリケーション

PHPからmysqlを使用したWebアプリケーションのサンプルです。

サンプル

例えば、この機能を使うとはじめの一回ライブラリのパスを設定すればよくなり、自前のライブラリを作りやすくなります。

public_htmlはHTML公開用のディレクトリでlibはライブラリ用のディレクトリとして、 今回はindex.phpからWebApplication.phpとMySQLClient.phpを読み込んで機能を利用します。

/home/user
├─lib
│  └─com
│      └─zealseeds
│          │  WebApplication.php
│          │
│          └─connection
│              └─mysql
│                      MySQLClient.php
└─public_html
        index.php
公開用ファイル(index.php)
<?php
set_include_path('/home/user/lib');
include_once 'com/zealseeds/WebApplication.php';

$webapp = new WebApplication();
echo $webapp->doGet();
?>
非公開ファイル(WebApplication.php)
<?php
include_once 'com/zealseeds/connection/mysql/MySQLClient.php';

class WebApplication {

	private $html = "";

	public function doGet() {
		$mysql = new MySQLClient();
		$body = $mysql->doSelectOne('select body from pageinfo where id=1', 'body');
		$this->html = "<html><body>" . $body . "</body></html>\n";
		return $this->html;
	}
}
?>
非公開ファイル(MySQLClient.php)
<?php
class MySQLClient {

	public function doSelectOne($sql, $col) {
		$con = mysql_connect('localhost', 'dbuser', 'password');
		$db_selected = mysql_select_db('dbname', $con);
		mysql_set_charset('utf8');
		$result = mysql_query($sql);
		$row = mysql_fetch_assoc($result);
		$value = $row[$col];
		mysql_close($con);
		return $value;
	}
}
?>
DB準備
> mysql -u dbuser -ppassword
mysql> create database dbname;
mysql> use dbname;
mysql> create table pageinfo(id int PRIMARY KEY, body VARCHAR(64));
mysql> insert into pageinfo values (1, 'Hello World!!');
mysql> quit
実行方法

phpがインストールされている環境でphpコマンドにパスを通して、以下のように実行します。

> php index.php
Content-type: text/html

<html><body>Hello World!!</body></html>

また、Webサーバ+PHPを構築したサーバのHTML公開用のディレクトリにソースファイルを配置して、 ブラウザよりindex.phpアクセスすると「Hello World!!」と出力されます。

ページング

PHPのページングのサンプルです。

<?php
$paging_start = 0;
if (!empty($_GET['start']) && is_numeric($_GET['start'])) {
	$paging_start = (int)$_GET['start'];
}

$paging_num = 20;
if (!empty($_GET['num']) && is_numeric($_GET['num'])) {
	$paging_num = (int)$_GET['num'];
}

for ($i = $paging_start; $i <= $paging_start + $paging_num; $i++) {
	if ($i >= $search_result_count) {
		break;
	}
	echo '<p>' . $i . '件目</p>';
}

echo '<ul>';
if ($paging_start >= $paging_num) {
	echo '<li><a href="//' . $_SERVER["HTTP_HOST"];
	echo  $_SERVER["REQUEST_URI"];
	echo '&start=' . strval($paging_start-$paging_num);
	echo '&num=' . strval($paging_num);
	echo '">前の' . $paging_num . '件</a></li>';
}

if ($paging_num < $search_result_count) {
	echo '<li>' . strval($paging_start+1);
	echo '-' . strval($paging_start+$paging_num) . '件</span></li>';
}

if ($paging_start+$paging_num < $search_result_count) {
	echo '<li><a href="//' . $_SERVER["HTTP_HOST"];
	echo $_SERVER["REQUEST_URI"];
	echo '&start=' . strval($paging_start+$paging_num);
	echo '&num=' . strval($paging_num);
	echo '">次の' . $paging_num . '件</a></li>';
}
echo '</ul>';
?>

PHPのデバック方法

PHPのデバック方法について見ていきます。

var_dump()

var_dump()関数を使用することで変数の値が出力できます。

echo "<pre>";
var_dump($array);
echo "</pre>";

6. PHPプログラミング応用(フレームワーク、CMSなど)

フレームワークやCMSなどPHPプログラミングの応用知識をまとめています。

Laravel

2011年ころにリリースされ、人気が急上昇しているのがLaravelです。 もしPHPのフレームワークを学習するならLaravelがおすすめです。

Laravelとは

Laravelとは、Taylor Otwell が開発したMVCモデルのWebアプリケーション開発用フレームワーク(オープンソース)です。 公式サイトでは、表現力豊かでエレガントな構文を備えたWebアプリケーションフレームワークと紹介しています。 MITライセンスで公開され無料で利用できます。

WordPress

PHPの制作を行っている場合、WordPressが触れないとつらいですね。WordPress(ワードプレス)についてまとめています。

詳細

更新履歴

更新履歴になります。

戻る

スポンサーリンク

サイト内のページ

言語
C・C++ /HTML /Java /JavaScript /PHP /シェルスクリプト

開発環境
Ant /Eclipse /gcc /gdb /Git /g++ /JDK /JUnit /ZAP

技術・仕様
Ajax /CORBA /Java EE(旧称J2EE) /JNI

ライブラリ/Framework/CMS
bootstrap /jQuery /Lucene /MyBatis /Spring /Struts /Seasar2 /WordPress

ITインフラ OSとミドルウェア
Linux /Windows /シェル
Apache/Tomcat /MySQL /Redis /Solr /vsftpd

ITインフラ PC 製品
ZOTAC

ITインフラ サーバー
Web公開サーバー構築

ITインフラ ネットワーク
プログラミング /機器 /構築

ITインフラ セキュリティ
公開サーバーのセキュリティ

SI
ホームページの作り方 /小さな会社のISMS

その他
IT用語 /ITスキル体系 /トレンド履歴

スポンサーリンク

関連サイト内検索ツール

zealseedsおよび関連サイト内のページが検索できます。

IPアドレス確認ツール

あなたのグローバルIPアドレスは以下です。

34.225.194.144

HTMLの表示色確認ツール

パスワード生成ツール

文字数のプルダウンを選択して、取得ボタンを押すと「a~z、A~Z、0~9」の文字を ランダムに組み合わせた文字列が表示されます。

ここに生成されます。

スポンサーリンク