2010-08-05 3 views
2

PHP의 객체 오리엔테이션이 다소 장황하고보기에 좋지 않습니다. 나는 함수의 청결과 함께 일하는 것을 좋아한다. 나의 이상은 Clojure의 뛰어난 접근 방식 인 함수 프로그래밍에 가까운 PHP에서 코드를 작성하는 것이다. &은 여전히 ​​PHP에서 의미가있다.php에서 함수 라이브러리를 어떻게 응집력있게 만들 수 있습니까?

나는 F.P.로 이동하면서 관련 기능 그룹을 응집력있게 유지하는 것이 어렵다는 것을 발견했습니다. OO에서는 동일한 클래스의 일부로 존재하는 공유 상태 및 메소드로 완료됩니다. F.P.의 일부 측면이 있습니까? 그걸 돕기 위해 사용할 수 있습니까?

+0

"깨끗함"을 유지한다는 것은 "글로벌"키워드 사용을 자제하는 것을 의미합니다. – stillstanding

답변

2

어쩌면 PHP 5.3의 네임 스페이스입니까?

1

PHP 함수 그룹을 간단한 정적 클래스로 변환하는 것은 그다지 장황하지 않습니다. 내 말은

class MyClass{ 

    //all your other existing functions here 
    function existing_function(){ 
    //do something 
    } 

} 

MyClass::existing_function(); 

, 여기에서, 당신은 방법은 개인 또는 보호 할 같은 멋진 것들 모든 종류의 작업을 수행 할 수 있습니다 ...하지만 당신은 OOP의 장점에 대해 것 같다, 그래서에 대한 것을 절약 할 수 다른 토론.

+1

이것은 좋은 대답입니다.하지만 클래스 사용은 반드시 OOP를 작성하지 않으며 완전히 호환됩니다. 기능적 프로그래밍. – GZipp

+1

사실 OO 대신 의사 네임 스페이스가 더 많을 것입니다. (그리고 내가 느꼈던 대부분의 FP 프로그래머들이 천천히 그러나 꾸준히 OO 공원으로 갔다는 것을 방해하는 것은 처음이다.) – Wrikken

+0

@GZipp, 이것이 사실입니다. 그러나 제 목표는 클래스를 사용하는 것이 장황하지 않으며 나머지 OOP에 신경 쓰지 않아도 함수를 그룹화하는 유효한 방법입니다. –

관련 문제