「精通 PHP」可以理解为以下三个:

  • 精通「PHP 解析器
  • 精通「PHP 语法、函数(这门语言)
  • 精通「PHP 项目开发

1 精通「PHP 解析器」

可以从这里开始学习:

  • PHP核心:骇客指南 :http://php.net/manual/zh/internals2.php
  • TIPI-深入理解PHP 内核:http://www.php-internals.com/

2 精通「PHP 语法、函数(这门语言)」

多看官方文档:http://www.php.net/manual/zh/

  • 为其一年,文档看十遍;
  • 看文档的时候连带下面的评论也都一并查看,那些评论价值极高,有代码示例的要运行一遍;

我见过一个 PHP 高手,2011 年那会没有好框架的时候,他用简单的编辑器手写代码,编码速度惊人,键盘敲击声如淘宝客服打字速度,啪啦啪啦啪啦啪啦啦,我问他怎么做到的,他一脸 ( ̄_, ̄ ) 的说:文档看了 8 遍吧,大家不都这样吗?

3 精通「PHP 项目开发」
 

这一块强调的是比较实战的「应用构建」。接触的更多是软件设计,工作流,随便列几个模块:

  • 用户认证
  • 用户授权
  • 缓存
  • 队列
  • 计划任务
  • 前端样式构建工作流
  • 邮件
  • 本地化
  • 文件存储系统
  • 表单验证
  • 分页
  • 测试
  • 数据模型设计
  • 错误记录
  • 日志管理
  • 模板引擎
  • 验证码
  • 第三方登录
  • 数据库优化
  • API 那一堆,如 OAuth、版本管理等。。。
  • 还有更多产品、业务专属的,如附近的人计算、积分系统等。。。
  • 一口气没说完。。。等。。。

这些需要大量的项目经验积累,按「10 个项目」为一个阶段,你会发现每 「10 个项目」你对 PHP 的理解都不一样。

实战项目这个因工作职位而定,外包公司一年勤奋的能接触到几十个项目,之前在外包公司待过,半年处理 13 个项目。

其他的如在大公司里面工作,接触的项目会比较少,有一些情况下,只是维护一个系统里的小功能,一年下来就一个项目经验。

你不需要去「自己从零开始写一个框架」来学习这些东西,就像 你不需要去学组装汽车,甚至是生产汽车零件来成为老司机一样

 
 

如何理解精通PHP ?的更多相关文章

  1. 《如何阅读it技术书》课堂笔记——51cto

    对一些书的看法: “21天精通JAVA之类”的书,好好理解精通二字,哪里有这么快就能学的会. 吐槽新人: Oop理论,别写出来的都是面向过程式. 桌面乱七八糟. 对新人分享一些经验: 阅读时自我提神的 ...

  2. 从GitHub Jobs! 看技术发展趋势! 程序员进阶必备!

    0. https://jobs.github.com/positions GitHub Jobs: 1. https://jobs.github.com/positions/38bb8dc8-b5b4 ...

  3. 十五天精通WCF——第八天 对“绑定”的最后一点理解

    转眼已经中断10几天没有写博客了,也不是工作太忙,正好碰到了端午节,然后最近看天津台的爱情保卫战入迷了...太好看了,一直都是回味无穷...而且 涂磊老师话说的真是tmd的经典,然后就这样耽搁了,好了 ...

  4. [转]十五天精通WCF——第八天 对“绑定”的最后一点理解

    转眼已经中断10几天没有写博客了,也不是工作太忙,正好碰到了端午节,然后最近看天津台的爱情保卫战入迷了...太好看了,一直都是回味无穷...而且 涂磊老师话说的真是tmd的经典,然后就这样耽搁了,好了 ...

  5. Java精通并发-透过字节码理解synchronized关键字

    在上一次https://www.cnblogs.com/webor2006/p/11428408.html中对于synchronized关键字的作用做了一个实例详解,下面再来看一下这个程序: 请问下, ...

  6. <程序员从入门到精通> -- How

    定位 自己才是职业生涯的管理者,想清楚自己的发展路径: 远期的理想是什么?近期的规划是什么?今日的任务和功课又是什么? 今日之任务或功课哪些有助于近期之规划的实现,而近期之规划是否有利于远期之理想? ...

  7. 精通Perl(第2版)

    精通Perl(第2版)(通往Perl大师之路必读经典书籍,体现了一种编程思维,能够帮你解决很多实际的问题) [美]brian d foy(布瑞恩·D·福瓦)著   王兴宇 刘宸宇 译 ISBN 978 ...

  8. IDDD 实现领域驱动设计-理解领域和子域

    上一篇:<IDDD 实现领域驱动设计-一个简单业务用例的回顾和理解> 在<实现领域驱动设计>第二章的前半部分内容中,提到领域和子域的概念,并且作者把这两者又进行了细致的区分,其 ...

  9. <精通JavaScript>---阅读笔记01

    下面是阅读精通JavaScript书做的相关笔记. JS中的函数重载 函数重载必须依赖两件事情:判断传入参数数量的能力和判断传入参数类型的能力,在js中每个函数都带有一个仅在这个函数范围内作用的变量, ...

