글쓴사람 관리자
글쓴시간2023년 1월 18일 오전 5시 1분 7초
    제목[컬럼] Tplus = PHP 뷰 영역의 서버사이드 언어
PHP 웹개발에 있어서

뷰 영역에 별도의 언어가 필요하다고 느끼는 이유는 무엇이며

뷰 언어에 요구되는 조건들이 있다면 무엇이고 Tplus는 어떻게 만족하고 있을까.

그리고 앞의로의 과제.



이렇게 이야기하려고 합니다



PHP 특징은

장구한 역사,

안정되고 강력한 젠드엔진,

이제는 컴파일 언어와 구분이 안되는 몸집.

여전히 어쩔 수 없는 더티함.



프로그래밍 언어들은 무엇이 왜 좋은지 혹은 안 좋은지

서로에게 배워가며 변화합니다. 구경해보면 너무 재미있습니다.



PHP 뷰 언어에 필요한 기본 요건은

1. 객체지향, 2. 펑셔널 패러다임, 3. 표준문법, 4. 마크업언어

Tplus는 이걸 클린 심플하게 제공한다고 생각합니다.



1. 객체지향

[= {6,7,8}.average()]

7

객체지향이란 기본적으로 데이터(=객체)가 주인공이고

해당 데이터 타입에 할 수 있는 연산(=메소드) 을 붙여서

코드를 구성하면 좋다는 이야기일 겁니다.


[="abcde".shuffle().toUpper()]

BCEDA




2. 펑셔널 패러다임

책을 읽기는 했는데 별로 기억이 안나고

버그의 원천 중의 하나는 변수다.

변수를 만들거나 변수값을 바꾸는 코드는 버그를 발생시킬 수 있다.

요즘 언어들은 바뀔리 없는 데이터라면 그렇다고 타입선언을 할 수 있게 해줍니다.

(상수랑 뭐가 다른거지?)


뷰 영역은 백엔드에서 전달 받은 데이터를 변경하지 않고

전부 불변식(immutable)으로 활용합니다.

변수의 값 자체를 바꾸는 일이 없습니다

가능한 메소드로 좀 꾸미는 일을 하고 출력하는게 전부입니다.




3. 표준문법

하자가 없다면 많은 사람들이 알고 사용하는 문법이 표준문법 아닐까요.

Tplus는 컬렉션으로 JSON 형식을 채택했는데

PHP쪽에서는 {} 와 [] 구분이 의미가 없어서

{} [] 아무거나 써도 되게 해놓았습니다.




4. 마크업언어

뷰 영역은 클래스를 선언하거나 무거운 코딩하는 곳이 아니고

서버사이드 언어는 조연으로서 태그 형식으로 존재해야 합니다.

클라이언트 사이드 프레임워크와 충돌하지 않아야 하고

서버사이드답게 [ ] 대괄호를 태그로 선택했고

템플릿언더바로부터 이어받은 명령어 다섯 개 중 하나가 붙었을 때

Tplus 태그가 됩니다

[= ][@ ] [? ] [: ] [/]




5. 남은 과제

런타임에러처리, 디버깅환경개선, 유닛테스트첨부, vscode용 플러그인

할 일이 많은데 지금도 템플릿언더바 때보다는 훨씬 좋습니다.

정식버전은 23년 1분기 내로 업로드하겠습니다.

초보 기존 프로젝트에 사용되었던 템플릿 언더바를 tplus 베타로 교체해서 기능 구현하는데 문제는 없을까요? 정식버전으로 작업하면 너무 좋겠지만 기한이 있는 프로젝트라서요 ㅠㅠ
23-01-18 11:03
관리자 템플릿언더바에 있던 기능(설명서 4,5)들이 많이 제외되었기도 하고 새 프로젝트나 개인 프로젝트에 적용하시는 편이 좋을 거 같습니다.
23-01-18 12:02
베르사체 기대됩니다.
23-02-09 16:24
관리자 열심히 하겠습니다
23-02-09 18:09
    이름
비밀번호
 
Since 2003-03-03 hosted on vultr.com