2009-03-27 3 views
5

프레임 워크가 원래대로 작성된 방법과 이유를 이해하는 가장 좋은 방법은 무엇입니까?프레임 워크 이해

+0

프레임 워크 정의에 동의하지 않습니다. 단일 프레임 워크 코드를 작성하거나 전혀 추상화하지 않고 논리적 인 프레임 워크를 가질 수 있다는 것이 내 믿음입니다. 템플릿? 그것은 프레임 워크의 일이 아닙니다. –

+0

아마도이 토론을 위해 다음과 같이 가정 할 수 있습니다. http://en.wikipedia.org/wiki/Software_framework http://en.wikipedia.org/wiki/Web_application_framework – GeekJock

답변

14

기능을 개발하거나 버그를 수정하십시오. 실제 솔루션을 개발하기위한 프레임 워크를 사용하면 문제를 해결할 수있는 단점이나 추가 할 기능 목록을 만들 수 있습니다.

버그를 수정하면 코드를 이해하는 데 도움이 될 것입니다. 왜냐하면 대부분의 경우 코드를 다시 작성하는 예제 코드를 제공하기 때문에 지옥의 창을 추적하여 잘못 된 부분을 찾을 수 있기 때문입니다.

정말 모든 것이 지속됩니다.

+0

버그 추적기를 방문하여 흥미로운 것, 그리고 그것을 다루려고? – GeekJock

+0

그래, 길고 짧다. –

6

매우 간단한 구성 요소를 사용하고 코드를 분석하십시오. 예를 들어 젠드 프레임 워크의 일부 구성 요소 (Zend_Version과 같이 완전히 단순하거나 다소 단순하지만 계속 간단하게 유지하려면 Zend_Debug)를 살펴보십시오. 그것들을 골라 내고 그것들을 진드기로 만드는 것이 무엇인지보십시오. 그런 다음 자신 만의 간단한 구성 요소를 작성하십시오.

1

당신은 올바른 길을 가고 있습니다. 로마는 하루 만에 지어지지 않았다는 것을 기억하십시오. 모든 집은 벽돌로 벽돌로 만들어져 있습니다.

프레임 워크를 사용하면 일부 단점을 발견하고 누락되었거나 개선이 필요한 기능을 찾을 수 있습니다.

여기에서 시작하여 개선 된 기능을 개발하여 프레임 워크 커뮤니티에 제출하여 동료 검토를 받으십시오. 그들이 당신의 작업을 프레임 워크에 포함시키지 않기로 결정하더라도, 당신은 당신의 작업에 대해 매우 귀중한 피드백을받을 것입니다.

거기서 멈추지 말고, 첫 번째 시도에서 배운 것을 사용하여 다른 사람이 프레임 워크에서 기대하는 것을 이해하는 방법을 배우십시오. 당신의 기대와 크게 다르다), hte 프레임 워크 자체의 내부 동작을 천천히 이해한다.

결론 : 인내심과 인내심을 갖고 있습니다. 이해가 뒤따를 것입니다. (음란하게 들리 겠지만, 효과가 있을지도 모른다.)

2

나는 세계가 머리에 구멍이 필요하다는 것을 알고 있지만, 자신의 틀을 쓰는 것은 언어 학습의 훌륭한 방법이다. 필자는 2 주 내에 PHP로 상당히 완성 된 것을 작성했으며 그 과정에서 PHP와 웹 개발에 대해 많은 것을 배웠다.

내가 세션을 관리하는 방식에 만족하지 못했기 때문에 내가 풀어주지 않은 유일한 이유는 좋은 학습 경험이었습니다!

프레임 워크 디자인을 시작하는 방법은 약 5 가지 기본 목표를 적어 두는 것입니다.광산이 있었다 :

  • 다스와 함께 간단한 웹 애플리케이션을 생성하기위한 정도
  • 는 SQL
  • 의 좋은 지식 것을 제외하고 어떠한 절차 적 코드 PHP 또는 기타 (사람들을 목표로 형성 SQL의 SP)
  • 에는 HTML/자바 스크립트/CSS 프로그래밍
  • 는 바닐라 PHP에서 작동/아파치는
  • 어떤 상태의 엄마를 XML에 설명
  • 응용 프로그램을 쌓지하여 필요 서버 상향 조정

저를 시작하기에 충분했습니다.

내가 제안 할 수있는 다른 제안은 프레임 워크 자체를 빌드하는 것과 동시에 프레임 워크를 사용하여 앱을 빌드하는 것입니다. 이것은 신속하게 문제를 밝히고 새로운 방향 abd 기능에 대한 아이디어를 제안합니다.

1

