2016-06-09 5 views
0

이것은 쉬울 수 있지만 지금은 이해할 수없는 것 같습니다. 우리가 두 세트의 .php 파일을 가지고 있다고 가정합시다.PHP 구문 분석이 필요합니다

set1.page1.php, page2.php, ... pageN.php라는 파일이 있습니다.

세트 2에는 module1, module2.php, ... moduleN.php라는 파일이 있습니다. "1 설정"에서

파일은 텍스트로 처리되어야한다 비 PHP 코드를 포함하고 세트 1 세트 2. 파일의 파일에서 각각의 내용을 결코 포함하지하는

<?php require("SomeFileFromSet2.php");?> 

를 사용하는 PHP는 "다른 파일에 의해"필요합니다.

또한 "Set 2"의 파일은 "Set 1"의 하나 이상의 파일에서 필요할 수 있지만 "Set 2"의 다른 파일 만 "요구"할 수도 있습니다. SomeFileFromSet2.php가 AnotherSet2File.php에서 "필요"하게된다면, 첫 번째 파일은 그것이 필요했던 파일 (후자)을 필요로하지 않을 것입니다. 이것은 순환적인 문제가 없다는 것을 의미합니다. (필자는 더 많은 파일 세트를 사용하여 이것을 설명 할 수는 있었지만 단순화를 위해 두 가지를 고수하려고 시도했다.) 세트 2의 파일에는 텍스트로 다시 처리 될 비 -php 코드가 들어 있습니다.

<?php require("SomeFileFromSet2.php");?> 

통화를 제외하고, 두 세트의 파일 없음에 다른 PHP 코드가 없습니다. 내가 원하는 것은 방법을 찾고 일종의 빌드 프로세스를 수행하는 것입니다. 그래서 "Set 1"에서 각 파일에 대해 실행할 때 PHP가 필요로하는 내용과 PHP가 포함하는 모듈을 구문 분석 할 수 있습니다. "page1-with-modules.whatever"와 같은 새로운 출력 파일을 얻으십시오. PHP는 "free"가 필요하며 모듈 파일의 모든 코드를 포함해야합니다.

EDIT : 기본 샘플을 추가하여 내가 성취하고자하는 것을 더 분명하게 만듭니다. filefromset1.php의

내용 (즉, page1.php) 수 : SomeFileFromSet2.php의

<some no-php code #1> 
<?php require("SomeFileFromSet2.php");?> 
<some no-php code #2> 

내용이 될 수 :

<some no-php code #3> 
<?php require("SomeOTHERFileFromSet2.php");?> 
<some no-php code #4> 

그리고 SomeOTHERFileFromSet2.php은 할 수 :

<some no-php code #5> 

내가 원하는 것은 "filefromset1.php"와 관련된 파일에서 필요한 모든 것을 분석하는 것입니다. d는 다음을 포함하는 새로운 "php-free"파일을 출력합니다 :

<some no-php code #1> 
<some no-php code #3> 
<some no-php code #5> 
<some no-php code #4> 
<some no-php code #2> 
+0

http://php.net/require_once – vascowhite

+0

이것은 내가 원하는 것을 달성하는 데 도움이되지 않을 것입니다. 아마도 내 설명이 충분하지 않을 수 있습니다. 예제를 추가하려고합니다. – dimk

+0

그래서 대신'

답변

0

나는 그것을 실제로 풀었고 꽤 간단했다! 나는 창 10 에 현재 오전 있기 때문에 나는 'chcp65001'를 실행하여 UTF-8로 파워 쉘의 인코딩을 변경하고 나는이 같은이 php.exe의 명령을 실행 PAGE1 -와 - 모듈의

path-to\php.exe ./page1.php >> page1-with-modules.html 

내용입니다. html은 정확히 "page1"에 대해 달성하고자하는 것입니다.

-1

include 또는 require를 사용할 수 없습니다. 새 파일을 생성하려면 fopen, fread 및 fwrite를 사용해야합니다.

-1

PHP로 처리하려면 PHP-Parser을 사용하여 AST를 구문 분석 할 수 있습니다.

제대로 기억한다면 잘 알려진 프레임 워크 (예 : Laravel)에서도 사용됩니다.

관련 문제