2011-07-28 4 views
1

전체 사이트에 대해 하나의 함수 파일이 있고 단일 페이지가 주어지면 파일의 90 %가 호출되지 않습니다. 그래서 페이지에서 호출되는 함수 만로드하고 PHP에 익숙합니다.특정 함수 불러 오기 PHP

+3

파일에있는 수천 가지 기능의 크기에 뭔가가있는 경우가 아니라면 걱정하지 않아도됩니다. – JJJ

+0

파일 (LoC)의 크기는 어느 정도입니까? – Sukumar

+0

복제본이 아니지만 닫힙니다. [php의 [autoload 'functions?] (http://stackoverflow.com/questions/6812948/autoload-functions-in-php) – Yoshi

답변

1

이 파일을 여러 개의 작은 파일로 나눌 수 있으며 필요한 파일 만 포함 할 수 있습니다.

그러나 큰 파일이 아닌 경우 그들에게 정적 기능을함으로써, 함께 공통 특성을 가진 여러 개체에 모든

2

그룹 기능에서 성능을 감소하고, 별도의 파일에 각 개체를 넣어하지 않습니다. 그런 다음 PHP5 자동 로딩 기능을 사용하여 적절한 객체를 사용할 때만로드하십시오.

+0

객체, 정적 함수, 자동 로딩 기능 ... 초보자에게는 그다지 중요하지 않다고 생각합니다. – sica07

+0

@ scia07 : 정적 함수를 가진 객체는 아주 쉬운 개념이며 실제로 전역 이름 공간의 표준 함수와 비교할 수 있습니다. 자동 로딩 또한 매우 친숙합니다. 그러나 일부 코드 예제에서는이 점을 더 쉽게 이해할 수 있습니다. – hakre

+0

내가 자동 로딩에 대해 더 자세히 알 수 있고 그것을 습득하는 방법을 알 수 있도록 링크를 참조 할 수 있습니까? –

1

함수 파일을 여러 파일로 나눌 수 있지만 더 많은 파일이 필요한 경우 다른 파일을로드하는 데 더 많은 IO 명령이 필요하므로로드가 더 느릴 수도 있습니다.

또한 기능별로 파일을 분할했습니다. 이러한 모든 기능이 함께 소속되었다고 생각되면 함께 보관하십시오. 그것은 당신의 스크립트를 매우 느리게하지 않습니다.

원하는 경우 (정적) 클래스에 함수를 넣고 자동 로더를 사용하여 파일을로드 할 수 있지만이 솔루션을 선호하지 않습니다. 정적 클래스는 전역 범위에서 함수 (및 vars)를 얻는 변명 일 뿐이며 자동로드를위한 클래스를 만드는 것은 자동로드 기능을 남용하고 있다고 생각합니다. 물론, 더 많은 객체 지향 스크립트를 만들면 클래스를 사용하는 것도 의미가 있으며 자동로드가 편리 할 수 ​​있습니다.

1

실제로 함수를 사용할 수 있도록하는 것이 문제가 아니지만 응용 프로그램의 일부에서만 사용하는 것이 좋습니다. 실제로 필요할 때 모든 것을 가지고 있어야합니다. 실제로로드 할 때를 신경 써야합니다.

시스템이 커지면 자동 로더가 필요합니다. PHP는 autoloading of classes을 지원하지만 기능은 지원하지 않습니다. 그러나 함수를 클래스로 그룹화 할 수 있습니다 (일부는 이러한 문을 작성하는 데 나를 때 리겠습니다). 그러면 자동 로딩을 사용할 수 있습니다.

0

귀하의 파일 크기가 다음 그룹 관련 기능을 당신의 목표를 달성하고 별도의 파일에 배치 할 만 필요한 파일을 포함하는 경우가 all.still에서 당신의 성능이 저하되지 않습니다 다음 큰없는 경우 ...

관련 문제