ホームページ > バックエンド開発 > PHPチュートリアル > クラスの基本定義と概念 (拡張 1)

クラスの基本定義と概念 (拡張 1)

WBOY
リリース: 2016-06-20 12:25:35
オリジナル
1003 人が閲覧しました

目次

コンストラクターについて

指定されたパラメーターはコンストラクターに渡されます

class ShopProduct{  function __construct($title,$firstName,$mainName){ // 构造参数的特殊语法__construct  }}$product1 = new ShopProduct('this is title','Peter','Peter Yuan'); //这里就是传入的参数,这里传入到类里面,也会直接传入到构造方法里面,参数按顺序排列
ログイン後にコピー

コンストラクタークラス作成時に自動的に実行されます

注意事項について

PHP は弱い型付け言語であるため、変数の宣言時にデータ型を指定する必要はありません。便利ですが、セキュリティ上の問題も発生するため、いくつかの対策を追加する必要があります。 1. 必要に応じて、ブール値であるかどうかを判断して true false を返す is_bool() などの型判定を追加します。

      function outputAddresses($resolve){        if(! is_boll ($resolve)){          XXXXXXXXXXXXXX        }      }
ログイン後にコピー

2 .次のようなコメントを追加します:

      /**       * Determine if the given abstract type has been bound.       *       * @param  string  $abstract   //宣布传入的参数类型       * @return bool  //宣布返回的值       */      public function bound($abstract)      {          $abstract = $this->normalize($abstract);          return isset($this->bindings[$abstract]) || isset($this->instances[$abstract]) || $this->isAlias($abstract);      }
ログイン後にコピー

オブジェクト指向開発では、「特定のタスクに焦点を当て、外部コンテキストを無視する」ことが非常に重要な設計原則です。 (私の個人的な理解は、特殊なケースに特化することです。特殊なケース、メソッドとクラスは、エラーを避けるために、それぞれのタスクにのみ集中する必要があります。)

型を検出し、型を変換し、依存する必要があります。 Niang Hao について 明確なドキュメントは慎重にバランスが取れています。 (ただし、どれを使用することに決めたとしても、ドキュメントは提供される必要があります)

型関連のバグを防ぐためにコンパイラーに依存することはできません。不正なデータ型のパラメーターが渡されたときに何が起こるかを考慮する必要があります。結果として、クライアントのプログラマを完全に信頼することはできず、クライアントのメソッドに導入された役に立たない情報をどのように扱うかを常に考慮する必要があります。

型ヒントについて

  1. 型ヒントは使用されるパラメータの型を検出できます
  2. メソッドの定義がより明確かつ簡単になります 型を知る
    没有类型提示的时候    class ShopProduct{    }    class ShopProductWriter{      public function write($shopProduct){      }    }    $product1 = new ShopProduct();    $writer = new ShopProductWriter();    $writer->write($product1);    有类型提示的时候      public function write( ShopProduct $shopProduct){  //指定了ShopProduct的对象才能传入,这个就是类型提示      }      ......      在使用的时候      $writer->write($product1); //这样直接传入的时候代码能够自动检测到,如果不是ShopProduct对象的话,会出现报错的
ログイン後にコピー
で渡されるパラメータの数
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート