목차
回复讨论(解决方案)
백엔드 개발 PHP 튜토리얼 求PHP大牛指导提高

求PHP大牛指导提高

Jun 23, 2016 pm 02:16 PM

PHP 编程 面向对象 程序员

今天参加了一个Coding Dojo(编程道场),之后自己有一些疑惑,希望大牛能够给予指导。
我是个PHPer,现在在一家电商公司,目前是一个大牛和我一个程序员,我们用ThinkPHP框架,每次做功能的时候都感觉自己做得挺多,但是做完后却各种发现自己做的东西没有技术含量,没有用到面向对象思想,也没有用到设计模式,只是一些逻辑上的设计和解决问题,现在不知道自己该怎样在PHP方面有所提高,我是不是应该有意识地多写一些面向对象思想的程序呢?我之后应该如何提高自己,希望PHP大牛能够不吝赐教,小弟感激不尽~

回复讨论(解决方案)

我现在的状态跟你描述的差不过 我提供个思路:抽时间把现在项目按照面向对象的思路重新写一遍(抛开TP框架),从底层架构开始能做多少做多少  我觉得这样一定可以有所提高.

当你在做问答题时,才有可能发挥自己的想象
而使用框架只不过是在做填空题

但“没有用到面向对象思想”是不对的,你完成的正是对象的某些方法的具体实现

在框架的基础上,思考你是怎么依赖框架的,也就是说你为什么可以用框架这么做?

例如每次写业务逻辑你都是写一个controlle和action,然后就可以通过url来进行访问,有没有思考过从url请求到action中都经过了些什么逻辑处理?能否把这些逻辑理清楚呢?能否认识到这些逻辑之间是怎么样相互交互的?

多提出一些自己理所当然的知道一些事的真正原因是什么?慢慢的才会提高,也就是不仅知其然还要知其所以然。

小刀砍大树这句话常说吧,现在如果有电锯,还拿小刀去砍大树的人真是笨死了
但电锯是怎么把大树砍倒切割的,其原理还是要从小刀上理解??纵向发力叫做切、砍,横向发力叫做锯
纵向力费力,横向力省力,横向锯的次数与木头厚度成正比,而频率(就是次数/时间)跟发力(能量)有关
所以加入电力提高锯的频率(单位时间的次数)达到省时省力的目的

拿着电锯(工具,框架)确实能提高工作效率,以此累积的工作经验却是在这个工具上的,例如怎样握着电锯不容易脱手……
但想理解工作原理却是难事,最终还是要拿小刀来理解到底是怎样把木头切开的
如果只懂用电锯,去到一个新的木场没有电怎么办??

如果把解决问题建立在某个工具而不用考究它的原理,那必须确保你以后遇到该问题身边都有这个工具
例如宅人,打算一辈子不离开城市,那他只需要知道路牌这个工具就行,不需要懂什么迷路看星星/指南针辨认方向的知识(唉,现在的城市能看见星星也不容易);但如果想到处游历,又不确定去到一个新地方有没有路牌这东西,还是从低层次掌握基础知识比较好

如果你想学习提高理论技能,还是把手上的“高级的、优秀的”工具抛开吧
不确定一定能有混凝土预制件的话,还是学学怎么和稀泥的好

反正几十年来我没听说过巴西、朝鲜、伊拉克的球员会抱怨场地不好、草地绊脚的

小刀砍大树这句话常说吧,现在如果有电锯,还拿小刀去砍大树的人真是笨死了
但电锯是怎么把大树砍倒切割的,其原理还是要从小刀上理解??纵向发力叫做切、砍,横向发力叫做锯
纵向力费力,横向力省力,横向锯的次数与木头厚度成正比,而频率(就是次数/时间)跟发力(能量)有关
所以加入电力提高锯的频率(单位时间的次数)达到省时省力的目的

拿着电锯(工具,框架)确实能提高工作效率,以此累积的工作经验却是在这个工具上的,例如怎样握着电锯不容易脱手……
但想理解工作原理却是难事,最终还是要拿小刀来理解到底是怎样把木头切开的
如果只懂用电锯,去到一个新的木场没有电怎么办??

如果把解决问题建立在某个工具而不用考究它的原理,那必须确保你以后遇到该问题身边都有这个工具
例如宅人,打算一辈子不离开城市,那他只需要知道路牌这个工具就行,不需要懂什么迷路看星星/指南针辨认方向的知识(唉,现在的城市能看见星星也不容易);但如果想到处游历,又不确定去到一个新地方有没有路牌这东西,还是从低层次掌握基础知识比较好

