> 백엔드 개발 > PHP 튜토리얼 > 这样分离是否正确?

这样分离是否正确?

WBOY
풀어 주다: 2016-06-06 20:52:37
원래의
959명이 탐색했습니다.

假设类的结构如下(MVC控制器):

class Controller {
    	public function action1()
	{
            if(condition1)
            {
                // ……
            }
            // elseif(condition2){……}
            // elseif(conditionN){……}
            else
            {
                // ……
            }
	}

    	public function action2()
	{
            if(condition1)
            {
                // ……
            }
            // elseif(condition2){……}
            // elseif(conditionN){……}
            else
            {
                // ……
            }
	}
}
로그인 후 복사
로그인 후 복사

分离后(不考虑接口):

class Controller_Action1 extends Controller {
    	public function condition1()
	{
            ……
	}

    	public function condition2()
	{
            ……
	}

    	public function conditionN()
	{
            ……
	}
}

class Controller_Action2 extends Controller {
    	public function condition1()
	{
            ……
	}

    	public function condition2()
	{
            ……
	}

    	public function conditionN()
	{
            ……
	}
}
로그인 후 복사
로그인 후 복사

回复内容:

假设类的结构如下(MVC控制器):

class Controller {
    	public function action1()
	{
            if(condition1)
            {
                // ……
            }
            // elseif(condition2){……}
            // elseif(conditionN){……}
            else
            {
                // ……
            }
	}

    	public function action2()
	{
            if(condition1)
            {
                // ……
            }
            // elseif(condition2){……}
            // elseif(conditionN){……}
            else
            {
                // ……
            }
	}
}
로그인 후 복사
로그인 후 복사

分离后(不考虑接口):

class Controller_Action1 extends Controller {
    	public function condition1()
	{
            ……
	}

    	public function condition2()
	{
            ……
	}

    	public function conditionN()
	{
            ……
	}
}

class Controller_Action2 extends Controller {
    	public function condition1()
	{
            ……
	}

    	public function condition2()
	{
            ……
	}

    	public function conditionN()
	{
            ……
	}
}
로그인 후 복사
로그인 후 복사

从分工合作的角度来说,这么分开挺好的。

在symfony框架中,多个actions可以写在一个actions.class.php文件里面,也可以每一个action只写在一个XxxAction.class.php里,根据实际情况发现还是分开写好,这样很容易把工作分给更多的人完成

当然你这里还没有分离到每个action一个文件的程度,但是相对比最开始所有actions一个文件来说,还是要合理不少。如果一个团队的分工就是按照module的概念(module是某几个actions的集合)去分的,那么你这么分其实也足够了

你这里用的是继承,继承的目的是提取共性, 所以你应该展示你的controller类,才好判断这个设计的合理性。

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