目次
キーテイクアウト
例の開発
コード
ソリューションを明らかにします
- > addvalidator( 'notempty'、true)
$ email-> getValidator( 'notempty') - > setMessage( 'メールアドレスを入力してください');
zend_validate_emailaddress:: :invalid => '有効な電子メールアドレス'
フォームがZendで検証に失敗したときにカスタムエラーメッセージを表示するにはどうすればよいですか?
$ email = new zend_form_element_text( 'email');
- > setRequired(true)
ホームページ バックエンド開発 PHPチュートリアル PHPマスター| zend_form_elementのカスタムエラーメッセージの設定

PHPマスター| zend_form_elementのカスタムエラーメッセージの設定

Feb 25, 2025 pm 06:13 PM

PHPマスター| zend_form_elementのカスタムエラーメッセージの設定

この記事では、開発者がZend Frameworkに基づいた非英語のWebサイトまたはアプリケーションを作成する必要があるときに発生する一般的な問題の解決策を示します。 Zend_formのフィールドをどのようにマークしますか 無効なZend_form_elementは、1つ以上のカスタムエラーメッセージを表示しますか?この問題は、主にZend_form_Elementクラスのネイティブなカウンターインティックメソッドによって引き起こされます。これについては、詳細について説明します。 (ここで説明する問題と解決策は、Zend Frameworkバージョン1.12以下で有効です。)

キーテイクアウト

  • Zendフレームワークに基づいて英語以外のWebサイトまたはアプリケーションを作成する場合、開発者はしばしばZend_Formのフィールド(Zend_form_Element)のフィールドを無効で表示し、カスタムエラーメッセージを表示することに苦労します。これは主に、Zend_form_Elementクラスのネイティブなカウンター直感に反する方法によるものです。
  • アメリカの会社Zendが所有するZend Frameworkのデフォルト動作は、ユーザー入力によって壊れたすべてのバリッターごとに英語でエラーメッセージを表示することです。開発者は、フレームワークのすべてのエラーメッセージを翻訳するか、入力が無効であることを1つ以上のメッセージで説明し、受け入れられた値を挿入するための提案を表示できます。後者のオプションは、特に中小規模のプロジェクトでは、それほど複雑ではありません。
  • この問題の解決策は、フォーム内のフィールド(init()メソッド)内のフィールドの作成と、breakchainonfailure()と呼ばれるZendフレームワークのバリデーターのプロパティと併せて、setErrormessages()メソッドの使用にあります。このプロパティにより、検証プロセスは最初の故障状態で停止できます。このアプローチにより、フォームは、無効な入力があるときにカスタムメッセージのみを表示できます。

例の開発

異なるフィールドを持つフォームがあり、そのうちの1つだけを考慮に入れているとしましょう。たとえば、ユーザーが自分の名前を入力できるようにするために使用されるテキスト入力フィールドです。使用できるバリデーターは異なりますが、例のために名前の長さを制限し、アルファベットのある文字とスペースのみを許可します。 Zend Framework言語について言えば、それぞれZend_Validate_StringLengthとZend_Validate_Alphaクラスを使用します。 すでにご存知かもしれませんが、Zend FrameworkはAmerican Company Zendが所有しているため、表示されるすべてのメッセージは英語です。フレームワークのデフォルトの動作は、ユーザー入力によって破られたすべてのバリーターに1つ以上のエラーメッセージを表示することです。したがって、英語以外のWebサイトを構築している人のために、すべてのユーザーが読み取り可能なメッセージを持つための2つのオプションがあります。フレームワークのすべてのエラーメッセージを翻訳するか、入力が無効であることを1つ以上のメッセージで説明し、挿入する提案を表示する受け入れられた価値。最初のオプションは、特に中小規模のプロジェクトの場合は過剰に複雑です。そのため、2番目のオプションの使用方法を示します。 簡単に保つために、単一のカスタムメッセージを設定します。「入力は無効です。値にはアルファベットの文字とスペースのみが必要であり、その長さは3〜50文字でなければなりません。」

コード

