답변:
Java의 OO를 PHP와 혼동하지 마십시오. Java는 단일 패러다임 언어이므로 OO 만 수행합니다. 반면에 PHP는 다중 패러다임 언어입니다. 함수형 프로그래밍이나 OO 또는 둘 다를 수행 할 수 있습니다.
이제 OO의 "나쁜"구현과 같은 것은 없습니다. Java의 OO는 다른 모든 언어가 따라야하거나 따라야하는 결정적인 구현이 아닙니다. 몇 가지 결정적인 개념이 있으며 두 언어 모두 자체 방식으로 완전히 구현합니다 (처음부터 Java, 버전 5 이후 PHP).
따라서 귀하의 질문에 대답하기 위해 : CI가하는 일과 함께하는 일은 PHP 세계에서 옳습니다. PHP의 배열은 가장 유연하고 유용한 구조 중 하나이며 실제로 데이터가 정보 일 때 객체보다 배열을 사용하는 것이 좋습니다 (논리를 수행하지 않음). 완전 OO 코드는 "OO 코드 만"과 다릅니다.
PHP로 시작하는 경우 좋은 OO 사례에 대한 참조로 Java를 사용하지만 "Java가 다르게 수행"하기 때문에 PHP에 대한 이해를 제한하지 마십시오. 당신은 정말로 둘 다 망칠 수 있습니다. 패러다임은 개념을 얻지 못하면 당신을 구할 수 없습니다.
어쨌든 Java를 개인적으로 선호하여 웹 개발을 위해 Ruby를 확인하면 Java와 조금 더 밀접한 관련이 있습니다.
객체가 OO 패러다임이 아니기 때문에 배열 대신 객체를 사용하는 것은 개인적인 취향 일뿐입니다. :)
객체는 IDE에서 편리한 코드 완성을 제공하며 인터페이스 (유형 힌트) 및 상속을 사용할 수 있습니다.
이점을 볼 수 있기 때문에 배열 대신 객체를 사용하려는 경우 사용하십시오. 그러나 객체이기 때문에 사용하려는 경우이 리팩토링에 시간을 낭비하지 마십시오. :)
objects just because they are objects
리팩토링의 이유는 아닙니다. :) 의견뿐만 아니라 내 대답을 읽으십시오.
필자는 이것이 조정의 문제라고 생각합니다. 프로그래밍에는 "객체"가 많이 구현되어 있습니다. Python과 Javascript는 놀랍도록 다른 속성을 가지고 있습니다. PHP OO는 해킹 일 것입니다. PHP 배열은 전통적인 의미에서 "객체"가 아니지만 분명한 목적을 제공합니다. 데이터에 사용자 정의 BEHAVIOR가 필요하지 않으면 왜 오브젝트를 사용합니까?
편집하다:
다시 : 불변의 값 객체
http://bradley-holt.com/2010/09/immutable-value-objects-in-php/