[PHP]程序员技能栈

[PHP]程序员技能栈

[PHP]程序员技能栈.md—/Users/zjh/Documents/我的文章/[PHP]程序员技能栈

PHP程序员技能站


摘要:创业不息、折腾不止,今年跟朋友又折腾了一个新项目:Color公寓。线上产品主要是一个在线网站,所以不得不把技术栈切换到网站开发模式。通过最近一段时间alpha版本的开发,对于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事务是怎样一个过程?

广告

好吧,下面是广告时间:

【Color国际青年公寓】是麦芒资产旗下的主打项目,一个面向租房市场的O2O项目。 简单来说:就是将现有出租房统一包装之后再分租给客户,统一规范管理;然后利用租客的天然流量优势,打造更加丰富的O2O生活闭环。面向群体是中等以上收入的年轻人。
我们的创始团队来自于阿里巴巴、美国雅虎、完美世界、魅族等一线企业,线下也有10多年地产中介经验的人才加盟。核心创始人已多次创业。
丰富的创业经验,千万级的天使融资,为您的未来提供了更有力的保证!
只要您认同我们的文化,有舍我其谁的自信,就果断向我们砸简历吧:hr@color520.com,待遇绝对超过BAT。 详情见:Color国际青年公寓

转载于:https://www.cnblogs.com/jhzhu/p/4504134.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/109453.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • pycharm安装配置教程_pycharm2020.2安装教程

    pycharm安装配置教程_pycharm2020.2安装教程Pycharm下载地址:http://www.jetbrains.com/pycharm/  (选择professional版)2.下载好之后直接默认安装

  • CString Find & ReverseFind[通俗易懂]

    CString Find & ReverseFind[通俗易懂]CStringszTemp="d:\VSproject\IniPractice\debug\IniPractice.exe";intnIndex1=szTemp.Find(‘\\’); //nIndex1=2;从左往右查找,并给出索引值intnIndex2=szTemp.ReverseFind(‘\\’); //nIndex2=31;从右往左查找,并反向给出索引值…

  • Linux的LVM管理磁盘 pvcreate vgcreate lvcreate

    Linux的LVM管理磁盘 pvcreate vgcreate lvcreate安装oracle数据库时,我们一般单独挂载一块非系统磁盘,然后将磁盘使用LVM动态卷管理的方式进行配置。本文仅记录工作中常用的操作流程及命令。非命令教学文章。

  • 接口测试用例设计及模板

    接口测试用例设计及模板一.接口测试用例设计规则1.通过性验证(按照接口规范)2.参数组合(多参数时)3.安全验证  绕过验证(卖家传个普通用户id)  绕过身份授权(修改商品价格)  关键参数未加密  密码安全规则4.异常数据(不按接口文档要求)  根据业务逻辑二.http状态码2002开头表示请求发送成功3003开头表示重定向4004开头表示客户…

    2022年10月27日
  • Spring过滤器和拦截器的区别[通俗易懂]

    Spring过滤器和拦截器的区别[通俗易懂]Spring过滤器和拦截器的区别 两者的作用 过滤器:是在javaweb中,你传入的request、response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的action进行业务逻辑,比如过滤掉非法url(不是login.do的地址请求,如果用户没有登陆都过滤掉),或者在传入servlet或者struts的action前统一设置字符…

  • 使用DatabaseMetaData获取mysql表的注释

    使用DatabaseMetaData获取mysql表的注释privateList<String>getTableNames(DatabaseMetaDatamd)throwsSQLException{ArrayList<String>tables=newArrayList<String>();ResultSetrs=md.getTables(null,null,””,null);while(rs.next()){.

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号