Spac Download2011. 7. 6. 16:37

Spac 11.7.1


php 프레임워크 Spac  11.7.1을 공개합니다.

Spac 은 Simple Php Action Class 의 약자로서 PHP웹프로그램 개발시 사용하는 클래스기반의 PHP프레임워크입니다.

설치 및 환경설정은 http://www.phpwork.kr/Manual/viewContents/2 를 참고하시면 됩니다.

케릭터셋은 UTF-8 입니다.


이전버전 사용자는 controller 디렉토리내의 'ActionClass.Class.php' 파일과 'Controller.Class.php' 파일을 기존 파일이 덮어 쓰면 업데이트 됩니다.


업데이트 내역은 다음과 같습니다.

  1. INI 파일 완벽 분리 지원
  2. 뷰 캐시 자동업데이트 오류 수정 
License1. 개인/기업/영리/비영리 관계없이 웹개발에 무료로 사용할 수 있습니다.
2. 프레임워크 내의 소스를 사용자 환경에 맞게 수정해 사용할 수는 있으나, 이렇게 수정된 Spac 소스나, 수정된 Spac 소스가 포함된 프로그램, 또는 Spac 소스중의 일부분을 타인에게 배포하거나 판매할 수 없습니다.
3. 소스내의 주석문은 어떠한 경우라도 수정/삭제할 수 없습니다. (Spac에 의해 자동생성된 파일내의 내용 포함)
4. 원작자가 배포한 상태 그대로(수정되지 않은)인 경우에 한해 자유롭게 재배포할 수 있습니다.
5. 이 프로그램의 사용으로 인해 발생하는 어떠한 문제도 제작자는 책임지지 않습니다.
..


.

Posted by webdata
Spac Download2011. 5. 18. 14:55

Spac 11.5.1

Spac 은 Simple Php Action Class 의 약자로서 PHP웹프로그램 개발시 사용하는 클래스기반의 PHP프레임워크입니다.

설치 및 환경설정은 http://www.phpwork.kr/Manual/viewContents/2 를 참고하시면 됩니다.

케릭터셋은 UTF-8 입니다.



btn_download.png



  1. 윈도우 서버에서 운용시 뷰캐시 자동 업데이트가 되지 않는 현상 수정
  2. URL Path 경로 가져오는 방법 수정 ($_SERVER['PATH_INFO'] 사용할 수 없을 시 적용)
  3. 뷰레이아웃 사용시 Layout.ini 파일 설정만으로 result_uri 생략하여 출력 가능하도록 수정
  4. 이전 버전 사용자는 파일을 받아 압축을 푼 뒤 Controller.Class.php, Controller.ini 파일만 수정 적용 합니다.
    - Controller.Class.php 파일을 기존 파일에 덮어 씁니다.
    - Controller.ini 파일의 10~11 라인에 있는 "path_type" 설정을 기존 파일에 추가합니다.
  5. 이 버전은 이전버전에서 업데이트 해도 사용자의 프로그램에 영향을 주지 않습니다. 
 

License1. 개인/기업/영리/비영리 관계없이 웹개발에 무료로 사용할 수 있습니다.
2. 프레임워크 내의 소스를 사용자 환경에 맞게 수정해 사용할 수는 있으나, 이렇게 수정된 Spac 소스나, 수정된 Spac 소스가 포함된 프로그램, 또는 Spac 소스중의 일부분을 타인에게 배포하거나 판매할 수 없습니다.
3. 소스내의 주석문은 어떠한 경우라도 수정/삭제할 수 없습니다. (Spac에 의해 자동생성된 파일내의 내용 포함)
4. 원작자가 배포한 상태 그대로(수정되지 않은)인 경우에 한해 자유롭게 재배포할 수 있습니다.
5. 이 프로그램의 사용으로 인해 발생하는 어떠한 문제도 제작자는 책임지지 않습니다.
 
Posted by webdata
Netbeans로 Spac을...2010. 11. 17. 11:15

1. 메뉴중 "Tools-Templates" 로 이동합니다.





2. 아래처럼 템플릿 매니저가 열리면 왼쪽 트리에서 "PHP Class" 를 선택하고 아래의 "Open in Editor" 를 클릭합니다.





3. 해당 클래스의 템플릿 파일이 열리면 아래의 내용으로 수정을 한 뒤 저장합니다.



