Skip to Content
プログラミングPHP 第4版
book

プログラミングPHP 第4版

by Kevin Tatroe, Peter MacIntyre, 永井 勝則, 中野 圭
April 2023
Intermediate to advanced
456 pages
6h 11m
Japanese
O'Reilly Japan, Inc.
Content preview from プログラミングPHP 第4版

6章オブジェクト

 本章では、PHPでのオブジェクトの定義方法と作成、使用方法について学びます。オブジェクト指向プログラミング(OOP)は、よりクリーンな設計、より容易な保守、より優れたコードの再利用を可能にするものです。OOPの価値は今や誰もが認めるところで、オブジェクト指向でない言語をあえて採用しようとする人はほとんどいないでしょう。PHPはOOPの有用な機能を数多くサポートしています。本章では、OOPの基本的な概念に加え、内部検査やシリアライズといった高度なトピックを紹介しながら、PHPがサポートするOOP機能の使い方を見ていきます。

6.1 オブジェクト

 オブジェクト指向プログラミングでは、データとそのデータを扱うコードとの根本的な関係性が重視されるため、開発者は、その関係性に沿ってプログラムを設計、実装することができます。たとえば、掲示板システムでは通常、多くのユーザを追跡します。この場合、手続き型のプログラミング言語では、個々のユーザはデータ構造で表され、おそらく、そのデータ構造を処理する関数のセット(新規ユーザの作成やユーザ情報の取得など)が別に存在するでしょう。OOP言語の場合、各ユーザは、オブジェクト、つまりコードが付加されたデータ構造で表されます。データとコードがあることに変わりはないのですが、OOPでは切り離すことのできない単位として扱われます。コードとデータの結合体としてのオブジェクトは、アプリケーションを開発しコードを再利用するためのモジュラーユニット(脱着可能な部品の単位)なのです。

 この架空の掲示板の設計では、ユーザ情報だけでなく、メッセージやスレッドの情報についてもオブジェクトで表すことができます。ユーザオブジェクトに含まれるのは、ユーザ名やパスワードなどの情報と、「その人が投稿したすべてのメッセージを探す」といったコードです。メッセージオブジェクトは自分がどのスレッドに属しているのかを知っていて、新しいメッセージを投稿したり、既存のメッセージに返信したり、メッセージを表示したりするコードを持っています。スレッドオブジェクトは、複数のメッセージオブジェクトをまとめて管理し、スレッドのインデックスを表示するコードを持っています。ただし、機能をオブジェクトに分割する方法は1つだけではありません。たとえば別の設計では、新しいメッセージを投稿するコードを、メッセージオブジェクトではなくユーザオブジェクトに持たせる、という考え方もあるでしょう。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

プロダクトマネジメント ―ビルドトラップを避け顧客に価値を届ける

プロダクトマネジメント ―ビルドトラップを避け顧客に価値を届ける

Melissa Perri, 吉羽 龍太郎

Publisher Resources

ISBN: 9784814400270Other