2011-07-26 3 views
1

PHP를 사용하여 상용 응용 프로그램을 개발하고 있습니다. CodeIgniter에 대한 경험이 있고 잘 작동하고 있으므로 사용하기로 결정했습니다. 이제는 내 응용 프로그램이 커질 필요가 있고 플랫폼에서 사용자 정의 수정이 필요한 시점에 CodeIgniter 소스 코드를 원래 코드에서 멀리 떨어진 지점으로 수정할 수 있습니까?코드 이그니 터 수정

+3

예. 그것은 오픈 소스입니다. –

답변

4

소스 코드를 수정하지 않는 것이 좋습니다. 응용 프로그램의 백본이 codeigniter의 미래 릴리스를 업데이트 할 수 없으므로 불가능합니다.

대신 핵심 기반을 확장하는 고유 한 클래스/라이브러리를 만들어야합니다. 이것은 최선의 방법입니다.

된답니다 사용자 가이드

이에 대한 몇 가지 환상적인 정보, http://codeigniter.com/user_guide/general/creating_libraries.html

행운이있다.

0

CodeIgniter는 PHP로 작성되었습니다. 어쨌든 당신이 좋아하는 프레임 워크를 완전히 다시 작성할 수 있습니다. 그래서 대답은 "예"입니다.

다른 언어로 작성되거나 프레임 워크에서 시작하여 여러 번 다시 작성된 수많은 웹 사이트가 많습니다. 나는 많은 개발자 (주로 프리랜서)가 처음 시작할 때 과도하게 생각하고 있다고 생각한다. 내가 프로젝트를 시작할 때, 나는 그것을 끝내고 웹에서 최대한 빨리 꺼내려고 노력한다. 웹 사이트가 시작되고 대부분의 시간에 돈을 벌기 시작하면 항상 재 작성 시간이 필요합니다.

데이터베이스와 테이블을 계획하고 디자인 할 때 시간을 보내는 것이 훨씬 중요하다고 생각합니다. 나중에 데이터베이스의 일부를 다시 실행하는 것이 더 힘들다고 생각합니다. 데이터를 사용하는 코드를 다시 작성하는 것입니다.

그냥 2 센트입니다.

1

수정하지 마십시오 (extend it). Ellislabreleasing bug fixes and patches 정도이며, 마지막으로 원하는 것은 업데이트 된 소스 코드를 공개 할 때마다 모든 업데이트를 새 하이브리드에 다시 엔지니어링해야한다는 것입니다. 또한 corereactor의 경우 다른 기능과 버그 수정이 릴리스되므로 현재 버전에서 프레임 워크를 잠글 계획이 아니라면 확장이 필요합니다.

좋은 소식은 CI가 제작되었으며 소스 확장을 권장한다는 것입니다. 시스템 폴더와 응용 프로그램 폴더 분리는 기본 라이브러리에서 확장 기능을 분리하는 방법을 명확하게 보여줍니다.

0

CI를 사용했다면 모든 소스 코드가 다운로드되어 있고 시스템과 응용 프로그램 폴더를 열어보고 거기를 통해 많은 정보를 얻을 수있는 PHP 프레임 워크라는 것을 알아야합니다. 그렇습니다. 모든 출처는 평이한 영어 (일반 프로그래밍 영어)로되어 있으며 평범한 영어로만되어있을뿐만 아니라 내부와 외부에 광범위하게 문서화되어 있습니다 (문자 그대로 출처와 사용자 가이드에 있음). CI는 단순한 사실로부터 초기 명성을 얻었다. 모든 코드는 광범위하고 세밀하게 문서화되었다.

그렇다면 질문 자체는 CI를 사용하여 상용 응용 프로그램을 작성하기 전에 CI를 조금 더 연구해야한다는 우려를 제기합니다. Ci는 강력하고 PHP 프레임 워크를 사용하기 쉽지만 WYSIWYG가 아닙니다. 제 생각에 코더는 견고하고 안전하고 신뢰할 수있는 응용 프로그램을 만들 수 있도록 자신의 도구를 안팎으로 알아야합니다.첫 번째 측정 방법은 사용 설명서를 읽는 것입니다. 최소한 모든 내용을 알고 있어야하며, CI 라이브러리를 확장하는 것부터 자신의 라이브러리를 만드는 것까지의 모든 부분을 다루는 12 개의 섹션이 있으며, 그걸로 좀 더 시간을 할애해야한다고 해.