정의가 불분명하지만 대부분의 프레임 워크에는 여러 가지가 포함됩니다.

  • 은 (, 설정, 설치 환경을 관리하는 PHP 버전 간의 호환성 문제 등을 확인) 기본 부트 스트 래퍼를 제공
  • URL 라우팅 - 규칙을 정의하는 방법되는 URL이 어떤 페이지 지점으로합니다.
  • 등 플러그인, 라이브러리, 모듈,
  • 데이터베이스 ORM 관리 - 대신 SQL 쿼리를 작성하는 개체를 조작 (간체)
  • 템플릿 생성 - 일반적으로 템플릿 로직 미니 언어를 만드는 작업이 포함됩니다 (루프, 조건문) 템플릿 자체에 PHP 코드가있는 것을 피하십시오.

이 외에도 대부분의 프레임 워크에는 단순한 이메일 전송에서부터 고급 웹 서비스 API에 이르는 다양한 라이브러리가 포함되어 있습니다.

내가 보는 두 개의 프레임 워크를 추천 할 것입니다 :

  1. Codeigniter

    내가 그것을 상자 밖으로 작동하는 "배터리 포함"프레임 워크의이 있기 때문에 좋습니다. 또한 훌륭한 커뮤니티와 제 3 자 라이브러리가 많이 있습니다. CI는 프레임 워크가 PHP4와 PHP5 모두에서 훌륭하게 작동하도록하는 약간의 속임수가 있습니다. 이는 어떤 이유로 인해 많은 사람들이 여전히 PHP5를 사용하기 때문에 알기 좋습니다. 또한 엄격한 PHP5 프레임 워크로 다시 작성된 CodeIgniter의 한 부분 인 KohanaPHP을 살펴보아야합니다.
  2. Zend Framework

    젠드

    는 모듈 기반 프레임 워크이다. 디렉토리에있는 모든 것을 삭제하고 페이지를 대량 만들어내는 대신 필요한 부분을 골라 묶어 직접 붙입니다. Zend는 PHP의 엔진 뒤에있는 사람들 (아직 혼란 스러울까요?)이 PHP5의 "가장 최신이고 최고의"것을 사용하기 때문에 모든 것이 객체 지향적이며 타입 힌팅을 사용합니다. 약간 자세한 경우에는 매우 깨끗한 코드.

나는 필수적인 물건 부트 스트 래퍼 (프레임 워크에 대한 "접착제")뿐만 아니라, 각 프레임 워크는 사용자가 만든 라이브러리를 지원하고 플러그인을 할 수있는 시스템을 구현하는 방법을 생각합니다. 나머지는 독립 실행 형 응용 프로그램으로 다른 곳에서 찾을 수 있습니다.

3

'처음부터 많은 웹 사이트를 만든 후에도 같은 스크립트를 반복해서 반복적으로 사용하는 것으로 나타났습니다. 재사용 성을 위해 이전에는 추상화하지 않았기 때문에 엄청나게 지루한 것들을 발견했습니다. 따라서 웹 사이트를 만드는 데 경험이 있다면 프레임 워크에 포함시켜야 할 점에 대해 꽤 잘 알고 있어야합니다. 그렇지 않다면 아마도 MVC 파일 구조를 생각하고 프레임 워크에서 먼저 뷰를 사용한 다음 컨트롤러를 사용한 다음 모델을 사용하여 시작할 것입니다. 그런 다음 각각의 항목을 쉽게 확장 할 수 있는지 확인하십시오. 아무리 노력해도 항상 누락 된 항목이있을 수 있습니다. 그런 다음 유틸리티 (예 : 도우미, 모델 헬퍼 등)가 필요할 때마다 두드리기 시작합니다. 즉, 프레임 워크를 사용하려는 프로젝트를 생각해 내고 프레임 워크와 웹 사이트를 동시에 빌드하십시오.

+0

필자는 필자 자신의 프레임 워크를 필자가 꼭 쓰고 싶은지 잘 모르겠다. – GeekJock

+0

나는 다른 답변들에 빠졌고 당신의 의도가 아니라는 사실을 잊어 버렸습니다. 어쨌든, 어쨌든이 프레임 워크들이 어쨌든 어디서 오는지 당신에게 좋은 생각을 줄 것입니다. 나는 먼저 CakePHP를 개발하기 시작했다. 문서를 읽고, 웹 사이트를 반으로 만들고, 그 다음에 ... – mpen

+0

... 프레임 워크에 약간의 차이가있어서 내 모듈을 채울 수 있었다. 좋은 프레임 워크는 추가 기능을 지원할 것입니다 (언급했듯이). 타사 추가 기능을 다운로드하고 통합 방법을 확인한 다음, 필요에 따라 원하는대로 만들 수 있습니다. 그것은 조금 덜 ... – mpen

1

요청의 수명주기를 상위 수준에서 이해하려고 노력해야합니다. 젠드 프레임 워크에서 응답 요청에서 일어나는 일이 여기에 있습니다. http://framework.zend.com/manual/en/zend.controller.basics.html

+0

감사합니다. 좋은 조언입니다. – GeekJock

+0

아무 문제 없어, 그게 나를 위해 그것을 클릭하게 만들었습니다. – mkoga