Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

라이믹스에서 새로 추가된 클래스, 함수 정리 #1019

Open
fromthere opened this issue Mar 18, 2018 · 1 comment
Open

라이믹스에서 새로 추가된 클래스, 함수 정리 #1019

fromthere opened this issue Mar 18, 2018 · 1 comment
Labels
discussion 토론 및 의견취합 필요

Comments

@fromthere
Copy link

라이믹스 전용 함수들이 널리 사용되기 위해서는 XE에서도 함수들을 사용할 수 있어야 한다고 생각합니다.(아직까지는 XE 점유율? 이 높은게 현실이라... 서드파티 제작자분들도 XE 기준으로 제작하시는분들이 대다수인걸로 알고있습니다)

그러기 위해서는 일단 라이믹스에서 새로 추가된 클래스나 함수를 정리할 필요성이 있다고 생각합니다. 모든 클래스/함수를 XE에서도 지원할순 없겠지만, 적어도 lang()함수 같은건 쉽게 지원할수 있을테니까요.

그리고 XE로 개발하던 개발자는 라이믹스 기준으로 개발해도 어느게 추가되었는지 몰라서 기존함수를 그대로 쓸지도 모를텐데 정리해둔게 있다면 참고자료로써 유용하지 않을까 생각합니다.

@kijin kijin added the discussion 토론 및 의견취합 필요 label Mar 18, 2018
@kijin
Copy link
Member

kijin commented Mar 18, 2018

common/framework/*

  • 라이믹스 프레임워크 전체

common/functions.php

  • 이 파일에 있는 함수 전체

common/legacy.php

  • get_time_zone_offset()
  • getInternalDateTime()
  • getDisplayDateTime()

Context

  • isLocked()
  • isBlacklistedPlugin()
  • isReservedWord()
  • getOpenGraphData()
  • addOpenGraphData()
  • setCanonicalURL()
  • getCanonicalURL()

모듈 및 템플릿에서 $this->user로 접근할 수 있는 방문자 정보

  • $this->user->member_srl
  • $this->user->isMember()
  • $this->user->isAdmin()
  • $this->user->isModuleAdmin()
  • $this->user->isValid()
  • $this->user->getGroups()

애드온에서 트리거를 사용할 수 있도록 해주는 ModuleController->addTriggerFunction()

템플릿에서 필터를 사용할 수 있음

그 밖에 각종 모듈마다 추가, 변경된 곳이 수천 군데 있습니다.

lang() 함수는 XE에서는 Context::getLang으로 연결시켜 줄 수 있겠습니다만, XE는 모듈.언어이름.배열키 문법을 지원하지 않으므로 100% 호환되지는 않습니다. 위에서 언급한 표준 시간대 관련 함수들도 XE 내부 구조를 뜯어고치지 않으면 구현하는 의미가 없고요. 겉으로 보이는 함수는 이용 편의를 위한 장치일 뿐, 내부적으로는 XE와 전혀 무관한 라이믹스 프레임워크로 연결되어 있는 경우가 많습니다.

lang() 함수는 이 글 때문에 나온 이야기인 것 같은데, 이제 와서 XE에 추가해도 소용없어요. 아예 함수를 호출하지 않고 템플릿에서 더 간편하게 언어파일을 참조할 수 있는 문법을 계획중입니다.

또한 라이믹스에 추가된 모든 코드에는 GPL 라이선스가 적용되므로 XE에서 코드를 복사해 갈 수 없고 다른 방법으로 직접 구현해야 합니다. 그냥 추가할 수 있는 것은 기껏해야 라라벨에서 가져온 array_first() 등의 유틸리티 함수 정도일 것 같네요.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion 토론 및 의견취합 필요
Projects
None yet
Development

No branches or pull requests

2 participants