cari
Rumahpembangunan bahagian belakangtutorial php怎么解决深入学习PHP的瓶颈

怎么解决深入学习PHP的瓶颈

Apr 04, 2017 pm 03:13 PM
phpkesesakan

PHP给学习者的感觉是:初学的时候很容易,但是学了2-3年,就深刻感觉遇到了瓶颈,很难深入,放弃又可惜。所谓“鸡肋,食之无味弃之可惜”的感觉很是贴切。

经常会有这种感觉:不学,看似也不后退;学了,好像也没什么进步;if...else循环这些你也都知道,甚至还能记住一些别人不大会的函数,但是一到项目来了,就头大。纵然口中千语万言,但其实心中实无一策。遇到什么问题都一片迷茫,提心吊胆,无从下手......

此时,首先恭喜你已经入行了,其次恭喜你遇到了深入学习PHP的瓶颈。

不过一旦通过这个关卡,你的认识水平将会更上一层楼。但这个关卡并不容易通过。因为,阻碍你的不是PHP的东西,而是很多非PHP的东西......

要怎么解决这个瓶颈?怎么才能深入学习PHP?

1:深入理解编程思想

PHP开发项目涉及到的编程思想有:面向过程编程实现,面向对象编程实现,面向切面编程思想;

不只是熟悉,而是要精通;

PHP一开始是变量,分支语句,循环语句,然后就是函数了,所以这是一开始就会遇到的编程思想:面向过程编程思想。它是以函数为单位,把引起重复的代码都封装成函数的一种处理思想。可以用这种思想直接去开发项目,也是可以开发出来的。但是你会遇到很多很多重复的代码,你会造很多很多文件,所以只用面向过程编程思想去开发项目,最大的特点就是:项目中的文件数量太多......文件太多会造成文件夹的分布难易把控,也不利于项目的维护和升级,难以做大项目,通常做个企业站差不多。

你应该减少文件数量,那么就需要新思想了:面向对象编程思想。它的主要特点就是:封装、抽象、继承、多态、接口

不要死记硬背这些,要充分的用现实道理去理解它,起码要能说服自己。比如:就问你,为什么要有继承,为什么要有多态?他们是基于什么原因而产生的?他们的长相为什么是那样子?

这是重点,也是难点。难就难在,你好像都看过了,而且还看过很多的书籍,但是用的时候好像就搭不着边。因为你没有吃透它。这起码会阻碍你对PHP的框架的深入认识,比如很多人用TP开发项目,用Laravel开发项目,但是你是否深入研究了TP的源码?Laravel的源码?Composer是什么东西?为什么要这样?

此时你应该是“把薄书读厚”的阶段,你要充分的去寻找这些问题的答案,多问一下为什么,然后去找答案,在寻找答案的过程中,你不知不觉的就提升了水平......

用面向对象思想去开发项目,可以大量的减少文件的数量,让你的项目很紧凑,精简,但是功能又强大,扩展性好。不过当你的项目越来越大的时候,你会发现还是有很多重复的代码,他们体现在文件和文件之间有不可避免的重复,这不是面向对象的缺陷,而是项目本身的问题,面向对象只是没有强大到能解决这些而已(面向过程就更不行了)。此时你要升级你的新思想了:面向切面编程思想。可能这种思想你感觉到很模糊。但我如果说“套模板里的获取数据的标签”,你应该就清楚了吧。

形如:

5" order="id asc" limit="10">

《{$title}》---{$author}

{$add_time}

这是在套模板的时候经常要使用到的获取动态数据的方式。但你能解释为什么要这样做吗?以及为什么它长成这个样子?

其实能回答这些问题,你就已经进入了面向切面编程思想的领域,因为你要深刻去理解模板解析引擎......它就是为解决大项目而带来的但是面向对象还不能解决的代码冗余问题。这样才能让你的项目越来越大......

2:MVC,单入口,正则表达式

MVC不是记住这几个单词,是要深刻理解它。理解为什么要有控制器Model,View,以及它们各自的内容应该是什么...

正则表达式也是需要很熟练的。

3:数据库的深入

对于数据库的分库、分表、分区、数据库集群要开始学习了。

数据库优化,比如:索引优化,SQL语句的优化等。

4:各种缓存的处理

如:文件缓存,数据库缓存,内存缓存等。

这些就会牵涉到很多东西,如:配置文件的写法和操作,数据库缓存表,缓存字段等。NoSQL的引入,如:Memcache,Redis,Mongodb,....

