2013-10-12 2 views
1

js 코드가 데이터베이스에 저장되고 클래스에 동적으로로드되는 플러그인 메커니즘을 구현하고 싶습니다. 특정 플러그인에 대한 쿼리가 수행 된 다음 쿼리 결과로 생성 된 코드가 javascript 클래스 (함수 및 멤버)를 업데이트하는 데 사용됩니다.데이터베이스/파일의 자바 스크립트 코드

그렇다면 JS 클래스 파일의 시작시 클래스의 일부가로드되고 클래스의 추가 부분이 db에서로드되고 런타임에 언로드되어 더 많은 기능을 제공한다는 것입니다.

가능합니까? 문자열에서 함수를 만드는 방법? 좋은 접근이라고 생각하십니까?

JS 프레임 워크는 ExtJS 4.1.1이며, 데이터베이스는 포스트 그레스 9.2

감사

답변

1

내가 ExtJS에 새로운 해요,하지만 내가 할 수있는이 방법을 추천하지 않을 것입니다.

  1. 의 ExtJS가 recommended directory hierarchycommand line build tool을 가지고, 그 강력하다. 그것을 다운로드하고 테스트 애플 리케이션과 함께 놀아 라. 당신은 당신이 당신의 접근 방식을 이것과 결합 할 수 있는지를 볼 것입니다. 나는 정말로 의심 스럽다. 접근 방식을 고수하려면 ExtJS 애플리케이션 아키텍처의 기본 요구 사항 및 권장 사항과 호환되도록해야합니다.
  2. 유지 관리 가능성에 대해 생각해보십시오. 데이터베이스의 코드를 어떻게 업데이트합니까? 개발 버전의 코드도 DB에 있습니까?
    예 : 개발을 위해 매우 어려울 것입니다.
    아니요 : 빌드 프로세스가 매우 복잡하고 복잡합니다. 응용 프로그램의 플러그인과

내 개인적인 접근 방식은 다음과 같이이다 : 나는 어떤 플러그인에 대한 액세스 권한이있는 사용자 저장 내 데이터베이스에서

  1. . 나는 또한 의존을 저장합니다. 사용자가 사용할 권한이있는 플러그인 목록을 포함하는 간단한 배열로이 정보를 클라이언트에 보냅니다.
  2. 응용 프로그램 코드는 모든 사람이 동일합니다. 이것은 하나의 축소 된 javascript 파일을 사용할 수있게하고, 나는 sencha app build 커맨드 라인을 가지고 빌드한다.
  3. launch 메서드에서 발생하는 플러그인은 Ext.application에서 발생합니다. 기본적으로 각 플러그인의 메뉴를 기본 메뉴에 추가합니다.
  4. 플러그인에 대한 액세스를 보호하기 위해 전체 PHP 백엔드가 보안되어 사용자가 허용 된 기능에만 사용자가 액세스 할 수 있습니다.

좀 더 간단한 개념을 개발하는 데 영감을 얻으시기 바랍니다.

+0

1. 내 접근 방식과 호환되지 않습니다. 2. 이제 DB에만 플러그인 이름과 디스크의 플러그인 파일 경로를 저장합니다. 현재 아키텍처는 기능 단위로 설계되었습니다. 모든 사용자가 동일한 권한을 가지고 있음을 의미합니다. 이 코드는 일련의 목록을 처리하며 대부분의 목록은 동일한 성격을 갖고 있으며 다른 목록은 "특별"입니다. 사용자가 해당 목록을 클릭하거나 열면 목록 이름 플러그인이 적용됩니다. 프레임 워크는 변경되지 않고 클래스는 플러그인의 코드로 동적으로 업데이트됩니다. 감사합니다. – user1944934

+0

방금 ​​아이디어를 공유했습니다 ... –