検索

ホームページ  >  に質問  >  本文

PHPクラスコンストラクターの問題

リーリー

なぜこのように書けないのでしょうか?

リーリー

こんなことも書いていいですか?上記のパラメータが多すぎる場合は、年、馬、月を記述すればよいでしょうか。

リーリー

なぜコンストラクターにデフォルト値を追加する必要があるのですか。追加しないとエラーが報告されます。 ! ! jsを書くことに慣れているのでphpのコンストラクタが分かりません。パラメータにデフォルト値を割り当てる必要があるのでしょうか?


PHP中文网PHP中文网2754日前570

全員に返信(6)返信します

  • 天蓬老师

    天蓬老师2017-05-16 12:04:46

    コンストラクターとは何の関係もありません。
    関数のパラメーターにデフォルト値が指定されていない限り、関数を使用するときにパラメーターを渡す必要があります。

    js (ES6 以前) では、関数のデフォルト値の設定が php よりも面倒であると言うのは正しくありません。

    さらに、あなたが言及した 3 番目の方法は、オブジェクトまたは配列をパラメーターとして渡すことです。もちろん、値を 1 つずつ記述する代わりにループを使用することもできます。

    返事
    0
  • 黄舟

    黄舟2017-05-16 12:04:46

    1. デフォルト値を指定する必要はありません。ここで報告したエラーは、文法に従って、最初のパラメータにデフォルト値が指定されているためです。 (詳しくはドキュメントをご参照ください)
    2. 対象物ももちろん可能です

    返事
    0
  • 大家讲道理

    大家讲道理2017-05-16 12:04:46

    これはコンストラクターとは関係ありません
    関数を定義するときにパラメータを渡さない場合、エラーが報告されます

    リーリー

    $name は渡す必要がありますが、$age は必須ではありません。 $name必传,$age不用。
    至于为什么,PHP语法规定その理由については、PHP 構文規則


    PHP 構文はエラーを報告しません。PHP がエラーを報告する場合は、エラー メッセージを投稿してください。

    返事
    0
  • 某草草

    某草草2017-05-16 12:04:46

    PHP 関数が明示的に指定されており、パラメーターにデフォルト値が指定されていない場合は、呼び出し時にパラメーターを渡す必要があります。デフォルト値がある場合は、呼び出し時にパラメータを渡さずにデフォルト値を読み取ることができます。

    パラメータを明示的に渡すのが面倒な場合は、 func_get_args() 関数を使用してパラメータを読み取ることができます。

    PHP5.6 以降では、関数 A(...$args) 形式を使用してパラメータを読み取ることもできます。

    返事
    0
  • 巴扎黑

    巴扎黑2017-05-16 12:04:46

    コンストラクターは、新しいオブジェクトを作成するときにデフォルトで呼び出される関数です

    デフォルト値がない場合は関数のパラメータを渡す必要があります

    これは文法上の規則です。

    すべての関数はこのようなもので、パラメータがいくつあっても、1つずつ渡す必要があります

    私が知っているすべての言語にはこのルールがあります

    返事
    0
  • 大家讲道理

    大家讲道理2017-05-16 12:04:46

    アレイを着用できますか

    返事
    0
  • キャンセル返事