記事中に使用するコードを表示します。まず、これは、データを確認するために必要な名前の入力フィールドとバリエーターを含むフォームです。
<span><span><?php
</span></span><span><span>class Application_Form_User extends Zend_Form
</span></span><span><span>{
</span></span><span>    <span>public function init() {
</span></span><span>        <span>// create the field
</span></span><span>        <span>$element = new Zend_Form_Element_Text("name");
</span></span><span>        <span>$element->setLabel("Name");
</span></span><span>
</span><span>        <span>// set the validators
</span></span><span>        <span>$element->setValidators(array(
</span></span><span>            <span>new Zend_Validate_Alpha(true),
</span></span><span>            <span>new Zend_Validate_StringLength(
</span></span><span>                <span>array("min" => 3, "max" => 50))
</span></span><span>        <span>));
</span></span><span>        <span>$element->setRequired();
</span></span><span>
</span><span>        <span>// add the element to the form
</span></span><span>        <span>$this->addElement($element);
</span></span><span>
</span><span>        <span>// add a submit button
</span></span><span>        <span>$element = new Zend_Form_Element_Submit("submit");
</span></span><span>        <span>$element->setLabel("Submit");
</span></span><span>        <span>$this->addElement($element);
</span></span><span>    <span>}
</span></span><span><span>}</span></span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
コントローラーでは、フィールドが有効かどうかを確認し、それに応じて動作します。通常、IndexControllerを使用せず、おそらく特定のコントローラーでこの検証があります。とにかく、例を簡素化するために、私はそれを使用します。
<span><span><?php
</span></span><span><span>class IndexController extends Zend_Controller_Action
</span></span><span><span>{
</span></span><span>    <span>public function init() {
</span></span><span>    <span>}
</span></span><span>
</span><span>    <span>public function indexAction() {
</span></span><span>        <span>$form = new Application_Form_User();
</span></span><span>
</span><span>        <span>if ($this->getRequest()->isPost() &&
</span></span><span>            <span>$form->isValid($this->getRequest()->getPost())) {
</span></span><span>            <span>$this->view->message = "Valid input";
</span></span><span>        <span>}
</span></span><span>        <span>else {
</span></span><span>            <span>$this->view->form = $form;
</span></span><span>        <span>}
</span></span><span>    <span>}
</span></span><span><span>}</span></span>
ログイン後にコピー
ログイン後にコピー
使用されるビューは非常に簡単です。メッセージとフォームのみを表示します。
<span><span><?php
</span></span><span><span>if (isset($this->message)) {
</span></span><span>    <span>echo $this->message;
</span></span><span><span>}
</span></span><span><span>if (isset($this->form)) {
</span></span><span>    <span>echo $this->form;
</span></span><span><span>}</span></span>
ログイン後にコピー
ログイン後にコピー
CSSルールなしの上記のソースコードは、次のようにレンダリングされます。

PHPマスター| zend_form_elementのカスタムエラーメッセージの設定

さらに、名前フィールドに無効な値「88」を挿入すると、メッセージが表示されます。

PHPマスター| zend_form_elementのカスタムエラーメッセージの設定

フレームワークのメソッドの分析

良い質問は、この種の状況に直面する方法がすでに利用できるかどうかです。答えはほぼです 。方法があることを意味しますが、あなたが期待しているように常に機能するとは限りません(少なくとも私が期待するように)。エラーメッセージを管理する方法は次のとおりです。
  • setErrors(配列$メッセージ)
  • setErrormessages(array $ messages)
