目錄
PHP程序员技能站
写在前面
PHP基础
PHP原理
设计理念及特点
PHP四层体系
MVC 框架
OOP、设计模式、重构
Web前端技能
MySQL数据库技能
服务器架设
引用
广告
首頁 後端開發 php教程 PHP程序员技能站

PHP程序员技能站

Jun 13, 2016 pm 12:19 PM
body color font markdown

[PHP]程序员技能栈

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

PHP程序员技能站


摘要:创业不息、折腾不止,今年跟朋友又折腾了一个新项目:Color公寓。线上产品主要是一个在线网站,所以不得不把技术栈切换到网站开发模式。通过最近一段时间alpha版本的开发,对于PHP开发有一个全面而粗浅的了解。又因为面试需要,在这里做一下总结。


  • 博客: http://www.cnblogs.com/jhzhu
  • 邮箱: jhzhuustc@gmail.com
  • 作者: 知明所以
  • 时间: 2015-05-14

  • 写在前面
  • PHP基础
  • PHP原理
    • 设计理念及特点
    • PHP四层体系
  • MVC 框架
  • OOP、设计模式、重构
  • Web前端技能
  • MySQL数据库技能
  • 服务器架设
  • 引用
  • 广告

写在前面

当我们谈到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国际青年公寓

1楼快乐八哥
最开始的链接出错了。http://www.cnblogs.com/jhzhu/p/color520.com。
Re: 知明所以
@快乐八哥,感谢告知,已改。
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1317
25
PHP教程
1268
29
C# 教程
1246
24
Vue3怎麼解析markdown並實現程式碼高亮顯示 Vue3怎麼解析markdown並實現程式碼高亮顯示 May 20, 2023 pm 04:16 PM

Vue實作部落格前端,需要實作markdown的解析,如果有程式碼則需要實作程式碼的高亮。 Vue的markdown解析函式庫很多,如markdown-it、vue-markdown-loader、marked、vue-markdown等。這些庫都大同小異。這裡選用的是marked,程式碼高亮的函式庫選用的是highlight.js。具體實現步驟如下:一、安裝依賴庫在vue專案下開啟命令窗口,並輸入以下命令npminstallmarked-save//marked用於將markdown轉換成htmlnpmins

Python如何建構一個Markdown編輯器 Python如何建構一個Markdown編輯器 May 13, 2023 am 09:58 AM

首先,請確保您已安裝Python3和Tkinter。我們需要的其他東西是tkhtmlview和markdown2。您可以透過執行pipinstalltkhtmlviewmarkdown2或pip3installtkhtmlviewmarkdown2來安裝它們(如果您有多個Python版本)。現在啟動您喜歡的編輯器或IDE並建立新檔案(例如www.linuxidc.com.py(我將其命名為linuxidc.com編輯器))。我們將從導入必要的庫開始。 fromtkinterimport*fro

Python之Pygame的Font模組-如何使用文字和字體? Python之Pygame的Font模組-如何使用文字和字體? Apr 23, 2023 pm 11:19 PM

Pygame的Font文字和字體Pygame透過pygame.font模組來建立一個字體對象,從而實現繪製文字的目的。此模組的常用方法如下所示:名稱說明pygame.font.init()初始化字體模組pygame.font.quit()取消初始化字體模組pygame.font.get_init()檢查字體模組是否被初始化,並傳回一個布林值。 pygame.font.get_default_font()取得預設字體的檔案名稱。傳回系統中字體的檔案名稱pygame.font.get_fonts()取得所有

聊聊VScode怎麼配置Markdown(附基礎語法) 聊聊VScode怎麼配置Markdown(附基礎語法) Dec 07, 2022 pm 03:40 PM

VScode中怎麼使用markdown?以下這篇文章跟大家介紹一下VScode配置Markdown的方法,並聊聊Markdown基礎語法,希望對大家有幫助!

怎麼用PHP實作markdown轉換 怎麼用PHP實作markdown轉換 Mar 24, 2023 pm 02:30 PM

隨著人們對於科技的不斷追求,越來越多的工具和應用程式被開發出來幫助人們簡化複雜的任務。其中之一就是 Markdown,它是一種輕量級的標記語言,可以將純文字轉換成 HTML 格式的文字。本文將介紹如何使用 PHP 來實作 Markdown 轉換。

如何在ThinkPHP6中使用Markdown 如何在ThinkPHP6中使用Markdown Jun 20, 2023 pm 11:00 PM

在現代網路時代的開發中,文件撰寫已逐漸從繁瑣的HTML標籤轉變為更為簡單且便於讀寫的Markdown語法。 ThinkPHP6使用了高度靈活的模板引擎,提供了方便的Markdown擴展,使得在專案中使用Markdown文件編寫和顯示變得十分容易。什麼是MarkdownMarkdown是一種輕量級的標記語言,可快速將純文字編寫的文件轉換為HTML,以便進行在

用了這條Linux指令,老闆直接給我的名字寫到加薪名單 用了這條Linux指令,老闆直接給我的名字寫到加薪名單 Feb 27, 2024 pm 08:49 PM

概述在Linux系統中,我們經常使用命令列來處理檔案和目錄。 Markdown是一種簡潔的標記語言,可快速建立和格式化文件。但要閱讀和管理Markdown文件可能需要大量指令和參數,對初學者來說可能有些複雜。這時就可以使用glow指令來簡化操作。 glow是一個旨在簡化在Linux終端機中渲染Markdown檔案的命令列工具。它的主要目標是提供使用者更直覺、更容易管理的Markdown文件閱讀體驗。 glow附帶一個用戶友好的圖形介面,讓您可以更輕鬆地查看和管理Markdown文件。透過此介面,您無需記

一份程式設計師必備的Markdown備忘單! 一份程式設計師必備的Markdown備忘單! Feb 16, 2023 am 11:22 AM

這篇文章為大家帶來了關於Markdown的相關知識,其中主要內容就是總結分享大家一份Markdown備忘單,有興趣的朋友下面一起來看一下吧,希望對大家有幫助。

See all articles