続・PHPでのオブジェクト指向プログラミング名前: 小川 邦久 リンク: http://kunisan.jp/ 日付: 2010年3月17日
昨年9月に初めてPHPでクラス、プロパティ、メソッドなどを使った「オブジェクト指向」のプログラムを組んでみましたが、それから今まで全くタッチしないまま来てしまいました。比較的規模の大きなプログラムも、手馴れたモジュールと関数定義だけで済ませていました。
ここ最近、PHP関連の文献やホームページを目にする機会が増えてきて、PHPの理解をより深めようと思ったと同時に、久しぶりに「オブジェクト指向」のプログラミングをやってみようとも思いました。 昨年9月に作成したものは、書籍に載っていたコマンドを使って、動作確認しながら動かしただけの、取って付けたような「オブジェクト指向」でした。今回はシンプルながらも、インスタンスのプロパティをいじりながら処理を進めていく形で、少しだけ「それらしさ」が出てきたように思います。ネタは「HTMLのタグを取り払って、テキストのみに変換して表示する」という、2年ほど前に作成したものの改良版です。 ■■■ ホームページをテキストのみに変換 ■■■ <?php //クラスの定義 class PageToText { //ページコンテンツプロパティ public $page_contents; //ページコンテンツ取得メソッド function contents_get($page_url) { if ($page_url != '') { $this->page_contents = file_get_contents($page_url); } else { $this->page_contents = ''; } } //エンコード変換メソッド function contents_convert($page_encode) { $this->page_contents = mb_convert_encoding($this->page_contents,'SJIS',$page_encode); } //タグ除去メソッド function contents_tagstrip() { $this->page_contents = strip_tags($this->page_contents); } //コンテンツ表示メソッド function contents_display() { print $this->page_contents; } } //URL設定 $url = 'http://kunisan.jp/'; //エンコード設定 $encode = 'SJIS'; //使用言語とエンコードの指定 mb_language("ja"); mb_internal_encoding("SJIS"); mb_regex_encoding("SJIS"); //インスタンス生成 $page_view = new PageToText(); //コンテンツの取得 $page_view->contents_get($url); //エンコード if ($encode != 'SJIS') { $page_view->contents_convert($encode); } //タグの除去 $page_view->contents_tagstrip(); //コンテンツの表示 $page_view->contents_display(); ?> ■■■■■■■■■■■■■■■■■■■■■■ オブジェクト、インスタンス、プロパティ、メソッドなどの基本概念については、以前よりもだいぶ感覚的に理解できるようになりました。あと、コンストラクタ、デストラクタ、継承、抽象クラスなども実際にプログラムを作って動かしてみて、基本的な概念は理解できたのですが、どのようなプログラムにどう使えば便利になるのかは、いまいち分かっていません。 まあ、今はそんな感じでも、そのうち普通に使う日がやって来るのかもしれません。プログラミングに限らず、今までもそうやって事が進んでましたから…。 PHP関連記事(リンク一覧): さくらレンタルサーバーのアクセス履歴をPHPで表示 / PHPで画像のアップロード(さくらレンタルサーバーのPHPでImageMagick) / PHP REVERSI(オセロもどき)の続き / PHP REVERSI(リバーシ) - オセロもどきゲームの公開 / PHP版-簡易アクセスブロック(IPアドレス、ホスト名、OS、ブラウザ名で制御) / ...(記事連続表示)
最近の記事: 尿酸値を下げる薬を飲み始めました / Googleから居住者証明書を求められて / プチリバーシ - プチコン4でシンプルなオセロ風ゲーム / プチエアホッケー - プチコン4でシンプルなエアホッケーゲーム / 今までに行ったことのあるスキー場まとめ(2024年) / ムカデ四匹対戦ゲーム - プチコン4でCOM対戦型ゲーム / 富士見パノラマリゾート(2024年2回目) / よませ温泉スキー場 / ガーラ湯沢スキー場(2024年3回目) / SPF、DKIM、DMARCの設定とネームサーバー(DNS)設定のトラブル
■ ホームへ
|