답글 내용:
실제로 PHP 소스 코드를 읽는 것이 가장 큰 도움이 될 것입니다. 전제 조건은 운영 체제 및 C 언어
http://www.php-internals.com/에 대한 기본 지식을 갖추는 것입니다.
모든 사람에게 적합한 프로젝트는 없습니다. 관심 있는 코드를 읽어보는 것이 가장 좋습니다. 이번 달 GitHub에는 인기 있는 PHP 저장소가 많이 있습니다
내 생각엔 thinkphp가 꽤 좋은 것 같아
우리 팀이 개발한 프레임워크를 기반으로 개발된 작업을 읽어보는 것이 좋습니다.
프레임워크: zentaophp
제품: zentao, ranzhi, chanzhi
우리는 시중에 나와 있는 많은 프레임워크에 대해 서로 다른 견해를 갖고 있기 때문에 자체 프레임워크를 개발하고 이 프레임워크를 기반으로 여러 모델을 구현했습니다. 오픈 소스 제품에는 각각 수십 개가 있습니다. 기능 모듈, 다국어 지원, 심층 확장 메커니즘, API 호출 메커니즘 등
PHP를 배우기 위해 프레임워크 코드를 읽는다면 Symfony2, Lavavel, Yii2와 같이 더 잘 알려진 프레임워크를 살펴보는 것이 좋습니다. 그러나 실제로 각 프레임워크는 소스 코드를 이해하기가 쉽지 않습니다. 디자인 패턴에 대한 지식과 새로운 언어 기능을 추가해야 합니다. 중요한 것은 언어 기술보다는 내면의 아이디어를 배우는 것입니다.
당신이 태그한 여러 오픈 소스 프레임워크를 바탕으로 제 개인적인 의견은 다음과 같습니다:
1. WP: 이 블로그 시스템은 사용하기에 나쁘지 않으며, 너무 깊이 파고드는 것은 권장하지 않습니다. 그냥 소스코드 디자인일 뿐이고, 전역변수를 많이 사용해서 고급스러운 방법이라고 볼 수는 없습니다.
2. Discuz!: 연구 가치가 있으며 물론 Discuz 제품군, ucenter, uhome 등이 포함되어 있어 다중 시스템 통합 아키텍처 중 일부를 배울 수 있습니다. 많은 새로운 아이디어를 제공합니다.
3. Yii: 특히 Yii2는 디렉토리 구조든 OOP든 모두 배울 가치가 있습니다. 단점은 국내 데이터가 많지 않고 시간이 걸린다는 점이다
4. 심포니: 많이 활용되지 않고 객관적인 의견을 제시할 수 없다.
최고의 연구는 코드를 작성하고 프로젝트를 수행하는 것입니다.
프로젝트 경험이 충분해야 좋은 것과 나쁜 것을 구별할 수 있습니다. 좋은 것과 나쁜 것
제 오픈소스 프로젝트에 참여하실 수 있습니다
https://git.oschina.net/yiany/yiany
개인적으로는 두 가지 방향이 있다고 생각합니다
- 하나: 전반적인 웹 아키텍처 수업
- 두 번째: 비즈니스 로직 수업
전체적으로 이야기해보자 웹 아키텍처 수업 첫 번째
가장 좋은 제품은 인기 프레임워크로, 완벽한 구조와 촘촘한 패키징, 완벽한 기능을 갖춘 웹 개발 프레임워크인 Yii, Symfony, ZendFramework를 추천합니다. 이러한 프레임워크를 공부하다 보면 웹에서의 다양한 개념을 경험하게 됩니다.
예를 들어 Yii를 연구하는 경우 Yii가 요청 개체와 응답 개체에 각각 쿠키 캡슐화를 배치한다는 사실을 알게 될 것입니다. 이렇게 하면 요청 중에 브라우저에서 쿠키를 가져와야 한다는 사실이 더 명확해집니다. 응답할 때 브라우저 측으로 설정해야 합니다.
게다가 웹상의 개념 외에도 우수한 프레임워크에서 좋은 디자인 솔루션, 디자인 개념, 구현 전략 등을 배울 수 있습니다.
또 다른 예로 Yii에서 컨트롤러 작업 코드를 재사용해야 하는 경우 일반적인 작업이 컨트롤러에 주입되는 것처럼 동작을 사용하여 확장할 수 있습니다. 이때 구조의 기능적 재사용을 깨뜨릴 필요가 있다면 이를 달성하기 위해 주입 클래스 기술을 사용하는 것을 선택할 수 있습니다. 다음으로, 이 클래스 주입 솔루션이 어떻게 구현되는지 생각해 보겠습니다. 코드를 추적해 보면 객체지향의 Traits 메커니즘이 사용된다는 것을 알 수 있습니다. 이는 학습 표면을 확장합니다.
(PS: Yii를 예로 사용한 이유는 최근 Yii에 대한 일부 기사가 게시되고 있기 때문입니다.)
비즈니스 로직 수업에 대해 이야기해 보겠습니다
그래서- 비즈니스 로직 클래스라고 불리는 이 클래스는 ecshop, phpCMS 등과 같은 특정한 특정 기능을 달성할 수 있는 시중에 판매되는 제품입니다. 이 유형의 제품의 특징은 일반적인 비즈니스 로직이 구현되어 있으며 구현이 매우 좋다는 것입니다. 이런 식으로 코드를 배우면 일반적인 비즈니스 로직의 특정 측면도 이해하고 무엇을 해야 하는지 알게 됩니다. 시간, 무엇을 해야할지.
예를 들어 ECshop을 배우면 일반적인 쇼핑몰이 갖춰야 할 비즈니스 로직을 알게 되며 비슷한 기능을 접하게 되면 절반의 노력으로 두 배의 결과를 얻을 수 있습니다.
(PS: 이런 제품이 많이 있습니다. 국산만이 아닌 세계를 바라볼 수 있습니다. 하지만 앞으로 국산 제품을 사용할 확률은 대문자로 표기됩니다)
위 제품 중 아무거나 , 반드시 하나를 선택한 다음 선택에 많은 시간을 소비하지 마십시오. 시간이 지남에 따라 열정이 사라지고 공식적으로 읽기를 시작하지 않고 선택만 완료했다는 것을 알게 됩니다. 안타까운 일이겠죠!
마지막으로, 다른 이야기를 하기 전에 반드시 매뉴얼을 두 번 읽어보시기를 강력히 권장합니다!
라라벨 바
Symfony는 Java에서 흔히 사용되는 디자인 패턴을 많이 사용하지만, 작성 방법 중 상당수가 상대적으로 오래되고 너무 복잡하기는 하지만 학습에 사용한다면 나에게 더 적합하다고 생각합니다.
Laravel은 Symfony에서 분리되었으며 작성 방법과 기술이 비교적 새로운 것입니다.
Yaf와 phalcon은 실제 애플리케이션의 트렌드입니다. PHP+C는 성능과 개발 효율성을 모두 고려합니다. 또한 일부 C 코드를 읽어야 합니다.