나는 무례하지 않거나 어떤 식 으로든 부끄러워하지 않고 싶다. 단순히 그것을 사용하는 상용 응용 프로그램으로 들어가기 전에 프레임 워크를 조금 더 배워야한다고 말하고있다.

PHP 초기 사람들은 놀랍도록 쉽게 사용하고 얼마나 빨리 응용 프로그램을 작성할 수 있는지 깨달았습니다. 당시 새로운 프로그래머와 취미 프로그래머가 비싼 소프트웨어를 사용하거나 사용하는 데 어려움이있는 주요 옵션 인 PHP는 자유롭고 배우기 쉬웠으며 대부분은 무료 OS에서 실행되었습니다. 또한 거의 모든 설정을 진행하지 않아도 PHP를 다운로드 할 수 있으며 본질적으로 몇 분 안에 프로그래밍 할 수 있습니다. 이러한 모든 요소로 인해 언어가 거의 파괴됩니다.

엔트리 레벨 프로그래머는 다른 응용 프로그램에서 가져온 코드를 사용하여 코드를 파기하고 있었으며 코드가 실제로 무엇을했는지는 결코 알 수 없었습니다. 코드가 해로울 수 있습니다. 때문에 안타 수천을 복용 크기의 웹 사이트 골리앗로 성장했다이 연습 PHP 애플리케이션의 시간이었다 :

  1. 는 일반적으로 모든 주위 무너져 민감한 고객/클라이언트 데이터
  2. 을 나타 내기 위해 해킹
  3. 충돌하기 시작 웹

모두 언어가 사용하기 쉽기 때문에 사람들이이 언어를 이용하고 그것을 배우는 데 시간이 걸리지 않았기 때문에 모두입니다. PHP는 다른 전문 프로그래머들에게 농담이되어 버렸고 심지어 "복사하여 붙여 넣기"라는 언어로 불리는 많은 사람들에 의해 실행 가능한 응용 프로그램 언어로 생각조차되지 않았습니다.

내 조언은 시간을 들여 내외부 도구를 알기에 시간을 들이고, 그들이 어떤 멍청이가 있고 취약한 곳에서는 진드기가 무엇인지 확인하십시오. 전문적인 수준으로 언어를 배우려면 언어를 통해 구축해야한다는 것을 이해합니다. 따라서 CI를 사용하여 느리게 진행하는 것이 좋습니다. 가장 순수한 형태의 CI조차도 믿을만하고 강력한 도구인데 믿을 수없는 강력한 웹 응용 프로그램을 만들 수는 있지만 무학/미숙 한 손에서 혼란과 파멸을 초래할 수 있습니다.

so (비누 상자를 벗음) 간단히 말해서 상업적인 응용 프로그램을 만드는 것에 대해 진지한 생각을하는 경우 시간을 갖고 도구/언어를 가능한 한 전문가에게 가까이 배워야합니다. 나는 당신이 그렇게한다면 당신은 당신이 그것을 필요로 할 때 항상 일할 것이고, 당신은 테이블에 대항하여 당신의 머리를 때리는 데 더 적은 시간을 보내거나 그들의 사이트가 왜 고장인지 고객에게 설명하는 것을 악화시킬 것임을 확신합니다.

나는 진정으로 행운을 빌고 그냥 천천히하고 무역을 배우면 좋을 것입니다.

0

예, Codeigniter는 오픈 소스 프레임 워크입니다. 그러나 Codeigniter의 핵심을 수정하는 것은 권장하지 않습니다. 핵심 파일을 수정하지 않고 대부분 파일을 확장하고 안전하게 다시 작성할 수 있으므로 업데이트를 결정할 때 두통을 유발할 수 있습니다.

기본적으로 핵심 클래스를 확장하려면 Codeigniter에서이 작업을 수행하십시오. 이 예제에 대한 파서 클래스를 확장 하겠지만, 이는 모든 클래스에 거의 적용됩니다.포괄적 인 사용자 가이드의이 링크는 Codeigniter 핵심 클래스 내부에서 메서드를 확장하고 오버로드하는 데 필요한 모든 정보를 제공합니다. http://codeigniter.com/user_guide/general/core_classes.html

관련 문제