メソッドSetErrors()には、アレイであるパラメーターが1つだけあり、その要素をメッセージとして使用して、入力が無効な場合に表示されます。その使用の例は次のとおりです。
<span><span><?php
</span></span><span><span>class Application_Form_User extends Zend_Form
</span></span><span><span>{
</span></span><span>    <span>public function init() {
</span></span><span>        <span>// create the field
</span></span><span>        <span>$element = new Zend_Form_Element_Text("name");
</span></span><span>        <span>$element->setLabel("Name");
</span></span><span>
</span><span>        <span>// set the validators
</span></span><span>        <span>$element->setValidators(array(
</span></span><span>            <span>new Zend_Validate_Alpha(true),
</span></span><span>            <span>new Zend_Validate_StringLength(
</span></span><span>                <span>array("min" => 3, "max" => 50))
</span></span><span>        <span>));
</span></span><span>        <span>$element->setRequired();
</span></span><span>
</span><span>        <span>// add the element to the form
</span></span><span>        <span>$this->addElement($element);
</span></span><span>
</span><span>        <span>// add a submit button
</span></span><span>        <span>$element = new Zend_Form_Element_Submit("submit");
</span></span><span>        <span>$element->setLabel("Submit");
</span></span><span>        <span>$this->addElement($element);
</span></span><span>    <span>}
</span></span><span><span>}</span></span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
この方法は、指定された文字列を表示するだけでなく、フィールドを無効とマークします。 アプリケーションロジックで2回使用できますが、両方で目標に役立たない動作があります。 1つ目は、フォーム要素(init()メソッド)の作成中です。この場合、フォームがロードされたときとユーザーがデータを挿入する前にメッセージが表示されます。非常に不快。この場合、このようなコードの関連部分は次のとおりです。
<span><span><?php
</span></span><span><span>class IndexController extends Zend_Controller_Action
</span></span><span><span>{
</span></span><span>    <span>public function init() {
</span></span><span>    <span>}
</span></span><span>
</span><span>    <span>public function indexAction() {
</span></span><span>        <span>$form = new Application_Form_User();
</span></span><span>
</span><span>        <span>if ($this->getRequest()->isPost() &&
</span></span><span>            <span>$form->isValid($this->getRequest()->getPost())) {
</span></span><span>            <span>$this->view->message = "Valid input";
</span></span><span>        <span>}
</span></span><span>        <span>else {
</span></span><span>            <span>$this->view->form = $form;
</span></span><span>        <span>}
</span></span><span>    <span>}
</span></span><span><span>}</span></span>
ログイン後にコピー
ログイン後にコピー
2回目は、コントローラー内の通常のデータ検証中に情報が送信された後に発生します。何が起こるかは、エラーが発生したときにカスタムメッセージがデフォルトのメッセージに追加されることです。この場合、インデックスコントローラーのindexaction()がこの方法で変更されます。
<span><span><?php
</span></span><span><span>if (isset($this->message)) {
</span></span><span>    <span>echo $this->message;
</span></span><span><span>}
</span></span><span><span>if (isset($this->form)) {
</span></span><span>    <span>echo $this->form;
</span></span><span><span>}</span></span>
ログイン後にコピー
ログイン後にコピー
SetErrors()と同様に、SetErrorMessages()メソッドは、入力が無効な場合にユーザーに表示される文字列の配列をパラメーターとして使用します。その使用の例は次のとおりです。
<span><span><?php
</span></span><span><span>// set the custom message in the case of an error
</span></span><span><span>$element->setErrors(array("The input is invalid. The value must have only alphabetic characters and spaces and its length must be between 3 and 50 characters."));</span></span>
ログイン後にコピー
このコード行はまだ問題を解決しませんbeucaseは、満足していない状態ごとに同じエラーメッセージが表示されるか、効果がありません。表示されている行がinit()メソッドで使用されている場合、seterrors()に表示されるのと同じ方法で、エラーの場合、カスタムメッセージはユーザー入力によって違反される条件の数と同じくらい数倍表示されます。コントローラー内の通常のデータ検証中にラインが挿入された場合、前に説明したのと同じように、効果はありません。これは、カスタムメッセージが表示されず、フレームワークにデフォルトのメッセージのみが表示されることを意味します。

ソリューションを明らかにします

さて、ポイントは、のときにを理解することです カスタムメッセージを挿入して、ユーザーが比較し、どの値が受け入れられているかについての提案をすることができます。間違いなく、フォーム内(init()メソッド)内のフィールドの作成にあるとき、およびsetErrormessages()メソッドの結合と、breakchainonfailure()と呼ばれるZendフレームワークのバリッタのプロパティの使用による方法。後者を使用すると、最初の失敗した状態で検証プロセスを停止できます。 5つのバリデーターをセットアップして最初のバリエーターが失敗した場合、他の4つは使用されません。 可能な限り少ないコード行を使用してこのプロパティを使用するために、最初に説明したコードを少し変更します。 setErrormessages()メソッドを使用するコード行をinit()メソッドに追加し、配列を期待するsetvalidators()によって受け入れられた可能な入力構成の1つを利用します。メインの配列に含まれる配列には、最大3つのパラメーターを持つことができます。
    babyatorをユーザーに指定する文字列(必須)
  1. ブール(オプション、デフォルトでは値は偽です)。フレームワークが最初の障害で検証を破らなければならないかどうかを指定します。したがって、このパラメーターは、プロパティBreakChainOnFailureの値を設定します。これは、目標を達成するのに役立つものです。
  2. 選択されたバリデーターごとに異なるオプション(オプション、デフォルトでは空の配列)の配列
  3. 使用したいバリデーターごとにtrueとして渡された2番目のパラメーターを使用することが不可欠です。 これまで見たことによると、結果のコードは次のとおりです。