5:服务器

主要是Linux服务器,它上面的内容就多了,最先带出来的就有Apache,Nginx等web监控程序。

还有ssh,ftp,等常用程序。

深入一点还有shell编程,以及用shell编程去开发一个服务器管理系统,如:AMP,WDCP,....这些东西看似做PHP工作的你无关,但是如果你的网站访问不了,你知道是什么地方有问题了吗?所以不是无关,而是很有关,所以不要再保留那种局限的狭隘意识了。

6:负载均衡、网站抗压等

这些是做一个有发展潜力的项目的必须的内容,你了解了多少?和PHP有关。

7:深入学习数据结构

相信大一的时候你学数据结构,里面讲些指针,链表,队列,堆栈什么的,你会听的云里雾里,而且你也不怎么用的到。但是这个阶段你可以深入来学习了,它会有助于理解比如Apache的原理,当然就可以让你更容易和轻松使用Apache了。这其实就在无形的帮你解决瓶颈问题。

8:需要学习底层语言

主要是:C语言,C++;可见C语言和C++是非常重要的基础语言。PHP解释器是由C/C++写出来的,浏览器也是由它们写出来的,这当然就和你的PHP应用联系起来了。

9:加强应用层面的学习

如:微信开发,各种第3方插件的使用,如:jquery,Layer,bootstrap,Uploadify。甚至自己动手写需要的插件。

不要只限制PHP,而要开始动手弄前端了,因为前端的东西可以让你更深入理解PHP。比如:网站首页的文章提取,如果数字是1,2,3,4,5这些,你可以从前端解决,也可以从PHP那边解决...如果要求更变态的信息展示呢?很可能就适合在PHP那边解决甚至在数据库那边解决......

扩展你的认识会帮你深入学习PHP......

总之,当你学习PHP有一定的基础了,你就不会再轻而易举的说PHP很容易,很简单,两个星期学会之类的幼稚的话了。你甚至会感觉到自己越来越渺小,还需要学很多很多东西,这样还好,至少你真的是入这一行了,但越来越会遇到深入学习PHP的瓶颈了。阻碍你前进的步伐的东西是那些很多非PHP的东西。你要用豁达的心态去涉猎那些遇到的,不要挑肥拣瘦、挑三拣四,嫌弃这个嫌弃那个,然而整天又在埋怨....

只要坚持下去,解决一个个新的为什么,你的瓶颈会有过去的那一天,那时候你就是真正的学有所成了,一个融会贯通而具有综合解决问题能力的大牛。

Atas ialah kandungan terperinci 怎么解决深入学习PHP的瓶颈. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Status Semasa PHP: Lihat trend pembangunan webStatus Semasa PHP: Lihat trend pembangunan webApr 13, 2025 am 12:20 AM

PHP tetap penting dalam pembangunan web moden, terutamanya dalam pengurusan kandungan dan platform e-dagang. 1) PHP mempunyai ekosistem yang kaya dan sokongan rangka kerja yang kuat, seperti Laravel dan Symfony. 2) Pengoptimuman prestasi boleh dicapai melalui OPCACHE dan NGINX. 3) Php8.0 memperkenalkan pengkompil JIT untuk meningkatkan prestasi. 4) Aplikasi awan asli dikerahkan melalui Docker dan Kubernet untuk meningkatkan fleksibiliti dan skalabiliti.

PHP vs Bahasa Lain: PerbandinganPHP vs Bahasa Lain: PerbandinganApr 13, 2025 am 12:19 AM

PHP sesuai untuk pembangunan web, terutamanya dalam pembangunan pesat dan memproses kandungan dinamik, tetapi tidak baik pada sains data dan aplikasi peringkat perusahaan. Berbanding dengan Python, PHP mempunyai lebih banyak kelebihan dalam pembangunan web, tetapi tidak sebaik python dalam bidang sains data; Berbanding dengan Java, PHP melakukan lebih buruk dalam aplikasi peringkat perusahaan, tetapi lebih fleksibel dalam pembangunan web; Berbanding dengan JavaScript, PHP lebih ringkas dalam pembangunan back-end, tetapi tidak sebaik JavaScript dalam pembangunan front-end.

PHP vs Python: Ciri dan Fungsi TerasPHP vs Python: Ciri dan Fungsi TerasApr 13, 2025 am 12:16 AM

