質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

2回答

195閲覧

オブジェクト指向プログラミングの継承の使い方について

退会済みユーザー

退会済みユーザー

総合スコア0

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2018/02/03 14:08

集団での開発をすることになりました。
私はプログラミングはまだ4か月くらいで日が浅いですが、
せっかくなので、早い段階でOOPを学んでしまおうと考えています。

開発はスキルアップ目的なので、成果は問われませんが、期限があり、
またグループが、入社2年程度の若手ということで、
私だけかもしれませんが、集団開発のノウハウがないように感じています。

私はWEB全般を担当しますが、DBの部分は別の人間が担当します。
クエリもその人が担当するということが決定した関係上、
こちらは、その人がクエリの資料がまとまってからではないと、具体的な開発はできないように思います。

話が逸れましたが、なるべくクエリが関わらない部分は開発していきたいのですが、
継承の考え方がなってないのか、おかしい部分が出ました。

1.phpで数種類の機能を実現する
2.データベースの利用と更新が可能で、それぞれ異なるWEBページのインターフェースから行える
3.各機能ごとに.phpファイルを用意する
4.共通的な機能をまとめるfunction.phpを用意する

更新側を考えていくなかで、

php

1 //function.php(基本的な処理をまとめる) 2 3interface PC991Query{ 4 //更新用PCがすること(発行するクエリ) 5 public function PC991_idcheck(); 6 public function PC991_register_me(); 7 public function PC991_update_use(); 8 public function PC991_update_nouse(); 9// ... 10}

のように、DB担当側が完成させる予定のクエリを発行する抽象クラス(インターフェース)を記述しましたが、
抽象クラスだと、サブクラスは全てのメソッドを継承(実装)しなければならないと理解しているので、
.phpファイルを各機能ずつ用意しようとすると、PC991Queryに変更(例えばPC991_delete();を追加)
しようとすると、各.phpファイルの、PC991Queryを実装したクラスに変更(PC991_delete();を追加)
しなければいけないように思われますが、あまりにも手間だと思います。

PC911Queryを用意するのは、間違っていないような気はするのですが...
function.phpの何かしらクラスにPC911Queryを実装すれば、そこを変更するだけで済みますが、
そのためにクラスを用意するのが正しいようは思えません。

どこら辺がおかしくなっているのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

interfaceでなくabstract classを使うといいのではないでしょうか。

投稿2018/02/03 14:13

dala00

総合スコア441

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

投稿2018/02/03 14:41

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問