Table of Contents
回复内容:
Home Backend Development PHP Tutorial 作为一名合格的PHP程序员,应该进行哪些技术储备?

作为一名合格的PHP程序员,应该进行哪些技术储备?

Jun 17, 2016 am 08:30 AM

回复内容:

我对各种框架均毫无兴趣,哎。
说一下我的理解
1:安全 SQL注入,跨站脚本,XSS蠕虫,典型的上传漏洞及其他风险,以及CC攻击的原理和防范,不懂安全的开发工程师一定是不合格的。
2:数据库
能正确理解数据索引的原理,至少应包括hash索引和btree类索引,知道索引优化的原理和查询效率的分析方法。 这个说上去简单,根据我们的面试情况,未经受我们培训的工程师,能满足这个条件的十不及一。当然,北上广大公司多,可能会好一些。
知道关系型数据库和key-value数据库,以及内存数据库的各自优缺点和适用场景,可以根据具体业务诉求选择合适的数据存储模式。
有人会说,这不是DBA的活么?我一直觉得开发工程师和DBA压根就不应该区分出来,也许我有点偏执吧,不过我们公司基本上都要求开发工程师来兼任这一工作了。
3: 调试和测试的能力
这个虚一点,只说几个场景。
遇到各类型错误输出的显性bug,知道通过搜索获得辅助资料,并解决之。
遇到结果与期望不一致的隐形bug,诸如数据逻辑错误或者一些判断分支错误的问题,知道设计断点和输出中间数据来逐步定位问题。
在完成较大的工作任务时,知道每个步骤环节需要独立的测试,而不是笼统弄到一起才想到需要测试。
在业务诉求需要满足较高访问规模或公开暴露于外网有可能导致CC攻击时,知道提前做压力测试并给出性能指标。
4:代码注释
说注释而非文档,因为很难要求其他程序员一边看文档一边看程序,所以代码内的注释其实是非常关键的,发布版本的代码基于某些考虑可以取消注释;但是要保留一份原始带有详尽注释的代码。
5:业务需求理解力
我一向认为,php不是纯技术工种,更多直接面向需求,所以,对业务需求理解力越强,与有关产品人员,业务人员的沟通越顺畅,工作效果会越好;相信我,每个产品人员都喜欢懂需求,易沟通的开发工程师。
6:如有可能,对运维有一点了解最好,因为有时候,出一些诡异bug的时候,你需要做出正确的判断可能需要对运维环境有一定的认识。 按优先级来吧
1.PHP本身的语言特征,安全技术,以及评价较好的框架,类似CakePHP,Symfony等,当然还有一些国内的类似ThinkPHP等良好框架。作为PHP程序员,对PHP本身的优点以及缺陷,以及各种实现细节,要做较深入的了解。可以通过阅读一些比较流行的开源程序,比如各种CMS等。世界上本不存在完美的语言,但是作为程序员,你要善于弥补语言本身,甚至团队本身的缺陷让自己开发的系统趋于完美。同时还需要了解各种网络攻击技法,比如各种注入技术,以及黑客常用攻击技法,从而在开发阶段就及时填补各种漏洞。
2. Mysql数据库技术。Mysql可以说和PHP结合的那是相当的紧密了,可以说没有Mysql的话,PHP根本就不可能流行起来,所以一般都谈LAMP开发。还有就是你写的程序很大程度上瓶颈都会出在DB(尤其是在负载还不是很高的阶段),所以一定了解数据库的创建,优化技法。
3.HTML,CSS,JS等前端技术,甚至可以了解一些Flex等编程。不论你在PHP上使用什么架构或框架,毫无疑问,你最终和用户打交道的都是生成浏览器解析的前端代码。那么对这些技术的熟知无疑会加快你的工作效率,以及解决问题的能力。
4.Apache网站服务器,Linux系统知识。这是PHP程序运行的容器。了解一下鱼缸的好坏以及结构优缺点等,无疑对养鱼还是有好处的。 php主要涉及到的web开发。那你的会html,css,js前端的性能要了解。数据库的话主要是mysql,可以编写以及结合项目对sql语句调优。再则linux与服务器也得了解 合格的PHP程序员首先是一个合格的程序员。如果确定投身程序员这一行,php也应该只是你的开始而已。我的建议有如下几条:
一,初级程序员,跟着项目学。初级程序员主要是掌握必备的语言知识点等。
二,中级程序员,能够接触一些复杂的应用,如流量过百万,千万的应用,经历了这边项目,你自然能够对所需知识,应用自如。
三,专家程序员,对项目的反思、学习、与大牛们的交流中,逐渐形成自己的编程风格,对技术问题能有独到的见解,会对业务、技术、团队做整体的分析。。。
总之:程序员要通过不断的学习达到自我完善、而程序员也只是业务团队中的一员。技术最终还是要转化为商业的生产力,以及商业生产率的提升。尽量不要为了学技术而学技术。技术永远是为人服务的。 学好c/c++,php默认的搞不定就去做扩展搞定。 PHP程序员,雷雪松的个人博客是一个优秀IT技术博客。leixuesong.cn 数据库,调试和测试的能力,代码注释,业务需求理解力,运维我想这些东西多少要具备些的吧,呵呵 合格的php程序员:满足所在公司的业务和项目.
优秀的php程序员:在满足公司业务和项目之后,再把公司业务和项目优化和提升
大牛级的PHP程序:在满足公司业务和项目之后,再把公司业务和项目优化和提升之后,不局限于php层次去解决问题,并且在某些方面有一定的影响力!
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Apr 05, 2025 am 12:04 AM

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

