여러 곳에서 사용되는 PHP 함수 (funcA라고 함)가 있으므로 funcA (및 몇 가지 관련 함수)를 다른 PHP에 require
라는 별도의 파일에 배치했습니다. 파일. funcA는 이미 열려 있고 그것을 호출하는 코드가 사용하는 데이터베이스에 대해 수많은 쿼리를 작성합니다. 이러한 쿼리는 MDB2 개체를 통해 수행됩니다.함수 내부에서 SQL 호출하기
funcA가 호출 된 곳에서 호출 루틴은 이미 연결된 MDB2 개체 포인터를 전달합니다. 이것은 잘 작동합니다.
MDB2object 포인터를 전달하지 않고 funcA require
MDB2를 갖고 자체 mdb2 개체를 사용하여 데이터베이스에 연결하면 funcA를 완전히 자체 포함하는 것이 더 좋은지 궁금합니다. 더 많은 메모리, 더 많은 CPU 사이클 및 더 많은 네트워크 트래픽이 있지만 더 나은 방법입니까?
의존성 주입도 좋은 해결책이지만, OP의 질문에서 나는 그가 어떤 OOP 관행을 따르지 않는다고 가정하고 있습니까? – ChrisR
@ChrisR : 네 말이 맞아. 이 경우에는 OOP가 없지만 OOP 외부에서도 종속성 주입 개념 (parms와 같은 간단한 것)이 적용됩니다. –
@JonathanM : 당연히 사실이고 당신도 그렇게하려고 노력해야합니다. 유일한 문제는 not-oop context dependency injection에서의 imo가 레지스트리 나 싱글 톤보다 추적하기가 더 어렵다는 것입니다. :) 그러나 나에 대한 올바른 경로를 가지고있어서 다행입니다 :) – ChrisR