随机推荐

  1. 【Visual Studio】解决方案未保存,请先保存你的解决方案,然后再管理Nuget包

    上网下的Demo,文件夹中没有.sln文件,用VS打开.csproj文件来打开方案.此时可能因为一些引用问题想打开Nuget包管理器,会弹出如下提示: 解决方案未保存,请先保存你的解决方案,然后再管理 ...

  2. 【WPF】CommandParameter解决多传参问题

    方法一:传参按钮控件自身绑定的ItemSource 用WAF框架实现MVVM,按钮的点击事件都要通过Command来传递到这个View对应的ViewModel上,再通过ViewModel传递到上层的C ...

  3. SpringMVC 多个数据源 配置多个事物管理器 Multiple Transaction Managers

    http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/transaction.html#transaction ...

  4. Jackson2.1.4 序列化格式化时间

    public class User { private int id; private Date birthday; private double money; private String name ...

  5. 简单文件系统构建ramdisk

    1.  BusyBox编译工具,包含bin, sbin, usr,  linuxrc. 2.  添加相关重要目录:dev,  etc,  mnt, proc,  sys, lib, var, tmp. ...

  6. Java命令学习系列(三)——Jmap

    Java命令学习系列(三)——Jmap 2015-05-16 分类:Java 阅读(479) 评论(0) Jmap jmap是JDK自带的工具软件,主要用于打印指定Java进程(或核心文件.远程调试服 ...

  7. JavaScript(一):JavaScript简介

    一.什么是JavaScript JavaScript是一种具有面向对象能力的.解释性的程序设计语言.更具体一点,它是基于对象和事件驱动并具有相对安全性的客户端脚本语言.因为他不需要在一个语言环境下运行 ...

  8. jquery实现简单瀑布流代码

    测试环境:ie8 ff13.0.1  chrome22 可以将分页获取的内容依次填入四个div中,瀑布流的分页可以以多页(比如5页)为单位二次分页,这样可以减少后台算法的复杂度 <!DOCTYP ...

  9. Keypress - 捕获键盘输入的JavaScript库

    Keypress 是一个强大的 JavaScript 库,用于捕获键盘输入.这是一个有非常特殊的功能的输入捕获库,它是很容易掌握和使用,并且不依赖第三方库.在网站开发中,经常会碰到需要处理键盘输入的场 ...

  10. 关于PHP开发所需要的工具和环境

    0.notepad++ 一个类型记事本的软件,用来看安装的部署说明命令. 1.虚拟机 在虚拟机里面操作,本机不会被影响. 2.CentOS系统 类似Linux的系统,在里面安装PHP,Nginx,ph ...