입력한 내용은 아래와 같습니다.
<?php
/**
 *
 * @author ${user}
 */
class ${name} extends Controller {

    var $MethodAccessControlType = 'allow';
    var $AccessMethods    = array('execute');

    function ${name}() {

    }

    function execute() {

    }
 
}
?>


4. 저장된 템플릿 코드가 제대로 작동 되는지 확인해보겠습니다. 적당한 위치에 클래스파일을 하나 만들어보겠습니다.
    왼쪽 트리에서 파일을 만들 폴더를 선택한 후 마우스 우클릭을한 후 아래처럼 "New"->"PHP Class" 를 선택합니다.





5. 적당한 이름을 입력한 후 하단의 "Finish" 버튼을 누릅니다.





6. 아래와 같이 작성된 템플릿 내용이 자동으로 열립니다.
    이제 Spac 클래스파일 작성시 기본적인 내용이 아래처럼 모두 완성되어져 있으므로 간편하게 프로그램을 
    작성할 수 있습니다.









Posted by webdata

::: SPAC (Simple Php Action Class) PHP Framework:::



Spac 은 PHP를 이용해 웹어플리케이션을 개발시 구조적이고 체계적인 개발을 할 수 있도록 도와주는 PHP를 위한 개발 프레임웍입니다.

최근 PHP 프레임웍이 외국으로부터 많이 알려지면서 프레임웍을 이용하여 개발하는 사례가 많아지며, 프레임웍에 대해 관심을 갖는 PHP 개발자들 또한 많아지고 있는 추세인것 같습니다.

이런 분위기를 타고 저 또한 개인적으로 사용하고 있는 PHP 개발 프레임웍 Spac을 소개하고자 합니다.

Spac은 작고, 가볍고,  빠른 PHP 웹어플리케이션 개발을 위한 프레임웍입니다.


Spac 이라는 PHP프레임웍에 대해 특징을 위주로 하나하나 소개하겠습니다.


1. 개인/기업/영리/비영리기관 관계없이 무료로 웹사이트 개발에 이용하실 수 있습니다. (수정배포 불가)


2. 클래스기반의 작고, 가볍고, 빠른  PHP 웹어플리케이션 개발 프레임웍입니다.


3. URL을 분석하여 액션클래스를 매핑, 실행합니다.


4. M.V.C 패턴을 기본으로 지원합니다.


5. 웹어플리케이션을 위한 디렉토리 구성이 자유롭습니다.


6. 호출되는 URL과 이에 매핑되는 액션클래스를 사용자가 임의로 설정할 수 있습니다. (액션클래스매핑)


7. 간편한 HTML 레이아웃 구성 도구가 제공됩니다.


8. 뷰에서 PHP코드의 활용이 자유롭습니다.


9. 뷰에 전용템플릿태그를 기본적으로 지원하며, 사용자가 직접 태그규칙을 작성하여 실행할 수도 있습니다.


10. 뷰파일은 캐시되어 좀 더 빠른 엑세스를 가능하게 합니다.


11. URL 암호화 기능을 지원하며, 이 암호화 처리는 사용자 암호화클래스를 로드하여 구성할 수도 있습니다. 


12. 개발에 중요한 사항은 기본적인 플러그인으로 제공됩니다. ( Dao,  Paging 등)


13. 기타 다양한 확장을 위해 외부컨트롤러로드 도구를 제공합니다.


14. 지속적인 업데이트가 진행되며 업데이트 반영시 이미 개발된 사용자 어플리케이션에 영향을 거의 주지 않습니다.






1. Spac(Simple Php Action Class)은 클래스기반 개발 프레임웍입니다.

아래는 간단한 "Hello World" 를 출력하는 간단한  예제입니다.


(1) "HelloWorld"  클래스 작성 

model/HelloWorld.Class.php
<?php
class HelloWorld extends Controller {
    function HelloWorld () {
       $this->message = "Hello World!";
    }
    function execute() {
       $this->result_uri = 'helloworld.html';
       $this->dispatcher();
    }
}
?>

view/helloworld.html
<html>
<head></head>
<body>
{=message}
</body>
</html>


(2) 브라우저 호출 / 출력





2. URL을 이용하여 직접 클래스/메소드를 호출하는 방식을 사용합니다.

