成为PHP程序员的正确姿势
利益相关:以下的所有文字都是仅代表个人观点,不代表全组织的利益。
本人就是一大三狗,自学PHP时间已经快两年了,感觉自己还是一个入门级的选手。说说自己是如何一步步走过来的。
1. 官方文档
对,我还是坚持那个观点:80%的代码问题都可以通过仔细阅读文档解决。
所以如果你要学习PHP,那么PHP的官方文档你绝对是避免不了的。你可能在刚刚开始的时候是跟着某个老师的网上教学视频来学习的,这种学习编程的方式是极好。但是不管这么看视频,你最后还是得回到官网文档,你不用每个函数都被下来,但对于一些常用的函数和核心概念建议保存到大脑的内存区,保证他们可以在需要的时候随时调出来用;一些不太常用的函数你完全可以只记得大概,不太确定的时候回来查看就是了。但不管是哪种内容,你都得仔细阅读其中的内容,包括其中的示例代码。
2. PHP THE RIGHT WAY
我不知道其他学习PHP的人是怎么走过来的,我不知道他们有没有发现原来还有这么棒的PHP学习资料。但我相信如果一个人仔细地将PHP THE RIGHT WAY 的内容阅读完了并掌握了其中的大部分知识,这个PHP工程师是很有前途的。因为这对于一个刚参加工作的PHP工程师来说,这有可能就是一月8K和一个月5K的区别了。
3. 多编写网站
编程说到底其实也就是一门手艺,就对于智商差不多的程序员来说,技艺的高超程度往往就在于练的多少了。既然PHP天生就是用来创建Web应用的,那么毫无疑问,多写代码,将自己觉得有意思的点子变成一个个你用代码筑造的网站。没有别的,就是为了多练,这过过程可以让你接触到更多的代码问题,一旦你都解决了这些问题,你的经验值又提高了。
我这么久以来写过好几个站点,印象深刻的有以下几个:
其实在写这些东西的过程中,你解决的问题越多,你的能力提升越多。
4. 上手框架
写代码确实是一门手艺,但是我们在掌握了足够的基本知识之后,我们考虑的问题应该是从怎么创建一个应用上升到怎么更快地写出一个更好的应用。这时候,框架的作用就体现出来了,它不仅可以提高你的开发效率,而且想Laravel之类的框架简直可以让你写代码变得跟说话一样自然,舒服。好好了解框架的MVC是怎么实现,好好看看框架的文档时怎么,好好想想如果我要扩展这个框架,怎样才是最好的模式?基本上遵循:
学习框架 --> 使用框架 --> 扩展框架 --> 贡献框架源码
这样的思路去学习一个框架(虽然还做不到贡献源码),几乎可以掌握框架的所有知识了,这时你的编程思想和水平都会有很大的提升。
推荐的框架:Laravel Slim Symfony Yii
5. 读源码
如果说多写代码是建造性的学习,那么这里提到的阅读源码就是拆解性的学习。在创造的同时,你不妨多看看那些漂亮的轮子是怎么创造出来,看看人家解决同样的问题是什么样的思路,在你发现大神的思路如此的精彩的同时,你也在潜移默化地吸收着大神的思路。
今晚先写到这,太困了。早上起来再补下
Happy Hacking

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Pelanjutan URL Pelanggan PHP (CURL) adalah alat yang berkuasa untuk pemaju, membolehkan interaksi lancar dengan pelayan jauh dan API rehat. Dengan memanfaatkan libcurl, perpustakaan pemindahan fail multi-protokol yang dihormati, php curl memudahkan execu yang cekap

Alipay Php ...

Artikel membincangkan pengikatan statik lewat (LSB) dalam PHP, yang diperkenalkan dalam Php 5.3, yang membolehkan resolusi runtime kaedah statik memerlukan lebih banyak warisan yang fleksibel. Isu: LSB vs polimorfisme tradisional; Aplikasi Praktikal LSB dan Potensi Perfo

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Artikel membincangkan ciri -ciri keselamatan penting dalam rangka kerja untuk melindungi daripada kelemahan, termasuk pengesahan input, pengesahan, dan kemas kini tetap.

Artikel ini membincangkan menambah fungsi khusus kepada kerangka kerja, memberi tumpuan kepada pemahaman seni bina, mengenal pasti titik lanjutan, dan amalan terbaik untuk integrasi dan debugging.

Menghantar data JSON menggunakan perpustakaan Curl PHP dalam pembangunan PHP, sering kali perlu berinteraksi dengan API luaran. Salah satu cara biasa ialah menggunakan perpustakaan curl untuk menghantar post ...

Pengenalan rasmi kepada ciri yang tidak menyekat ReactPhp yang mendalam tafsiran mengenai ciri-ciri yang tidak menyekat ReactPhp telah menimbulkan banyak soalan pemaju: "ReactPhpisnon-blockingbydefault ...
