Joomla 구성 요소 도구 또는 비계?


12

Joomla 3.2 용 플러그인을 몇 개 만들었으며 최근 아파트 임대를 관리하는 구성 요소를 시작했습니다. 구성 요소가 빠르게 작동하는 데 필요한 파일로 기본 파일 / 폴더 구조가 이미 생성 된 프레임 워크가 있는지 궁금합니다.

시작할 때마다 휠을 다시 만들고 싶지는 않으며 구성 요소를 얻는 데 필요한 파일과 클래스에는 기본적으로 필요한 구조가 있습니다. 이미 있습니까?

그렇지 않은 경우 어떤 주식 Joomla 구성 요소가 작업하기에 좋은 예입니까?

편집 : 대답을 볼 때 "프레임 워크"가 잘못된 용어 선택이라고 생각합니다. 자체 코드베이스가있는 것을 찾고 있지 않습니다. 컨트롤러, 뷰 폴더, 모델 폴더 등과 같이 모든 Joomla 구성 요소에 공통이며 실행 해야하는 파일 / 폴더 구조를 가진 것을 찾고 있습니다.

내가 찾고있는 것은 Joomla 핵심 코드의 일부가 아닌 종속성이 없어야합니다.

joomla 1.5에서 필요한 모든 파일이 있고 클래스 및 파일 이름을 변경하여 구성 요소 이름과 설치하고 기본 관리자보기, 프론트 엔드 메뉴보기 등을 갖추어야했습니다. ... 나는 누군가를 위해


joomla 스캐 폴드를 찾고 있다면 mmleoni.net/joomla-component-builder를 사용해보십시오 .

답변:


15

과거에 사용한 도구 중 하나는 Component Creator입니다 : http://www.component-creator.com/en/ .

이 도구를 사용하면 구성 요소 자체에 대한 일반 정보뿐만 아니라 하나의 테이블을 무료 (유료 패키지에 가입 한 경우 추가)로 개요를 작성할 수 있습니다. 그런 다음 설치 가능한 zip 파일을 다운로드하여 구성 요소를 시작할 수 있습니다.

어쨌든 코드에 만족하는 사람들에게는 구성 요소 개발을 시작하는 데 아주 간단한 방법이 될 수 있습니다.


Joomla에 설치하여 다른 Joomla 구성 요소를 개발하는 데 도움이되는 일부 확장 기능도 있습니다. 그 도우미 스타일의 한 예는이 무료 확장 프로그램 Easy Creator입니다. http://extensions.joomla.org/extensions/miscellaneous/development/5908

이것은 하나의 멋진 패키지에 빌드 도구와 혼합 된 테스트 환경을위한 훌륭한 애드온이 될 수 있습니다.


간단하고 빠른 구성 요소 생성을위한 Joomla 구성 요소 생성기라는 또 다른 도구가 있습니다. 그것은 당신이 무료로 무제한 테이블을 만들 수 있습니다. 유료 패키지가 있지만 여러보기가 필요하지 않으면 구매할 필요가 없습니다. 다운로드 가능한 설치 가능한 zip 파일도 생성합니다. 테스트 결과이 발전기의 이점이 밝혀졌습니다. 생성 된 코드와 들여 쓰기를 살펴보십시오.

http://www.componentgenerator.com/


구성 요소 작성자가 유망 해 보입니다. 시험해보기를 기다릴 수 없습니다.
Nestor Ledon

Component Creator는 몇 분 안에 설치 가능한 MVC 구성 요소 "프레임 워크"를 얻는 것이 좋습니다.
fruppel

구성 요소 작성자는 훌륭하며 무료 수준에도 필요한 것을 많이 제공합니다.
패스 파인더

8

고객을 위해 수많은 확장 프로그램을 작성한 후, 나는 계속해서 같은 패턴을 많이 따르는 것을 발견했습니다. DRY를 유지하기 위해 필자가하는 대부분의 일반적인 작업을 추상화하는 "구성 요소 프레임 워크"를 만들었지 만 지금까지는 회사에서 내부적으로 만 사용되었습니다. 많은 기능이 없지만 필요한 작업을 수행합니다.

나는 이것을 말했다-같은 방식으로 자신의 구성 요소 프레임 워크를 개발하십시오. 현재 생성하는 코드의 공통성을 취하여 OO 계층 구조의 한 수준 위로 구성 요소와 Joomla 사이에있는 자체 레이어로 이동하십시오. 이 접근 방식을 사용하면 Chad가 언급 한 "프레임 워크가 터질 경우"문제를 피할 수 있으며 훨씬 더 잘 이해할 수 있습니다. 그것은 지금까지 잘 작동했습니다.


