skillup

技術ブログ

PHP プログラミング全般

クラスメソッドとインスタンスメソッド

投稿日:

以前staticメソッドを定義したときに、記法がインスタンスメソッドの呼び方でも呼べてしまうことがあったので、これを機にインスタンス・クラス×変数・メソッドちょっと調べてみました。

言葉で書くよりコードを見たほうがわかりやすいかも。

ソース

メモ

  • クラスメソッドとインスタンスメソッドの違いはメモリの確保のされ方
  • クラスメソッドは当然インスタンスから独立しているので、どのインスタンスからよんでも同一のデータにアクセスする
  • インスタンスはインスタンスごとにメモリ上に置かれるため、クラスメソッド(static)からは基本的にアクセスできない
  • インスタンスの中にはクラスメソッドが入っているのでインスタンスからクラスメソッドを呼ぶことは当然できる
  • 上記の場合(インスタンスからクラスメソッドを呼ぶ場合)、記法は正確にはインスタンス::クラスメソッドだがインスタンス->クラスメソッドという呼び方でもOK

参考リンク

PHPの静的変数 (static変数) の挙動まとめ

-PHP, プログラミング全般

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

フレームワーク作成時の注意ポイント

以前も多分書いていますが、フレームワーク作成時のポイントなどを列挙。 次元が違うものも多々含まれているかも。 ルーティング機能 基本設定情報の読み込み キャッシュ機能 データベース Form情報の管理 …

no image

phpの時分秒+cakePHPのupdate

ちょっと小ネタ集になります。 Contents1 PHPで秒→時分秒変換2 cakePHPでのupdate PHPで秒→時分秒変換 PHPで秒数から時分秒に変換するプログラムです。 汎用的かなと思った …

no image

guzzle

サイトへのログイン認証などHTTPアクセスを行うライブラリではHTTP2_requestが有名かと思いますが、すでに開発がとまっていることもあり、最近はguzzleというライブラリが使われているようで …

no image

アプリケーションアーキテクチャについて 〜既存のMVCに関して〜

今回はアプリケーションのルーター以降のアーキテクチャに関して。主にMVCなどについて説明したいと思います。 Contents1 MVC(Model,Controller,View)1.1 トランザクシ …

no image

phpdocument

今回はphpのdocument生成ツールについて。 Contents1 phpdocument1.1 インストール1.2 使い方1.3 参考リンク phpdocument https://www.ph …

アーカイブ