Spac에선 URL에 실제 웹서버의 디렉토리 및 파일구조를 명시하는 방식이 아닌 가상의 URL을 사용합니다.
이 가상의 URL은 Spac 내부에 구성된 사용자 클래스를 기반으로 구성됩니다.

위의 예제와 같이 URL에 클래스명 및 메소드명을 직접 명시하여 호출하면 Spac 컨트롤러가 해당 클래스의 메소드를 실행시켜 줍니다.

아래는 Spac 을 이용하여 개발시 일반적인 URL 호출 유형입니다.

 





3. Model, View, Controller 의 구조를 기본으로 하는 개발 프레임웍입니다.

다른 일반적인 프레임웍과 마찬가지로 Spac 프레임웍이 비즈니스로직과 프리젠테이션 영역을 분리하여 개발할 수 있도록 도와줍니다.

Model 에서 수행된 비즈니스로직 수행 결과를 View에 전달하여 사용자에게 출력(프리젠테이션) 하는 구조를 가지고 있으며, 이때 Model 과 View를 연결해주는 연결자 역할을 Spac 프레임웍의 Controller 가 담당하고 있습니다.



다음 그림은 Spac 프레임웍의 일반적인 프로세스 구성도 입니다. 



 


 

4. 웹어플리케이션들이 위치하는 웹디렉토리 구성이 자유롭습니다.

Spac 프레임웍을 이용하여 개발하면 웹디렉토리 및 파일구성이 자유롭습니다.

Spac 의 핵심코어 및 개발자가 작성한 중요한 어플리케이션들은 웹에서 직접 접근 불가능한 위치에 둘 수 있으며, 이를 권장합니다.

웹에서 접근 가능한 디렉토리 (일반적으로 "public_html" 혹은 "www" 등..) 에는 "index.php" 파일과 이미지 및 자바스크립트, 스타일시트 파일등만 위치하고, 중요한 웹어플리케이션 파일들은 웹디렉토리 외 다른 디렉토리에 구성할 수 있습니다.


아래는 기본적인 Spac의 디렉토리 구성입니다. (그림에서 public_html 은 웹에서 접근 가능한 웹디렉토리를 의미합니다.)



(위의 디렉토리 구성은 예제이며 사용자의 환경에 맞추어 자유롭게 구성할 수 있습니다.)






5. 클래스매핑을 이용하여 URL 에 직접 명시되는 클래스명이 노출됨으로서 발생할 수 있는 미연의 사고를 방지할 수 있습니다.

Spac에서는 URL 에 비즈니스로직을 명시 호출하여 해당 클래스가 실행되도록 하고 있는데 이때 노출될 수 있는 클래스명을 클래스매핑을 이용하여 전혀 다른 클래스가 실행 되도록 설정할 수 있습니다.

이는 URL로 "AClass" 가 호출되면 실제 "AClass" 가 아닌 "BClass"가 실행되도록 설정 할 수 있음을 의미합니다.



 

6. Spac 프레임웍에는 간편하게 페이지 레이아웃을 구성할 수 있는 도구가 제공됩니다.

기존 PHP 개발시 여러개의 조각 파일을 하나의 레이아웃 파일에 인클루드로 삽입하여 사용하던 방식을 Spac Layout 기능을 이용하면 더욱 더 간편하게 작성하실 수 있고, 유지보수 또한 간편하게 하실 수 있습니다.




▼▼▼





7. HTML을 이용하여 뷰 화면을 구성 / 출력 할 수 있으며, 자유롭게 PHP코드를 사용할 수 있습니다.

사용자가 작성한 클래스에서 도출된 결과값을 특정한 View 파일을 이용하여 출력할 수 있습니다.
이 View 파일은 HTML 코드로 작성할 수 있으며, 이 파일내에서 PHP 코드의 사용 또한 자유롭습니다.





8. 위 View 파일내에 PHP코드를 섞어 쓰는대신 템플릿전용 태그를 사용하여 좀 더 간결한 View를 작성하실 수 있습니다.

View 파일은 기본적으로 HTML코드 및 PHP코드를 사용하여 작성하지만, 여러가지 이유로 PHP코드 섞어 사용하기 불편한 경우 이를 대신하여 전용 템플릿태그를 사용할 수 있습니다.






9. View 파일은 Cache 파일로 저장하여 좀 더 빠른 엑세스를 가능하게 합니다.


