PHP初心者が学習したことを忘れないように/復習のために自分用にまとめ。
目次
PHPの特徴
・<?php
から始まって ?>
で終わる。
・ブラウザでアクセスした時に、プログラムが実行。
・命令の区切りに;(セミコロン)。
・空白は無視される。スペースや字下げは自由。
・ PHPプログラムが含まれていることを、webサーバーに通知させるため、htmlの拡張子を.php
にする。PHPでプログラムを書いたとしても、拡張子が.html
だとPHPプログラムの処理が行われない。
→ Webサーバがphpを認識→phpプログラムを処理→処理後の結果をクライアントに返す
(Webサーバ側によって処理されるため、クライアント側ではどのようにPHPプログラムを記述しているかは不明となる。)
・PHPはHTMLに埋め込むことができるスクリプト言語。
スクリプト言語とは、ソースコードを書いてすぐ動作する言語。
Error 403 (Forbidden)|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典403エラーページです。用語の意味を「ざっくりと」理解するためのIT用語辞典です。
気をつけるべき点
・ファイル名は日本語を避ける。半角英数字で記入(原則として統一する)。
→UNIX系サーバーはファイル名の大文字・小文字が区別されるため。
・ドキュメントルートには、情報(プライベートなもの)を置かない。
→別のディレクトリに保存することで、webブラウザから直接アクセスできなくする。プライベートなファイルを閲覧可能な状態にさせない。
・複数のユーザーが同時に使用する可能性があるプログラムは、ファイルのロックを行う。
→同時に処理することでファイルの中身が壊れてしまうことがあるため。同時に処理をしないようにすることを”ファイルのロック”と呼ぶ。
・まずはどのような仕様にするかを決める。動きながら決めても良いが、ある程度決まっていないとかなり大変。個人的な、大したことないプログラムでも、後から修正するのは大変。ここらへんは慣れか。
・最初に変数に何らかの値を代入することを「変数の初期化」と呼ぶ。if文で何も値が入力されていない変数を使用すると、エラーになる。忘れずに変数を初期化する。
・PHPとHTML,CSSなどは切っても切り離せない関係。
スクリプト言語の利点と欠点
利点
・すぐ動く
・比較的容易
欠点
・用途が限定される(ときがある)
・速度が遅め
・大規模開発に向かない
コメントの書き方
複数行
1行のコメント
//
#
シングルクオートとダブルクオートの違い
→中の変数が値に展開されるかどうか。
エラーメッセージ
unexpected end of file エラー
たいてい;や()を忘れている。エラー表示の行から上にチェックしていく。エラーが表示される行のみにエラーがあるわけではない。それより前。
Filename cannot be empty
引数のファイルパスが空。NULLを設定。
…エラー発生したら、エラー文字でググる。
includeとrequire
外部ファイルを読み込む。テキストファイルやHTMLファイルも可能。
require_onceは同じファイルを2回読み込まない。
→変数が再定義されたりするのを防ぐ。
requireは外部ファイルの読み込みに失敗すると、致命的なエラー(Fatal error)
include文は外部ファイルの読み込みに失敗すると、警告(Warning)
配列のデータ表示
配列を文字に変換することはできない。
→エラー文Array to string conversion
配列にechoは使用不可能。printもエラー。
print_rやvar_dumpは使用可能。
変数に関する情報をダンプ
web API
URLの後ろに&をつけて、要素を取得。リファレンスに沿ってパラメータをつける。
ベースURL + パラメータ
http://....... ? パラメータ & パラメータ & ....
xml,jsonが一般的。
json : JavaScript Object Notationの略でデータフォーマットの一種。 JavaScriptプログラミング言語 の一部をベースに作られている。
WebAPIについての説明
WebAPIについての説明 - Qiitaはじめに 新人への説明の為に書きました。 元々は社内勉強会用のスライドのメモだったものを、いい感じに直して公開する事にしました。 「勉強は真面目にするものだ」と考えている人には向きません。 「技術的な事は正確でなければいけない」...第5回・XMLファイル|CSV、XML、JSON…データフォーマットの変遷について考える
第5回・XMLファイル|CSV、XML、JSON…データフォーマットの変遷について考える - GiXo Ltd.フラットファイル→CSV→XML→JSONというデータフォーマットの変遷について考察していきます|第5回
htmlから値を取得/WEBスクレイピング
phpQuery…DOM操作ができるPHP用ライブラリが存在。
その他
HTMLタグを無効
htmlentities()関数を使用。HTMLタグが無効化、ただの文字列として扱われる。
PHP HTMLタグを無効にする htmlentities() | WEPICKS!htmlentities()関数にって、文字列中のHTMLタグを無効にする(HTMLエスケープ) すると、HTMLタグはただの文字列として扱われるので、ブラウザ上でも通常の文字列として表示されます。
for
Cのforループと同様に動作。
配列の要素をランダムに取得
結合演算子
ピリオド(.)
「$_POST」
PHPで用意される特殊な変数(配列)。HTMLのフォームから送信されたデータは、POSTメソッドで送信された場合「$_POST」に代入される。GETメソッドなら、「$_GET」に代入される。