整理PHP的学习内容
因为开始学习PHP,所以首先我会总结在在线课程中学到的知识。
在这门课程中,通过使用WordPress创建博客来学习PHP是主要内容。
目次
-
カリキュラムで学んだこと一覧
- カリキュラムで学んだこと一覧
-
- SLスタジオで学習して補充した知識
課題
学习课程所获取的知识清单为了在稍后查阅时能像索引一样使用,我会将参考网站与一览表一起列出来。
-
Mac:ターミナル、Windows:コマンドプロンプトについて
- Mac:ターミナル、Windows:コマンドプロンプトについて
Mac:ターミナル、Windows:コマンドプロンプトの基本的なコマンド
Mac:ターミナル、Windows:コマンドプロンプトでPHPファイルを実行する
PHPの記述方法
https://www.modis.co.jp/candidate/insight/column_40
PHP.iniファイルの設定
https://www.tairaengineer-note.com/how-to-check-php-ini/
変数について
変数とは
変数に名前を付けるルール
変数の代入
データ型
スカラー型:論理型、整数型、浮動小数点型、文字列型
演算子の使い方:代数演算子、加算子/減算子、文字列演算子、代入演算子、比較演算子
配列
キーや要素の数を取得する
配列を追加する
配列の値を変更する
配列の入れ替え
配列のキーを削除する
while文とは
条件式の書き方
while文におけるbreake
while文におけるcontinue
while文の無限ループ
for文とは
条件式の書き方
for文の入れ子で高い層にしたループ
for文におけるbreakとcontinue
条件分岐とは
if文の使い方
if文におけるelse、elseifの使い方
論理演算子:and、or
連想配列とは
連想配列の初期化
連想配列の追加、結合
wordpressブログ作成とPHP
テーマの変更方法
自動インデントのコマンド
-”Shift”+”Alt”+”F”を押すと自動でインデントがつく。
ただし、PHPフォーマッタをインストールする必要がある。←プラグイン「PHP Intelephense」などをインストールする。
インストールするとテンプレートタグがエラー表示になるため、設定を変える必要がある。(Windowsの場合)ファイル>ユーザー設定>設定>「undefined functions」を検索して、チェックボックスを外す⇒エラーが出なくなる。
テーマの変更方法
テンプレート階層とは
https://wp-exp.com/blog/template-hierarchy/
プラグイン「Query Monitor」を使ってファイルを確認する
オリジナルテーマの最小構成
https://webst8.com/blog/wordpress-theme-howto-make/
子テーマの作成
https://www.conoha.jp/lets-wp/wp-childtheme/
https://miya-system-works.com/blog/detail/152
ベーステーマ「Clean Blog」を使ってオリジナルブログを作成する
テンプレートタグとは
https://digitor.jp/textbook/template-tag/
記事のタイトルを表示する-
https://deep-blog.jp/engineer/15060/#:~:text=%E6%8A%95%E7%A8%BF%E8%A8%98%E4%BA%8B%E3%81%AE%E3%82%BF%E3%82%A4%E3%83%88%E3%83%AB%E3%82%92,get_the_title()%E3%82%92%20%E4%BD%BF%E3%81%84%E3%81%BE%E3%81%99%E3%80%82
記事の投稿者を表示する-
https://wpdocs.osdn.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/the_author
PHPループとは
https://digitor.jp/textbook/wordpress-loop/
投稿の数だけ記事を表示させるループの記述方法
~~(繰り返したい内容)~
https://php1st.com/1202
記事の投稿日を表示させる
-、
https://thewppress.com/libraries/get-the-date/
記事の抜粋を取得・表示させる
-抜粋を表示:
抜粋の表示を確認する方法:「lorem ipsum」と検索し、表示されるダミーテキストをコピペして確認する
https://dic.nicovideo.jp/a/lorem%20ipsum
投稿の個別ページ作成-the_permalink
テンプレートファイルをパーツにする
-index.htmlからhead部分をまるまる切り取る。header.phpファイルを作り、それを貼り付ける。
footerにあるscript要素群を切り取る。footer.phpファイルを作成し、それを貼り付ける。
元の場所(呼び出したい場所)にそれぞれ、を張り付ける。
http://wordpress.hitsuji.me/template-parts/
テンプレートファイルのパスの取得方法-header.phpとfooter.phpファイルのlinkの一部をに書き換える、「https」を消す
様々な箇所のパーツファイル化-navやfooterの残りを切り取り、新しいファイルに貼り付け、元の場所にはを記載
投稿の詳細ページに各情報を出力させる-、
投稿のアイキャッチ画像を設定する
-functions.phpファイルを作成し、以下の関数を記述することで、投稿編集画面にアイキャッチ画像の欄が表示される。
表示させたい場所にを記述。
https://wpdocs.osdn.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/the_post_thumbnail
言語の属性を判断して表示するように設定する- https://prorautatie.net/wp-language_attributes/
body要素に異なるclassを設定する-
https://on-ze.com/archives/1316
アクションを起動する-header.phpのトップにを記述
個別ページのテンプレート作成
-page.phpファイルを作成。
header、footerの呼び出しなどを行う。
bodyの中身は、で呼び出す。
サムネイル画像を呼び出す関数をパーツ化
-function.phpファイルに以下を記述
function get_thumbnails(){
if (has_post_thumbnail()) :
$id = get_post_thumbnail_id();
$img = wp_get_attachment_image_src($id, ‘full’);
else :
$img = array(get_template_directory_uri() . ‘画像のパス’);
endif;
return $img;
}
サムネイルを表示させたい場所にはを記述。
https://thewppress.com/libraries/get-theme-directory-url-and-path/
https://www.webdesignleaves.com/pr/wp/wp_post_thumbnail.html
パーマリンクの編集
-投稿/個別ページ編集画面の右側に表示されるURLをクリックする。
もしくは、画面左側メニューの設定>パーマリンクから、パーマリンクの設定方法を変更することもできる。
お問合せフォームを作るプラグイン「MW WP Form」
https://form.run/media/contents/website-lp-creation/mw-wp-form/
カテゴリーとタグ
カテゴリー一覧ページの作成
-管理画面>設定>カテゴリーベースに入力した文字が、カテゴリー一覧ページのURLに表示される。
archive.phpファイルを作り、index.phpファイルの中身をコピペする。
h1のタイトルを編集し、その下に表示するspanタグのサブタイトルには、<? php wp_title(); ?>でカテゴリー名を取得・表示するとよい。
タグ一覧ページや投稿者一覧ページを作る
-テンプレート階層で同じarchive.phpファイルに属しているページの表示を変える。
以下のように記述する。
Category
Author
Date
Tag
Date
Tag
テーマユニットテスト
-日本語版テストデータリポジトリから wordpress-theme-test-date-ja.xml をダウンロード。
管理画面のツール>インポート>WordPress>今すぐインストール>インポーターの実行>ダウンロードした XML ファイルを選択しインポート>実行。
新しい記事がたくさん増えているので、ページの遷移などを確認できる。
https://wpdocs.osdn.jp/%E3%83%86%E3%83%BC%E3%83%9E%E3%83%A6%E3%83%8B%E3%83%83%E3%83%88%E3%83%86%E3%82%B9%E3%83%88
ページネーション
メニューの編集
-プラグイン「Admin Bar Position」で管理バーを画面下に持ってくる。
function.phpファイルに以下を記入し、管理画面に「メニュー」を表示させる。
https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/wp_get_nav_menu_items
エスケープ
https://www.webdesignleaves.com/pr/wp/wp_escape_functions.html
在SL Studio进行学习并补充知识。由于在线学校无法学习到除了WordPress之外的PHP知识,所以我在免费的编程课程SL Studio中补充了知识。
-
データ型を確認する:var_dump();
- データ型を確認する:var_dump();
-
- $str = “Hello”;
-
- $num = 1;
-
- $d = 0.123;
-
- $flg = true;
-
- var_dump($str,$num,$d,$flg);
-
- 出力結果
-
- string(5) “Hello”
-
- int(1)
-
- double(0.123)
-
- bool(true)
-
- bool型はechoでは値の確認ができないため、var_dumpで確認する。関数の情報はシステム利用者には必要ないため、var_dumpはデバックで使用する関数。
-
- for文
-
- for ([ループカウンター変数の初期化]; [条件]; [変数再代入]) {
-
- 繰り返したい処理
-
- }
-
- 条件を指定し、条件がtrueである限り処理を繰り返す。
-
- ループ内で繰り返しを制御するために利用される変数をループカウンタ変数という。一般的に変数名を”\$i”として初期値に”0″を代入。
-
- ループを終えるために条件の部分が最終的に”false”となるよう、”\$i”に値を再代入しなくてはならない。そうしないと、無限ループになる。
-
- 例えば、”\$i++”とインクリメントすることにより、ループのたびに”\$i”は1ずつ増え、ループを抜ける。
-
- また、0から数えられる配列と相性がよく、配列の中身を順に出力するのにも利用できる。
-
- $array = [1,2,3,4,5];
-
-
-
- for ($i = 0; $i < count($array); $i++) {
-
- echo $array[$i];
-
- }
while文
$number = 1; (← 例。変数はwhile文の外で定義する)
while (条件) {
繰り返したい処理
(インクリメントなどはこの中に書く)
}
基本はfor文で書いた方がミスが少ないが、整数以外の値を条件とする場合や、繰り返す回数が決まっていない時にはwhile文が利用しやすい。
do-while文
while文と違って、まず処理を一度実行してから、条件の判定をする。そのため、条件に一致しなくても最低一度は実行される。
$number = 5;
do { (← 無条件でまず実行)
echo $number . ” “;
$number++;
} while ($number < 5); (← その後でループするか判定)
foreach文
PHP独自の構文。添字が0から順番に添えられていないような配列や連想配列にも対応し、要素を順に取り出してくれる。全部取り出したら自動的にループが終わる。
繰り返したい処理
例)echo $key, “:”, $value;
}
ファイルの呼び出し:require “(ファイル名)” 、あるいはinclude “(ファイル名)”;
違いの整理。
require:ファイルが見つからない場合、エラーとなり処理が中断される。
include:ファイルが見つからない場合、警告を発するが処理は続行される。
上記2つに加え、require_once、include_onceがある。
once有り:ファイルが既に読み込まれている場合、そのファイルを読み込まない。
once無し:ファイルが既に読み込まれていても、ファイルの読み込みを行う。
関数
処理をひとまとめにして事前に定義し、好きなタイミングで実行できる仕組み。
関数名は任意に設定できるが、他の関数名と被らないように注意(エラーになる)。
可読性を考えて、上部や下部に関数の宣言をまとめて書く場合が多い。なお、実行の記述が宣言より前に書かれていても問題なく実行される。
PHPで予め用意されているビルトイン関数というものもある。これまでに使っていた”var_damp();”など。
引数
定義した関数を使用するにあたって、必要になる値を変数で仮置きしておく(仮引数)。使用する時に順番にその値を渡す(実引数)。
仮引数にデフォルト値を入れておいて($変数 = 値,)、何も渡さずにその値を使用したり、引数を渡してその値を上書きして使ったりすることもできる。
function 関数名 (仮引数1, 仮引数2…) {
処理
}
関数名 (実引数1, 実引数2…);
例)四角形の面積を算出する関数
function menseki ($tate, $yoko) {
$menseki = $tate * $yoko
echo $menseki
}
menseki(5, 10); //出力結果 50
return文(戻り値)
return 値;で、呼び出し元に戻ると同時に値を返す(それ移行の処理は実行されない)。
funcrion shikaku(&tate, $yoko) {
$menseki = $tate * $yoko;
if($menseki >= 100) {
return “100以上”;
}
return “100未満”;
}
echo shikaku(15,10);
echo “\n”;
echo shikaku(5,5);
// 出力結果
// 100以上
// 100未満
ビルトイン関数
文字列操作
str_replace()
strpos()
substr()
Math関数
random_int()
ceil()
floor()
round()
日時関数
現在日時の取得:date();
date(Y-m-d H:i:s);
//2023-03-31 15:05:22
※間の”-“や”:”を指定できる
date(y年m月d日 H時i分s秒);
//2023年03月06日 15時05分22秒
date(y-M-j h:i:s D);
//23-March-6 03:05:22 Fri
※y→西暦の下二桁,M→英語の月,j→十の位の0を省いた日付,h→12時間表記の時間,D→英語の曜日上3文字
時間の取得:time();
UNIXタイムスタンプを返す。
UNIXタイムスタンプとは、世界標準時基準で1970年1月1日 00:00:00(日本時間 09:00:00)から現在の時刻までを秒数換算したもの。
配列関数
整数の要素を配列として返す:range()
range(int $start, int $end, int $step = 1)
//$start から $end までの整数。
//$step を指定すると、増加量を変更することができる。
要素の数を返す:count()
配列の範囲を指定して、配列として返す:array_slice()