質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

解決済

PHPで関数の読み方処理が分からないので教えてください

ehsb5arj0
ehsb5arj0

総合スコア11

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

2回答

0リアクション

1クリップ

240閲覧

投稿2022/10/04 14:07

WordPressのテーマCocoonのコメント機能をカスタムしたいのですが
コピペより自分で少しは中身を理解しようと思い、PHPとHTML、CSSの入門書に目を通し、
Cocoonのcomments.phpを一行ずつググったりVSCodeでWordPressのフォルダのソースコードの文字を検索して処理を追って何が書いてあるのか調べているのですが

該当のソースコード

PHP

//コメントの見出し <?php define('OP_COMMENT_HEADING', 'comment_heading'); if ( !function_exists( 'get_comment_heading' ) ): function get_comment_heading(){ return stripslashes_deep(get_theme_option(OP_COMMENT_HEADING, __( 'コメント', THEME_NAME ))); } endif;

上記の部分のソースコードの処理の流れで
定数OP_COMMENT_HEADINGを文字列comment_headingと定義。
もし、関数get_comment_headingが定義済みではない場合関数get_comment_headingを定義。
という所までは読めたのですが関数の中身の
return stripslashes_deep(get_theme_option(OP_COMMENT_HEADING, ( 'コメント', THEME_NAME )));
の部分が、stripslashes_deepが値からスラッシュを削除する関数、get_theme_optionがオプションの値をデータベースから取得する関数、OP_COMMENT_HEADINGは中身が'comment_heading'の定数、
(は THEME_NAMEに対応する翻訳データを使って'コメント'の部分を翻訳する関数ということは分かったのですが
丸括弧が何重にもなっていて入門書や学習サイトにもこういうサンプルは載っていなくていまいち理解できません。

質問1
関数get_comment_headingは
戻り値に関数stripslashes_deepを返す
関数stripslashes_deepは引数として、関数get_theme_optionを持っていて
関数get_theme_optionは引数として、定数OP_COMMENT_HEADINGと関数 __(を持っていて
関数 __(は引数として'コメント'と THEME_NAMEを持っている
という解釈で合っているのでしょうか?

質問2
こういうプログラムの場合処理の流れは
一番内側の括弧の関数から処理していけば良いのですか?

質問3
こういう引数に使われている物の中にさらに引数があって丸括弧が何重にも連なっているのは良くあることなのですか?またそういう文に特別な呼び方があったりするのでしょうか?

よろしくお願いいたします

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

2022/10/05 03:23

こちらの質問が複数のユーザーから「やってほしいことだけを記載した丸投げの質問」という指摘を受けました。

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。