[解決済み] PHP 未定義関数への呼び出し
2022-01-30 01:59:16
質問
ある関数を別の関数から呼び出そうとしています。エラーが発生します。
Fatal error: Call to undefined function getInitialInformation()
in controller.php on line 24
controller.phpファイルです。
require_once("model/model.php");
function intake() {
$info = getInitialInformation($id); //line 24
}
モデル/model.php
function getInitialInformation($id) {
return $GLOBALS['em']->find('InitialInformation', $id);
}
すでに試したこと
- require_onceが動作し、指定された場所にファイルが存在することを確認しました。
- 関数がファイル内に存在することを確認しました。
私はこれを理解することができません。私はここで何かを見逃しているのでしょうか?
解決方法は?
これは開発者のミスで、終了波括弧の位置がずれていたため、上記の関数が ネストされた関数 .
SOの未定義関数エラーに関連する質問を多く見かけます。他の誰かが同じ問題を持っている場合に備えて、これを答えとして書き留めておこう。 関数スコープ .
最初にトラブルシュートしてみたこと
- 関数定義のあるphpファイルを検索しました。そのファイルが存在することを確認しました。
- を確認しました。 要求する (または 含む という文がページ内に存在します。また require/include は正しいです。
- require文のファイル名のスペルが正しいことを確認。
- インクルードファイルの単語をエコーし、正しくインクルードされているかどうかを確認。
- ファイル末尾に別の関数を定義し、それを呼び出す。これもうまくいった。
レガシーシステムの問題で、関数が非常に長かったため、中括弧をたどるのが困難でした。トラブルシューティングのためのさらなるステップは、このようなものでした。
- インクルードファイルの最後に、簡単なprint関数を定義しておきました。私はそれを"undefined function"のすぐ上に移動させました。それでこれも未定義になった。
-
何らかのスコープの問題であることを確認。
-
Netbeansのcollapse(コードの折りたたみ)機能を使って、この関数のすぐ上の関数をチェックしました。つまり、上の1000行の関数がこの関数と一緒に折りたたまれただけで、この関数はネストされた関数になっているのです。
-
問題を特定した後、その関数をファイルの最後にカットペーストすると、問題は解決しました。
関連
-
[解決済み】変な電話番号を生成するフェイカー?
-
[解決済み】未定義の関数mysql_query()をLoginで呼び出す【重複
-
[解決済み】phpMyAdmin: シークレットパスフレーズ?
-
[解決済み] callとapplyの違いは何ですか?
-
[解決済み] PHPで配列から要素を削除する
-
[解決済み] PHPでSQLインジェクションを防ぐにはどうしたらいいですか?
-
[解決済み] メソッドと関数の違いは何ですか?
-
[解決済み] "お知らせ 未定義変数"、"Notice: Notice: 未定義のインデックス", "Notice:未定義のインデックス", "Notice."。PHPを使用した「未定義のオフセット
-
[解決済み】JavaScriptの関数にデフォルトのパラメータ値を設定する
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】XAMPPポート80をPID 4の「Unable to open process」が使用中 [重複] XAMPPポート80をPID 4の「Unable to open process」が使用中。]
-
[解決済み] 整形されていない数値が発生しました。
-
[解決済み】stdClassクラスのオブジェクトが文字列に変換されない。
-
[解決済み】PHP フェイタルエラー。未定義の関数mssql_connect()をコールしています。
-
[解決済み】/var/www/htmlとは何ですか?[クローズド]
-
phpのAllowed memory size of 134217728 bytes枯渇問題の解決法
-
[解決済み] mysqli_fetch_assoc() は、パラメータ 1 が mysqli_result であることを期待し、boolean が与えられる [重複] 。
-
[解決済み] Uncaught Error: 未定義の関数 mysql_escape_string() の呼び出し。
-
[解決済み] PHP と mod_fcgid: handle_request_ipc 関数で ap_pass_brigade が失敗する。
-
[解決済み] mysql_field_nameを新しいmysqliに変更します。