레이아웃 및 템플릿 전용 태그를 사용하는 경우 서버에 부담을 줄여주고 속도를 높이기 위해 해당 결과물을 캐시파일로 저장하여 다음번 호출시 해당 로직을 수행하지 않고 즉각 캐시파일을 실행합니다.

원본파일이 수정될 경우 캐시파일이 자동 업데이트 ON/OFF 기능 또한 내장되어 있습니다. 






10. 외부 플러그인 컨트롤러의 자유로운 사용

Spac 프레임웍에서 개발에 필요한 모든 기능을 제공하지 않는 대신, 유용한 외부 클래스를 플러그인으로 로드하여 사용할 수 있는 환경을 제공합니다.

개발의 주가 되는 비즈니스로직과 직접적인 관련인 없는 범용 클래스들을 Spac에서는 외부컨트롤러로 인식하여 로딩하여 사용할 수 있도록 해줍니다.

 

이상 Spac의 일반적인 소개를 마칩니다.




Posted by webdata
카테고리 없음2010. 3. 12. 23:47
Spac 프레임웍의 다운로드  제공을 다시 진행합니다.
소스는 아래의 링크에서 받으실 수 있습니다.

Spac 프레임워크 다운로드 : http://www.phpwork.kr/Shopping
Posted by webdata

::: SPAC (Simple Php Action Class) PHP Framework:::


요기로 가서 보세요 : http://spac.tistory.com/65

Posted by webdata
Spac에서 모델은 사용자가 작성할 비즈니스로직을 뜻합니다.
Class 로 작성된 모델은  URL 을 통해 일정한 규칙대로 호출하게 되며, Spac 컨트롤러는 URL을 분석하여 해당 모델이 실행되도록 합니다.

::: 모델 클래스 작성 및 실행 방법 :::
1. 모델은 클래스(Class)로 작성해야 합니다.

2. 모델클래스는 model 영역에 작성해야 하며, Spac은 URL을 분석하여 model 영역의 사용자 모델클래스를 실행합니다.

3. 모델명명규칙은 아래와 같습니다.
    - 모델클래스 파일명은 "모델명.Class.php" 의 형태를 가져야 합니다.
    - 모델명은 알파벳 대/소 문자, 숫자, 언더바(_)만 사용가능합니다.
    - 모델명은 2글자 이상이어야 합니다.
    - 모델명의 첫글자는 반드시 대문자이어야 합니다.

4. 모델 클래스 작성시 Spac 컨트롤러의 메소드를 상속받아 사용하려면 반드시 Controller 를 상속받아야 합니다.

5. 작성된 모델 호출시에는 아래와 같은 URL 규칙으로 호출합니다.
    - http://www.mydomain.com/모델명/메소드명/전달변수1/전달변수2/전달변수3............

6. URL을 통해 모델 호출 시 메소드명은 생략 가능하며 생략할 경우 기본메소드인 "execute" 가 실행됩니다.

7. "model" 디렉토리 내에 하위 디렉토리를 만들고 그 안에 모델클래스를 작성하는 경우 호출 URL 의 모델명에 해당 하위디렉토리를 명시합니다.
    - http://www.mydomain.com/모델하위디렉토리명/모델명/메소드명/전달변수1/전달변수2/전달변수3............

Posted by webdata




Spac은 모델 및 사용자컨트롤러, 뷰 를 통합관리하는 PHP 개발 프레임웍입니다.
모든 파일들은 Spac 내에 위치하게되며 뷰를 제외한 모델 및 사용자컨트롤러는 PHP Class로 작성되어 집니다.

Posted by webdata

현재 사용중인 클래스의 모든 Object 들을 출력해줍니다.
모델클래스 또는 뷰에서 디버깅시 유용하게 사용할 수 있습니다.

뷰의 일부
<html><head><title></title></head>
<body>
.
.
.

<?=$this->viewThisObjectVars();?>
</body>
</html>

Posted by webdata
현재 파일에서 사용할 수 있는 모든 변수들을 출력해줍니다.
모델클래스 또는 뷰에서 디버깅시 유용하게 사용할 수 있습니다.

뷰의 일부
<html><head><title></title></head>
<body>
.
.
.

<?=$this->viewGlobalVars();?>
</body>
</html>

Posted by webdata