<span><span><?php
</span></span><span><span>class Application_Form_User extends Zend_Form
</span></span><span><span>{
</span></span><span>    <span>public function init() {
</span></span><span>        <span>// create the field
</span></span><span>        <span>$element = new Zend_Form_Element_Text("name");
</span></span><span>        <span>$element->setLabel("Name");
</span></span><span>
</span><span>        <span>// set the validators
</span></span><span>        <span>$element->setValidators(array(
</span></span><span>            <span>new Zend_Validate_Alpha(true),
</span></span><span>            <span>new Zend_Validate_StringLength(
</span></span><span>                <span>array("min" => 3, "max" => 50))
</span></span><span>        <span>));
</span></span><span>        <span>$element->setRequired();
</span></span><span>
</span><span>        <span>// add the element to the form
</span></span><span>        <span>$this->addElement($element);
</span></span><span>
</span><span>        <span>// add a submit button
</span></span><span>        <span>$element = new Zend_Form_Element_Submit("submit");
</span></span><span>        <span>$element->setLabel("Submit");
</span></span><span>        <span>$this->addElement($element);
</span></span><span>    <span>}
</span></span><span><span>}</span></span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
結論

上記のコードを使用すると、フォームは、無効な入力がある場合にカスタムメッセージのみが表示されます。いくつかの段階での提案など、より多くのメッセージを使用する必要がある場合は、SetErrormessages()メソッドに使用される配列に文字列を追加するだけです。 Fotoliaを介した画像

Zend Form Elementのカスタムエラーメッセージの設定に関するよくある質問(FAQ) Zendの特定のフォーム要素のエラーメッセージをカスタマイズするには、Zendの特定のフォーム要素のエラーメッセージをカスタマイズするのは非常に簡単です。 setMessage()メソッドを使用して、特定のバリーターにカスタムエラーメッセージを設定できます。たとえば、「電子メール」という名前のフォーム要素があり、そのためにカスタムエラーメッセージを設定する場合、次のようにすることができます。 🎜> $ email-> setLabel( '電子メールアドレス')

- > addvalidator( 'notempty'、true)

- > addvalidator( 'emailaddress');

$ email-> getValidator( 'notempty') - > setMessage( 'メールアドレスを入力してください');

この例では、setMessage()メソッドが使用されます「電子メール」フォーム要素の「notempty」バリッターのカスタムエラーメッセージを設定します。 zend?

​​
Zendのフォーム要素の複数のカスタムエラーメッセージを設定する場合は、setMessages()メソッドを使用できます。この方法は、エラーメッセージの配列を受け入れます。例は次のとおりです。

$ email = new zend_form_element_text( 'email');
$ email-> setlabel( 'emailアドレス')
- > addvalidator( 'notempty'、true)
- > addValidator( 'EmailAddress');
$ email-> getValidator( 'notempty') - > setMessages(array(

> zend_validate_notempty :: is_empty => 'あなたのメールアドレスを入力してください'、

zend_validate_emailaddress:: :invalid => '有効な電子メールアドレス'

));

inを入力してくださいこの例、setMessages()メソッドは、「電子メール」フォーム要素の「notempty」バリーターの複数のカスタムエラーメッセージを設定するために使用されます。

フォームがZendで検証に失敗したときにカスタムエラーメッセージを表示するにはどうすればよいですか?

フォームがZendで検証に失敗した場合、Adderror()メソッドを使用してカスタムエラーメッセージを表示できます。このメソッドは、フォームが検証に失敗したときに表示されるエラーメッセージを追加します。例は次のとおりです。

$ form = new zend_form();
$ form-> addelement( 'text'、 'email'、array(
'validators' => array(
>> array) array( 'validator' => 'notempty'、 'options' => array( 'message' => 'emailが必須'))、
array( 'validator' => 'emailAddress'、 'options' => array( 'message' => '無効な電子メールアドレス'))

));
if(!$ form-> isvalid($ _ post)){
$ form-> adderror( '提出にエラーがありました。それらを修正してもう一度やり直してください。');
}
この例では、adderror()メソッドは、フォームが検証に失敗したときに表示されるカスタムエラーメッセージを追加するために使用されます。 setMessage()メソッドを使用してZend。このメソッドを使用すると、特定のバリーターにカスタムエラーメッセージを設定できます。例は次のとおりです。

$ email = new zend_form_element_text( 'email');

$ email-> setlabel( 'emailアドレス')