如果你想学习提高理论技能,还是把手上的“高级的、优秀的”工具抛开吧
不确定一定能有混凝土预制件的话,还是学学怎么和稀泥的好

反正几十年来我没听说过巴西、朝鲜、伊拉克的球员会抱怨场地不好、草地绊脚的
这比喻。。。。。

了解底层,然后自己写框架

我以前跟楼主类似,
为解决这两个问题,
我主要采用2个方法,
1,再学一次c++

2,自己写了一个框架,并把自己的博客用自己的框架不断完善

希望楼主能够得到满意的答案

多写是当然的,可以去尝试一下其他框架和cms。

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. 크로스 플레이가 있습니까?
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

JWT (JSON Web Tokens) 및 PHP API의 사용 사례를 설명하십시오. JWT (JSON Web Tokens) 및 PHP API의 사용 사례를 설명하십시오. Apr 05, 2025 am 12:04 AM

JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적,

확실한 원칙과 PHP 개발에 적용되는 방법을 설명하십시오. 확실한 원칙과 PHP 개발에 적용되는 방법을 설명하십시오. Apr 03, 2025 am 12:04 AM

PHP 개발에서 견고한 원칙의 적용에는 다음이 포함됩니다. 1. 단일 책임 원칙 (SRP) : 각 클래스는 하나의 기능 만 담당합니다. 2. Open and Close Principle (OCP) : 변경은 수정보다는 확장을 통해 달성됩니다. 3. Lisch의 대체 원칙 (LSP) : 서브 클래스는 프로그램 정확도에 영향을 미치지 않고 기본 클래스를 대체 할 수 있습니다. 4. 인터페이스 격리 원리 (ISP) : 의존성 및 사용되지 않은 방법을 피하기 위해 세밀한 인터페이스를 사용하십시오. 5. 의존성 반전 원리 (DIP) : 높고 낮은 수준의 모듈은 추상화에 의존하며 종속성 주입을 통해 구현됩니다.

PHP에서 늦은 정적 결합의 개념을 설명하십시오. PHP에서 늦은 정적 결합의 개념을 설명하십시오. Mar 21, 2025 pm 01:33 PM

기사는 PHP 5.3에 도입 된 PHP의 LSB (Late STATIC BING)에 대해 논의하여 정적 방법의 런타임 해상도가보다 유연한 상속을 요구할 수있게한다. LSB의 실제 응용 프로그램 및 잠재적 성능

PHP의 CURL 라이브러리를 사용하여 JSON 데이터가 포함 된 게시물 요청을 보내는 방법은 무엇입니까? PHP의 CURL 라이브러리를 사용하여 JSON 데이터가 포함 된 게시물 요청을 보내는 방법은 무엇입니까? Apr 01, 2025 pm 03:12 PM

PHP 개발에서 PHP의 CURL 라이브러리를 사용하여 JSON 데이터를 보내면 종종 외부 API와 상호 작용해야합니다. 일반적인 방법 중 하나는 컬 라이브러리를 사용하여 게시물을 보내는 것입니다 ...

프레임 워크 보안 기능 : 취약점 보호. 프레임 워크 보안 기능 : 취약점 보호. Mar 28, 2025 pm 05:11 PM

기사는 입력 유효성 검사, 인증 및 정기 업데이트를 포함한 취약점을 방지하기 위해 프레임 워크의 필수 보안 기능을 논의합니다.

시스템 재시작 후 UnixSocket의 권한을 자동으로 설정하는 방법은 무엇입니까? 시스템 재시작 후 UnixSocket의 권한을 자동으로 설정하는 방법은 무엇입니까? Mar 31, 2025 pm 11:54 PM

시스템이 다시 시작된 후 UnixSocket의 권한을 자동으로 설정하는 방법. 시스템이 다시 시작될 때마다 UnixSocket의 권한을 수정하려면 다음 명령을 실행해야합니다.

프레임 워크 사용자 정의/확장 : 사용자 정의 기능을 추가하는 방법. 프레임 워크 사용자 정의/확장 : 사용자 정의 기능을 추가하는 방법. Mar 28, 2025 pm 05:12 PM

이 기사에서는 프레임 워크에 사용자 정의 기능 추가, 아키텍처 이해, 확장 지점 식별 및 통합 및 디버깅을위한 모범 사례에 중점을 둡니다.

See all articles