How does session hijacking work and how can you mitigate it in PHP? How does session hijacking work and how can you mitigate it in PHP? Apr 06, 2025 am 12:02 AM

Session hijacking can be achieved through the following steps: 1. Obtain the session ID, 2. Use the session ID, 3. Keep the session active. The methods to prevent session hijacking in PHP include: 1. Use the session_regenerate_id() function to regenerate the session ID, 2. Store session data through the database, 3. Ensure that all session data is transmitted through HTTPS.

What are Enumerations (Enums) in PHP 8.1? What are Enumerations (Enums) in PHP 8.1? Apr 03, 2025 am 12:05 AM

The enumeration function in PHP8.1 enhances the clarity and type safety of the code by defining named constants. 1) Enumerations can be integers, strings or objects, improving code readability and type safety. 2) Enumeration is based on class and supports object-oriented features such as traversal and reflection. 3) Enumeration can be used for comparison and assignment to ensure type safety. 4) Enumeration supports adding methods to implement complex logic. 5) Strict type checking and error handling can avoid common errors. 6) Enumeration reduces magic value and improves maintainability, but pay attention to performance optimization.

Describe the SOLID principles and how they apply to PHP development. Describe the SOLID principles and how they apply to PHP development. Apr 03, 2025 am 12:04 AM

The application of SOLID principle in PHP development includes: 1. Single responsibility principle (SRP): Each class is responsible for only one function. 2. Open and close principle (OCP): Changes are achieved through extension rather than modification. 3. Lisch's Substitution Principle (LSP): Subclasses can replace base classes without affecting program accuracy. 4. Interface isolation principle (ISP): Use fine-grained interfaces to avoid dependencies and unused methods. 5. Dependency inversion principle (DIP): High and low-level modules rely on abstraction and are implemented through dependency injection.

How to debug CLI mode in PHPStorm? How to debug CLI mode in PHPStorm? Apr 01, 2025 pm 02:57 PM

How to debug CLI mode in PHPStorm? When developing with PHPStorm, sometimes we need to debug PHP in command line interface (CLI) mode...

How to send a POST request containing JSON data using PHP's cURL library? How to send a POST request containing JSON data using PHP's cURL library? Apr 01, 2025 pm 03:12 PM

Sending JSON data using PHP's cURL library In PHP development, it is often necessary to interact with external APIs. One of the common ways is to use cURL library to send POST�...

Explain late static binding in PHP (static::). Explain late static binding in PHP (static::). Apr 03, 2025 am 12:04 AM

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

See all articles