zoukankan      html  css  js  c++  java
  • PHP程序员技能栈

    PHP程序员技能栈

    2015-07-10 PHP开发者 PHP开发者

    点击上方蓝字↑↑↑,轻松关注哦~


    写在前面


    当我们谈到PHP开发,我们其实是在谈论网站,数据库,缓存,session,负载均衡等等等等一些列复杂技术的集合。所以,PHP的技能栈也比一般得要长很多。


    PHP基础


    在这里,你需要了解的是:


    1. 在各个平台安装php并用php内置的web服务器成功的见到“Hello PHP”界面。

    2. PHP函数式编程语法,面向对象语法,命名空间。

    3. PHP标准库的熟悉。

    4. 调试工具:起码要知道xdebug的使用方法。

    5. 依赖包管理工具的安装、使用、原理,最常用的:composer,pear。

    6. 语法性能及原理:

      1. 万能的array。用法、实现原理、使用注意事项。(关键字:Hash Table)。

      2. 字符串链接的效率。

      3. 弱类型的实现原理。(关键字:zval)

    7. Http协议,Get/Post请求的不同。


    PHP原理


    设计理念及特点


    1. 多线程模型,请求独立。

    2. 弱类型语言。

    3. 引擎(Zend)+组件(ext)的组合模式。


    PHP四层体系


    1. Zend引擎:Zend整体用纯C实现,是PHP的内核部分,它将PHP代码翻译(词法、语法解析等一系列编译过程)为可执行opcode的处理并实现相应的处理方法、实现了基本的数据结构(如hashtable、oo)、内存分配及管理、提供了相应的api方法供外部调用,是一切的核心,所有的外围功能均围绕Zend实现。

    2. Extensions:围绕着Zend引擎,extensions通过组件式的方式提供各种基础服务,我们常见的各种内置函数(如array系列)、标准库等都是通过extension来实现,用户也可以根据需要实现自己的extension以达到功能扩展、性能优化等目的(如贴吧正在使用的PHP中间层、富文本解析就是extension的典型应用)。

    3. Sapi:Sapi全称是Server Application Programming Interface,也就是服务端应用编程接口,Sapi通过一系列钩子函数,使得PHP可以和外围交互数据,这是PHP非常优雅和成功的一个设计,通过sapi成功的将PHP本身和上层应用解耦隔离,PHP可以不再考虑如何针对不同应用进行兼容,而应用本身也可以针对自己的特点实现不同的处理方式。

    4. 上层应用:这就是我们平时编写的PHP程序,通过不同的sapi方式得到各种各样的应用模式,如通过webserver实现web应用、在命令行下以脚本方式运行等等。


    MVC 框架


    1. MVC理论。

    2. PHP模板。

    3. 常见的开源MVC框架,至少对其中一种有深入研究。


    OOP、设计模式、重构


    1. 面向对象编程的基础:继承、封装、多态。

    2. 常见的设计模式及应用场景。参考

    3. 对代码的坏味道有敏锐的嗅觉,掌握基本的重构方法。


    Web前端技能


    1. HTML/CSS/JavaScript 基础。

    2. 缓存,Cookie,Session原理和使用。


    MySQL数据库技能


    1. MySQL安装和配置

    2. MySQL增删改查基本语法

    3. 数据库设计原则和常见的技巧

    4. MySQL性能诊断和优化

    5. 分布式数据库设计、数据库备份和恢复


    服务器架设


    1. Linux常用命令。

    2. dns,cdn,缓存,带宽等资源的合理利用。

    3. nginx,apache安装和配置。

    4. 图床的架设。(关键字:EvaCloudImage)


    引用


    1. PHP The Right Way

    2. PHP底层的运行机制与原理

    3. A Baseline for Front-End Developers

    4. 代码重构

    5. 一次完整的HTTP事务是怎样一个过程?


    原文出处:知明所以的博客

    原文链接:http://www.cnblogs.com/jhzhu/p/4504134.html



    1.『PHP开发者』分享 PHP相关技术文章、工具资源、精选课程、热点资讯,欢迎关注。


    微信号:phpDevs


    (据说 90% 的人不知道长按上面的二维码图可关注)


    http://blog.jobbole.com/category/php-programmer/

    2. 点击“阅读原文”,查看更多精彩文章。

    ↓↓↓





  • 相关阅读:
    【转载】用opencv中的CvEM做GMM的训练
    关于OpenCV做图像处理内存释放的一些问题
    关于C++ vector的拷贝
    VS2015创建的C++程序在Debug模式下不能调试
    OpenCV中IplImage和Mat间的相互转换
    视频资源下载方法[download video resources]
    关于win10安装VisualSVN遇到的一个问题及解决办法
    win7启动出现蓝屏STOP: 0X0000007B
    CentOS下挂在NTFS分区
    硬盘类型和Linux的分区
  • 原文地址:https://www.cnblogs.com/shudai/p/4676777.html
Copyright © 2011-2022 走看看