teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

5

追記

2017/07/05 05:00

投稿

enigumalu
enigumalu

スコア192

title CHANGED
@@ -1,1 +1,1 @@
1
- 継承元条件判定をしてい場合条件を追加する
1
+ 共通クラス内抽象メソッドが呼ばれてまってい場合条件を追加について
body CHANGED
@@ -1,9 +1,9 @@
1
1
  特定条件で画面表示データにサーバーサイドで別のデータを入れたいのですが、今現在
2
2
  全Controllerの継承元になっている基底クラスで
3
3
  $tampering->tampering($response);
4
- 上記のように呼ばれており、継承元で改竄の判定をし継承した対象画面毎特定項目のデータ改竄を行うようになっています。
4
+ 上記と下記のように抽象メソッドが呼ばれており、継承元で改竄の判定処理をし継承した子クラスで画面毎特定項目のデータ改竄を行うようになっています。
5
5
  新規に今までと別の条件判定を追加して同一画面の別の要素に対してデータの改竄を行う用にしたいのですがどのようにするのがよいのでしょうか?
6
- 最初はfunction other_tampering(){}と別の処理を作成してしまおうと思っていたのですが空処理を作りたく無いのとabstractクラスが複数指定できないためよい方法を探しています。
6
+ 最初はfunction other_tampering(){}と別の処理を作成してしまおうと思っていたのですが空処理を作りたく無いのとabstractメソッドが複数指定できないためよい方法を探しています。
7
7
  書いたコード
8
8
  ```
9
9
  abstract class Tampering_Abstract {

4

内容修正

2017/07/05 05:00

投稿

enigumalu
enigumalu

スコア192

title CHANGED
@@ -1,1 +1,1 @@
1
- 継承元で条件判定をしていた場合の判定条件を追加するには
1
+ 継承元で条件判定をしていた場合条件を追加するには
body CHANGED
File without changes

3

差異がある点の修正

2017/07/04 07:40

投稿

enigumalu
enigumalu

スコア192

title CHANGED
File without changes
body CHANGED
@@ -30,40 +30,8 @@
30
30
  return Utils::count()->is_tampering_info();
31
31
  }
32
32
  /**
33
- * 改竄特定条件で画面表示データにサーバーサイドで別のデータを入れたいのですが、今現在
34
- 全Controllerの継承元になっている基底クラスで
35
- $tampering->tampering($response);
36
- 上記のように呼ばれており、対象画面毎にTampering_Abstractを継承して特定項目のデータ改竄を行うようになっています。
37
- 新規にtampering()に今までと別の条件判定を追加して同一画面の別の要素に対してデータの改竄を行う用にしたいのですがどのようにするのがよいのでしょうか?
38
- 最初はfunction other_tampering()と別の処理を作成してしまおうと思っていたのですがabstractクラスが複数指定できないためよい方法を探しています。
39
- 書いたコード
40
- ```
41
- abstract class Tampering_Abstract {
42
- private $__response = null;
43
- public function set($response = array()) {
44
- $this->__response = $response;
45
- }
46
- protected function get_response() {
47
- return $this->__response;
48
- }
49
- /**
50
33
  * 改竄
51
34
  */
52
- public function tampering() {
53
- if (!$this->is_tampering()) {
54
- return $this->__response;
55
- }
56
- return $this->_tampering();
57
- }
58
- /**
59
- * @return bool
60
- */
61
- public function is_tampering() {
62
- return Utils::count()->is_tampering_info();
63
- }
64
- /**
65
- * 改竄
66
- */
67
35
  abstract protected function _tampering();
68
36
  }
69
37
 
@@ -82,24 +50,4 @@
82
50
  }
83
51
  }
84
52
  }
85
- ```
86
- */
87
- abstract protected function _tampering();
88
- }
89
-
90
- class Filter_Tampering_BookSearch extends Tampering_Abstract {
91
- /**
92
- * 改竄処理
93
- */
94
- protected function _tampering() {
95
- $response = $this->get_response();
96
- $this->data_tampering($response['book_data']);
97
- return $response;
98
- }
99
- private function data_tampering(&$book_data) {
100
- foreach ($book_data as &$key) {
101
- $key['title'] = '---';
102
- }
103
- }
104
- }
105
53
  ```