- > addvalidator( 'notempty'、true)
- > addValidator( 'EmailAddress');
$ email-> getValidator( 'notempty') - > setMessage( 'を入力してくださいあなたのメールアドレス ');
$ email-> getValidator(' EmailAddress ') - > setMessage('有効な電子メールアドレスを入力してください);
この例では、setMessage()メソッドを使用して変更します。 「notempty」および「emailAddress」フォーム要素の「notempty」および「emailAddress」の有効化者のデフォルトエラーメッセージ。 zend?
​​
フォーム要素がZendに必要な場合は、setRequired()およびadderRormessage()メソッドを使用して、カスタムエラーメッセージを設定できます。例は次のとおりです。

$ email = new zend_form_element_text( 'email');

$ email-> setlabel( 'emailアドレス')

- > setRequired(true)

- > adderRormessage ( '電子メールが必須');

この例では、setRequired()メソッドを使用して「電子メール」フォーム要素を必要とし、 adderRormessage()メソッドは、カスタムエラーメッセージを設定するために使用されます。

以上がPHPマスター| zend_form_elementのカスタムエラーメッセージの設定の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPのさまざまなエラータイプを説明します(通知、警告、致命的なエラー、解析エラー)。 PHPのさまざまなエラータイプを説明します(通知、警告、致命的なエラー、解析エラー)。 Apr 08, 2025 am 12:03 AM

PHPには4つの主要なエラータイプがあります。1。notice:わずかなものは、未定義の変数へのアクセスなど、プログラムを中断しません。 2。警告:通知よりも深刻で、ファイルを含むなど、プログラムを終了しません。 3。ファタラー:最も深刻なのは、機能を呼び出すなど、プログラムを終了します。 4。ParseError:構文エラーは、エンドタグの追加を忘れるなど、プログラムの実行を防ぎます。

PHPとPython:2つの一般的なプログラミング言語を比較します PHPとPython:2つの一般的なプログラミング言語を比較します Apr 14, 2025 am 12:13 AM

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

アクション中のPHP:実際の例とアプリケーション アクション中のPHP:実際の例とアプリケーション Apr 14, 2025 am 12:19 AM

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHPでの安全なパスワードハッシュ(例:Password_hash、password_verify)を説明します。 MD5またはSHA1を使用してみませんか? PHPでの安全なパスワードハッシュ(例:Password_hash、password_verify)を説明します。 MD5またはSHA1を使用してみませんか? Apr 17, 2025 am 12:06 AM

PHPでは、Password_hashとpassword_verify関数を使用して安全なパスワードハッシュを実装する必要があり、MD5またはSHA1を使用しないでください。 1)password_hashセキュリティを強化するために、塩値を含むハッシュを生成します。 2)password_verifyハッシュ値を比較して、パスワードを確認し、セキュリティを確保します。 3)MD5とSHA1は脆弱であり、塩の値が不足しており、最新のパスワードセキュリティには適していません。

HTTPリクエストメソッド(取得、投稿、配置、削除など)とは何ですか?それぞれを使用する必要がありますか? HTTPリクエストメソッド(取得、投稿、配置、削除など)とは何ですか?それぞれを使用する必要がありますか? Apr 09, 2025 am 12:09 AM

HTTPリクエストメソッドには、それぞれリソースを取得、送信、更新、削除するために使用されるGET、POST、PUT、および削除が含まれます。 1. GETメソッドは、リソースを取得するために使用され、読み取り操作に適しています。 2. POSTメソッドはデータの送信に使用され、新しいリソースを作成するためによく使用されます。 3. PUTメソッドは、リソースの更新に使用され、完全な更新に適しています。 4.削除メソッドは、リソースの削除に使用され、削除操作に適しています。

PHP:Web開発の重要な言語 PHP:Web開発の重要な言語 Apr 13, 2025 am 12:08 AM

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

PHPは、ファイルを安全に処理する方法をどのように処理しますか? PHPは、ファイルを安全に処理する方法をどのように処理しますか? Apr 10, 2025 am 09:37 AM

PHPは、$ \ _ファイル変数を介してファイルのアップロードを処理します。セキュリティを確保するための方法には次のものが含まれます。1。アップロードエラー、2。ファイルの種類とサイズを確認する、3。ファイル上書きを防ぐ、4。ファイルを永続的なストレージの場所に移動します。

PHP OOPで、self ::、parent ::、and static ::の違いを説明します。 PHP OOPで、self ::、parent ::、and static ::の違いを説明します。 Apr 09, 2025 am 12:04 AM

Phpoopでは、self ::は現在のクラスを指し、親::は親クラスを指し、静的::は後期静的結合に使用されます。 1.Self ::静的方法と一定の呼び出しに使用されますが、後期静的結合をサポートしていません。 2.Parent ::サブクラスには、親クラスのメソッドを呼び出すために使用され、プライベートメソッドにアクセスできません。 3.Static ::継承と多型に適した後期静的結合をサポートしますが、コードの読みやすさに影響を与える可能性があります。

See all articles