PHPの基本事項

久しぶりにPHPを触るたびに忘れている事を書いておく。

<?php で始まり、
?>で終わる。
ファイルそのものが.phpなのはもちろんだが、サーバー設定で追加(下記参照)さえすれば.htmlでも.senyoukakutyoushiでもなんでも動かす事ができる。 .phpであっても普通にHTMLとして書けるし、HTMLのソース内どこにでも組み込む事もできる。head内でもbody内でもどこでもOK。


変数は初めに$を書き、
$hensuu
のようにする。
宣言は無く、当然型指定もない(自動)ことになる。(一応キャストはある)
一般的な範囲でスコープもあり、グローバル変数とする場合は
global $hensuu
のようにする。


演算子はCなどとほぼ同じ。
文字の連結は"."ピリオドも使える。
Perlのようにひとつの演算子に無駄にいくつも種類があるわけではないので、 この1点だけを取ってもPHPの方が付き合いやすい。


@(アットマーク)を関数の前に付けると、エラーの場合にエラーログが出力されない。 これはerror_reporting()の短縮形式みたいなもの。 error_reporting(0)で全てのエラーを出力しない、(-1)で全てのエラーを出力する。 関数の先頭に@(@file、@fopen等)を付けると(0)と同じくエラーが出力されない。 テストでは常に付けず、本番ではエラー時に出力されないように付けるという感じ。


CGIと同じく、PHPがサーバーに組み込まれていないと動かない。 当然、通常のパソコンで.phpファイルを開こうとしても動かず、ファイルの保存になる。 ApacheとPHPなどを一通りワンパックとしているフリーウェア(xamppなど)もあるので、クライアントPCでの動作確認はとてもお手軽になった。


デバッグの環境というものがないので、変数の動きなどは主に出力関数で監視する。 print ($test . " ○○の変数"); みたいな感じ。 少し大きなプログラムになると使う変数も多くなるので、 予め全変数出力部分を作ってページの上部や下部に表示させておくと良い。 これは開発中は常に表示させておき、完全に完成した時に初めて消す。


htmlでPHPを動かす方法。
レンタルサーバーやローカルサーバーのテスト環境などで、 htmlでPHPが動くようにするには、.htaccessに

AddType application/x-httpd-php .html

とする。 レンタルサーバーの場合、安価な物ではAddTypeの使用・変更が許可されていないところもある。 その場合AddHandlerが使えるなら

AddHandler php5.2-script .html

のようにする。当然、指定するバージョンが使える事が前提。 有名なところではヘテムルやロリポップがこちらしか使えない様子。



サンプル

著作権について
ファイルからデータの読み込み
ファイルへのデータの書き込み
フォルダ内のファイル名取得
アクセスカウンターの作り方
アンケートの作り方
フォームからのデータの取得
フォーム以外のページからのデータの取得
ファイル内、文章内の文字列の検索
パスワード認証の方法と作り方

0から始めるPHP

PHPのすすめ(これ飛ばしてもいい)
必要な環境とPHPへのアクセス
開発に使うもの
初めての方への注意点
PHPの基本(何らかの言語経験者向け)
PHPの基本(初めての人向け)
書き方
ファイルの読み込み

プログラミング講座
文字などの出力
PHPにおける変数
ifによる条件比較
forによる繰り返し処理
PHPにおける配列
これまでとこれからの学び方

PHPの使える
おすすめレンタルサーバー

スタードメイン

レンタルサーバーの選び方


その他

プログラミングのコツ
プログラマーと年齢
誰でも簡単にできるサーバー負荷対策
社内や自宅サーバーのグローバルIPアドレスが変わってもアクセスできるようにする

日記

2014年
日本語形態素データとキーワード出現回数
Androidベースのゲーム機に期待
4月末に判明したIEの脆弱性について
フラッシュプレーヤーの製作
ホームページとウェブサイトの違い
WIFIなどの用語は正しく使いたい
国産ゲーム会社のサイトについて
検索エンジンの開発について
プレインストールWindowsからの脱却
Android・iPhoneとアプリ開発
Windows8、スタートボタンはもういらない?
サイトの作成とやるやらないは別
あの人は詳しいと言う人と言われる人
index.htmlと/の正規化について
AndroidOSとLinuxOS
モバイル端末で必ず見るもの
ユーザー参加型市民アプリ

2013年2月
2013年1月
2012年12月
2012年11月
2012年10月
2012年9月