2

補記

2017/07/04 07:40

投稿

enigumalu
enigumalu

スコア192

title CHANGED
@@ -1,1 +1,1 @@
1
- abstractクラスに別の判定条件を追加するには
1
+ 継承元で条件判定をしていた場合の判定条件を追加するには
body CHANGED
@@ -1,6 +1,38 @@
1
1
  特定条件で画面表示データにサーバーサイドで別のデータを入れたいのですが、今現在
2
2
  全Controllerの継承元になっている基底クラスで
3
3
  $tampering->tampering($response);
4
+ 上記のように呼ばれており、継承元で改竄の判定をして継承した対象画面毎に特定項目のデータ改竄を行うようになっています。
5
+ 新規に今までと別の条件判定を追加して同一画面の別の要素に対してデータの改竄を行う用にしたいのですがどのようにするのがよいのでしょうか?
6
+ 最初はfunction other_tampering(){}と別の処理を作成してしまおうと思っていたのですが空処理を作りたく無いのとabstractクラスが複数指定できないためよい方法を探しています。
7
+ 書いたコード
8
+ ```
9
+ abstract class Tampering_Abstract {
10
+ private $__response = null;
11
+ public function set($response = array()) {
12
+ $this->__response = $response;
13
+ }
14
+ protected function get_response() {
15
+ return $this->__response;
16
+ }
17
+ /**
18
+ * 改竄
19
+ */
20
+ public function tampering() {
21
+ if (!$this->is_tampering()) {
22
+ return $this->__response;
23
+ }
24
+ return $this->_tampering();
25
+ }
26
+ /**
27
+ * @return bool
28
+ */
29
+ public function is_tampering() {
30
+ return Utils::count()->is_tampering_info();
31
+ }
32
+ /**
33
+ * 改竄特定条件で画面表示データにサーバーサイドで別のデータを入れたいのですが、今現在
34
+ 全Controllerの継承元になっている基底クラスで
35
+ $tampering->tampering($response);
4
36
  上記のように呼ばれており、対象画面毎にTampering_Abstractを継承して特定項目のデータ改竄を行うようになっています。
5
37
  新規にtampering()に今までと別の条件判定を追加して同一画面の別の要素に対してデータの改竄を行う用にしたいのですがどのようにするのがよいのでしょうか?
6
38
  最初はfunction other_tampering()と別の処理を作成してしまおうと思っていたのですがabstractクラスが複数指定できないためよい方法を探しています。
@@ -50,4 +82,24 @@
50
82
  }
51
83
  }
52
84
  }
85
+ ```
86
+ */
87
+ abstract protected function _tampering();
88
+ }
89
+
90
+ class Filter_Tampering_BookSearch extends Tampering_Abstract {
91
+ /**
92
+ * 改竄処理
93
+ */
94
+ protected function _tampering() {
95
+ $response = $this->get_response();
96
+ $this->data_tampering($response['book_data']);
97
+ return $response;
98
+ }
99
+ private function data_tampering(&$book_data) {
100
+ foreach ($book_data as &$key) {
101
+ $key['title'] = '---';
102
+ }
103
+ }
104
+ }
53
105
  ```

1

細く追加

2017/07/04 07:37

投稿

enigumalu
enigumalu

スコア192

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,7 @@
1
1
  特定条件で画面表示データにサーバーサイドで別のデータを入れたいのですが、今現在
2
- 全Controllerの継承元になっている基底クラスでTampering_Abstractクラスのtamperingが
2
+ 全Controllerの継承元になっている基底クラスで
3
3
  $tampering->tampering($response);
4
- 上記のように呼ばれており、対象画面毎にTampering_Abstractを継承して特定項目のデータ改竄を行うようになっているのでが、
4
+ 上記のように呼ばれており、対象画面毎にTampering_Abstractを継承して特定項目のデータ改竄を行うようになってい
5
5
  新規にtampering()に今までと別の条件判定を追加して同一画面の別の要素に対してデータの改竄を行う用にしたいのですがどのようにするのがよいのでしょうか?
6
6
  最初はfunction other_tampering()と別の処理を作成してしまおうと思っていたのですがabstractクラスが複数指定できないためよい方法を探しています。
7
7
  書いたコード