이것은 내가 찾고있는 것입니다. joomla 1.5에는 멋진 말이 있습니다.
패스 파인더

1
FOF (Framework on Framework)라는 최신 버전의 Joomla와 함께 제공되는 DRY 구성 요소 프레임 워크가 있습니다. Documentation , Google Group
fruppel

나는 FOF를 알고 있지만 크기면에서 상당히 무겁고 많은 곳에서 Singleton 및 Statics와 같은 오래된 관행을 사용하기 때문에 사용하고 싶지 않습니다.
Don Gilbert

안녕 돈, 나는 똑같은 일을하고 매우 행복합니다. 다른 개발도 권장합니다.
Piero Marsilio

5

여러 가지 이유로 이런 종류의 '프레임 워크'를 권장하지 않습니다.

1) CMS에는 '프레임 워크'가 있으며 확장을 작성하기 위해 '더 쉽게'만들 필요가 있다면 타사 항목을 작성하는 대신 핵심 프레임 워크 코드에 중점을 둘 것입니다.

2) 기능이 떨어지는 프레임 워크에 확장 기능을 작성하면 다소 혼란 스럽습니다.

3) 코어를 사용하면 업데이트를 개선하는 것이 이상적입니다. 이것은 항상 그런 경우가 아니기 때문에 이에 대한 제 3 자 프레임 워크가있는 이유입니다. 그러나 우리가 그 주장을 주장하고 더 많이 기대할수록 실제로 더 커질 것입니다. 우리가 그것에 초점을 맞추지 않으면 결코 개선되지 않을 것입니다.

-

따라서 Joomla에는 FoF (프레임 워크의 프레임 워크)라는 "RAD 프레임 워크"가 있습니다. 나는 그것을 사용하지 않았지만 시간 절약 도구라고합니다. 여기에 몇 가지 문서가 있습니다.

https://www.akeebabackup.com/documentation/fof/getting-started-with-fof.html

참고-FoF는 Joomla 3.2의 배포판에 포함되어 있으므로 Joomla 3.2+ 용 확장 기능인 경우 FoF를 설치할 필요가 없습니다.

마지막으로 코어에 머무르고 코어 MVC 클래스를 사용하려는 경우 현재 레거시 MVC 클래스를 사용하는 것이 좋습니다 (새 MVC가 완전히 중단 되 자마자 변경 될 것입니다). 살펴볼 기본 확장은 실제로 com_contact 또는 com_banners 구성 요소입니다. 그것들은 상당히 간단하며 JForm 및 커스텀 모델과 같은 것을 선택할 수 있습니다.


@chad에 동의합니다. 정말로 프레임 워크를 사용하고 싶다면 FOF를 사용해보십시오. 다른 프레임 워크보다 훨씬 좋습니다.
Ramesh Elamathi

4

나는 Cook Self Service를 강력히 추천 합니다. 나는 약간의 청구가 있다고 생각하지만 주요 교육 구성 요소의 약 85 %를 생성하여 시작하는 데 1000 달러를 절약했으며 생성 된 코드는 수정하기에 좋고 깨끗했습니다.


3

Joomla Hello World 컴포넌트를 살펴 보셨습니까 ? 아직 살펴 보지 않았지만 구성 요소를 만드는 데 필요한 최소 파일이있는 것처럼 보입니다. 또한 Joomla 3.2에는 FFO (Framework on Framework)가 포함되어 있으므로 To-Do FOF 예제 구성 요소 를 살펴 보셨습니까 ? 필자가해야 할 일 목록에 사용자 정의 Joomla 3.x 구성 요소를 작성했으며 이것이 프로젝트를 시작할 때 사용할 두 가지 예라는 것을 알고 있습니다. 잘만되면 그들은 당신을 위해 일할 것입니다.


1
  1. 우리는 Joomla 위에 RB 프레임 워크를 개발했습니다. 컴포넌트 개발 (PayPlans, PayInvoice 등)에 사용합니다 ( https://github.com/readybytes/rbframework )

  2. 동일한 구성 요소 빌더가 있습니다 ( https://github.com/readybytes/component-builder )

위의 프레임 워크는 똑같은 일을 반복하는 스트레스를 줄여줍니다.

임프 :

  1. 문서를 사용할 수 없습니다. 기존 구성 요소로 학습해야합니다.
  2. 당사 웹 사이트에는 블로그 및 문서화를위한 맞춤형 구성 요소 (하루 개발)가 있습니다.

사용 방법에 대한 지침을 제공 할 수 있다면 readme에서 훌륭 할 것입니다. 지금은 어디서부터 시작해야할지 모르겠습니다.
Valentin Despa
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.