PHP dan Python masing -masing mempunyai kelebihan sendiri dan sesuai untuk senario yang berbeza. 1.PHP sesuai untuk pembangunan web dan menyediakan pelayan web terbina dalam dan perpustakaan fungsi yang kaya. 2. Python sesuai untuk sains data dan pembelajaran mesin, dengan sintaks ringkas dan perpustakaan standard yang kuat. Apabila memilih, ia harus diputuskan berdasarkan keperluan projek.

PHP: Bahasa utama untuk pembangunan webPHP: Bahasa utama untuk pembangunan webApr 13, 2025 am 12:08 AM

PHP adalah bahasa skrip yang digunakan secara meluas di sisi pelayan, terutamanya sesuai untuk pembangunan web. 1.PHP boleh membenamkan HTML, memproses permintaan dan respons HTTP, dan menyokong pelbagai pangkalan data. 2.PHP digunakan untuk menjana kandungan web dinamik, data borang proses, pangkalan data akses, dan lain -lain, dengan sokongan komuniti yang kuat dan sumber sumber terbuka. 3. PHP adalah bahasa yang ditafsirkan, dan proses pelaksanaan termasuk analisis leksikal, analisis tatabahasa, penyusunan dan pelaksanaan. 4.Php boleh digabungkan dengan MySQL untuk aplikasi lanjutan seperti sistem pendaftaran pengguna. 5. Apabila debugging php, anda boleh menggunakan fungsi seperti error_reporting () dan var_dump (). 6. Mengoptimumkan kod PHP untuk menggunakan mekanisme caching, mengoptimumkan pertanyaan pangkalan data dan menggunakan fungsi terbina dalam. 7

PHP: asas banyak laman webPHP: asas banyak laman webApr 13, 2025 am 12:07 AM

Sebab mengapa PHP adalah timbunan teknologi pilihan untuk banyak laman web termasuk kemudahan penggunaannya, sokongan komuniti yang kuat, dan penggunaan yang meluas. 1) Mudah dipelajari dan digunakan, sesuai untuk pemula. 2) Mempunyai komuniti pemaju yang besar dan sumber yang kaya. 3) Digunakan secara meluas dalam platform WordPress, Drupal dan lain -lain. 4) Mengintegrasikan dengan ketat dengan pelayan web untuk memudahkan penggunaan pembangunan.

Di luar gembar -gembur: Menilai peranan PHP hari iniDi luar gembar -gembur: Menilai peranan PHP hari iniApr 12, 2025 am 12:17 AM

PHP kekal sebagai alat yang kuat dan digunakan secara meluas dalam pengaturcaraan moden, terutamanya dalam bidang pembangunan web. 1) PHP mudah digunakan dan diintegrasikan dengan lancar dengan pangkalan data, dan merupakan pilihan pertama bagi banyak pemaju. 2) Ia menyokong penjanaan kandungan dinamik dan pengaturcaraan berorientasikan objek, sesuai untuk membuat dan mengekalkan laman web dengan cepat. 3) Prestasi PHP dapat ditingkatkan dengan caching dan mengoptimumkan pertanyaan pangkalan data, dan komuniti yang luas dan ekosistem yang kaya menjadikannya masih penting dalam timbunan teknologi hari ini.

Apakah rujukan yang lemah dalam PHP dan bilakah mereka berguna?Apakah rujukan yang lemah dalam PHP dan bilakah mereka berguna?Apr 12, 2025 am 12:13 AM

Dalam PHP, rujukan lemah dilaksanakan melalui kelas lemah dan tidak akan menghalang pemungut sampah daripada menebus objek. Rujukan lemah sesuai untuk senario seperti sistem caching dan pendengar acara. Harus diingat bahawa ia tidak dapat menjamin kelangsungan hidup objek dan pengumpulan sampah mungkin ditangguhkan.

Terangkan kaedah sihir __invoke dalam PHP.Terangkan kaedah sihir __invoke dalam PHP.Apr 12, 2025 am 12:07 AM

Kaedah \ _ \ _ membolehkan objek dipanggil seperti fungsi. 1. Tentukan kaedah \ _ \ _ supaya objek boleh dipanggil. 2. Apabila menggunakan sintaks $ OBJ (...), PHP akan melaksanakan kaedah \ _ \ _ invoke. 3. Sesuai untuk senario seperti pembalakan dan kalkulator, meningkatkan fleksibiliti kod dan kebolehbacaan.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual