2016-09-08 11 views
-1

CakePHPの新機能3.3。私は複数のサイト(スタックオーバーフロー、W3Schoolsの、など)全体に見えたが、答えを見つけることができません。cakePHPを理解する3.3命名法

コードのこの部分を何

意味/ CakePHPのチュートリアルで行います

パブリック関数の初期化(配列$設定)

1)公共:これは呼び出された関数作成している "(初期化)" を:私は、これは、官民、または保護された

2)関数のいずれかであることができる理解できますか?

3)initialize():これはCakePHPに組み込まれているメソッドだとは思いますが、どうしますか?

4)array $ config:これらの2つの単語は結合されているのでしょうか、それとも互いに分かれていますか?なぜ私は両方の言葉が必要なのですか?一方の言葉の影響は他のものにありますか?

背景:これはCakePHPチュートリアルに由来し、複数の.phpファイルにあります。 PHPのコードは何か、またCakePHPのユニークな用語は何か分かりません。

+1

私は、PHPの基本を説明するチュートリアルから始めて、次にフレームワークで始めるべきだと思います。 – walther

答えて

0

これは非常に良い質問です... !!!この質問は、CakePHPのみに限定されていないすべてのフレームワークに適用されます。技術的には

function my_function(array $arr, int $int, $bool $active) 
{ 
     /// function body 
} 

ヒンティング タイプ

型宣言は、関数は、パラメータが呼び出し時に 特定の種類のものであることを要求することを可能にするとして、それは知っています。指定された値が正しくない場合は、エラーが生成されます。PHP 5では、回復可能な という致命的なエラーが発生しますが、PHP 7ではTypeError例外がスローされます。

型宣言を指定するには、パラメータ名の前に型名を の前に追加する必要があります。パラメータのデフォルト値がNULLに設定されている場合は、NULL値 を受け入れるように宣言できます。

enter image description here

リファレンスのparamater有効なタイプについてチェック:読みやすさ:http://php.net/manual/en/functions.arguments.php

私はタイプヒンティングを使用しての少なくとも一つの大きな利点を参照してください。関数/メソッドがどのような種類のパラメータを期待しているのかが分かりやすくなります。

これは、タイプヒントを尊重せず、いくつかのnot-type-validパラメータを渡すと、キャッチ可能な致命的なエラーが発生するという欠点があります。しかし、

  • は、私は個人的にそれはそれはあなたのコードだけで受信したパラメータで動作することを可能にするより
  • あなたのインターフェイスを尊重するために、開発者を強制的に考えます。
  • 生成されたエラーはキャッチ可能です。

パフォーマンスの質問?

  • タイプヒントを使用するかどうかを決定することは、パフォーマンスヒントの結果であってはなりません。この機能を使用するか使用しないでください。
  • パフォーマンスに影響がある場合でも、最小限に抑える必要があります。私はあなたがこれを考慮する前に最適化すべきコードの多くの部分があると言います。

結論

結論、個人的な意見:私のコードを使用して

  • 他の開発者は、それらが渡すことが予想されているか知っている:ちょうどので、私はかなり頻繁にこれらのタイプのヒントを使用し、 (彼らはいつもドキュメントを読んでいるとは限りません...)
  • 期待通りのことをしなければ失敗します。ハード;彼らが直ちに気づく方法で
  • 受信したパラメータが正しいタイプであるかどうかを確認する必要はありません。PHPがそれを強制するので、わかります。
関連する問題