ホームページ > バックエンド開発 > PHPチュートリアル > php - PHP が配列を使用してクラス内のメソッドを呼び出すと、エラーが発生します

php - PHP が配列を使用してクラス内のメソッドを呼び出すと、エラーが発生します

WBOY
リリース: 2023-03-02 22:16:01
オリジナル
1148 人が閲覧しました

php

/**

  • セッションを有効にする/session_start();/*
  • 初期化ファイルを含める/include_once '../../../sys/config/db-cred.inc.php';/*
  • 設定情報の定数を定義/foreach ( $C as $name => $val ) {define($name, $val);}/*

  • フォームアクションをキーとした連想配列を生成
    */
    $actions = array(
    'event_edit' => array(
    'object' => 'Calendar',
    'method' => 'processForm',
    'header' => 'Location:../../'
    ),

    'user_login' => array(
    'object' => 'Admin',
    'method' = > 'プロセスログインフォーム',
    'ヘッダ' => '場所:../../'
    )
    );
    /**

  • セッション内のアンチクロスサイトマークが提出されたマークと一致しており、要求されたアクションが合法であることを確認してください
    */
    if ( $_POST['トークン']==$ _SESSION['token'] &&
    isset($actions[$_POST['action']]) ) {
    $use_array = $actions[$_POST['action']];
    $obj = 新しい $use_array'object' ;

    <code>if ( true == $msg=$obj->$use_array['method']() ) {    header($use_array['header']);    exit;} else {    die( $msg );}</code>
    ログイン後にコピー

    } else {
    //トークン/アクションが不正な場合は、ホームページにリダイレクトします
    header("Location:../../");
    exit;
    }

  • function __autoload($ class) {

    <code>$filename = "../../../sys/class/class.".$class.".inc.php";if ( file_exists($filename) ) {    include_once $filename;}</code>
    ログイン後にコピー

    }

    主な問題は次のとおりです: $obj->$use_array'method'
    このステップに到達するとすぐに、関数名は E:qampphtdocsSource Filespublicassetsincprocess.inc.php の文字列である必要があります。 :40 スタック トレース : #0 {main} が E:qampphtdocsSource Filespublicassetsincprocess.inc.php の 40 行目でスローされましたエラー。

    $obj を使用して、このクラスの processForm() メソッドまたは processLoginForm() メソッドを直接呼び出すことができます。
    神に助けを求めてください。

返信内容:

http://blog.sina.com.cn/s/blog_8d7518cb0100zk1t.html

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート