ModEntry   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 52
Duplicated Lines 100 %

Coupling/Cohesion

Components 1
Dependencies 4

Importance

Changes 2
Bugs 1 Features 2
Metric Value
wmc 2
c 2
b 1
f 2
lcom 1
cbo 4
dl 52
loc 52
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
B play() 34 34 2

How to fix   Duplicated Code   

Duplicated Code

Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.

Common duplication problems, and corresponding solutions are:

1
<?php
2
/**
3
 * ModEntry
4
 *
5
 * ユーザ情報変更画面(入力)を実現するためのクラス
6
 *
7
 * @package           risoluto
8
 * @author            Risoluto Developers
9
 * @license           http://opensource.org/licenses/bsd-license.php new BSD license
10
 * @copyright     (C) 2008-2015 Risoluto Developers / All Rights Reserved.
11
 */
12
13
//------------------------------------------------------//
14
// 名前空間の定義
15
//------------------------------------------------------//
16
namespace RisolutoApps\Admin\UserMng;
17
18
//------------------------------------------------------//
19
// クラス定義
20
//------------------------------------------------------//
21 View Code Duplication
class ModEntry extends \Risoluto\RisolutoControllerBase implements \Risoluto\RisolutoControllerInterface
22
{
23
    // View関連の処理を使用する
24
    use \Risoluto\RisolutoViewTrait;
25
26
    /**
27
     * play()
28
     *
29
     * 主処理を行う
30
     *
31
     * @access    public
32
     *
33
     * @param     void
34
     *
35
     * @return    void    なし
36
     * @throws    \Exception フォームデータを取得できなかった場合はThrow
37
     */
38
    public function play()
39
    {
40
        // セッションをスタート
41
        $sess = new \Risoluto\Session();
42
        $sess->start();
43
44
        // 共通処理クラスを呼び出し
45
        $common = new \RisolutoApps\Admin\AdminCommon;
46
        $detail = $common->loginCheck( $sess, true );
47
        $groups = $common->getGroupList( 'name_only' );
48
49
        if ($sess->isThere( 'form' )) {
50
            // セッションにフォーム入力情報が存在した場合は取得
51
            $entered = $sess->load( 'form' );
52
            $sess->revoke( 'form' );
53
        } else {
54
            // 存在しない場合は例外をThrow
55
            throw new \Exception( 'Cannot get form data.' );
56
        }
57
58
        // ヘッダ情報のセット
59
        $header = $this->getDefaultHeader();
60
        $header = $this->replaceHeader( $header, 'robots', 'NOINDEX,NOFOLLOW' );
61
62
        // テンプレートエンジン関連の処理
63
        $assign_value = [
64
            'header' => $header,
65
            'detail' => $detail,
66
            'groups' => $groups,
67
            'entered' => $entered,
68
            'csrf_token' => $sess->load( 'csrf_token' )
69
        ];
70
        $this->risolutoView( $assign_value );
71
    }
72
}