整理PHP的学习内容

因为开始学习PHP,所以首先我会总结在在线课程中学到的知识。
在这门课程中,通过使用WordPress创建博客来学习PHP是主要内容。

目次

    • カリキュラムで学んだこと一覧

 

    • SLスタジオで学習して補充した知識

課題

学习课程所获取的知识清单为了在稍后查阅时能像索引一样使用,我会将参考网站与一览表一起列出来。

    • 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」を検索して、チェックボックスを外す⇒エラーが出なくなる。

テーマの変更方法

WordPressのテーマを変更する方法と変更前後にやるべき事

テンプレート階層とは
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」と検索し、表示されるダミーテキストをコピペして確認する

the_excerpt : WordPress で抜粋を使いこなす方法


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(); ?>でカテゴリー名を取得・表示するとよい。

ページのタイトルを出力する関数「wp_title」:WordPress関数まとめ

タグ一覧ページや投稿者一覧ページを作る
-テンプレート階層で同じarchive.phpファイルに属しているページの表示を変える。
以下のように記述する。

Category
 

Author 

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();

 

    • $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()

bannerAds