cari

PHP 编程 面向对象 程序员

今天参加了一个Coding Dojo(编程道场),之后自己有一些疑惑,希望大牛能够给予指导。
我是个PHPer,现在在一家电商公司,目前是一个大牛和我一个程序员,我们用ThinkPHP框架,每次做功能的时候都感觉自己做得挺多,但是做完后却各种发现自己做的东西没有技术含量,没有用到面向对象思想,也没有用到设计模式,只是一些逻辑上的设计和解决问题,现在不知道自己该怎样在PHP方面有所提高,我是不是应该有意识地多写一些面向对象思想的程序呢?我之后应该如何提高自己,希望PHP大牛能够不吝赐教,小弟感激不尽~

回复讨论(解决方案)

我现在的状态跟你描述的差不过 我提供个思路:抽时间把现在项目按照面向对象的思路重新写一遍(抛开TP框架),从底层架构开始能做多少做多少  我觉得这样一定可以有所提高.

当你在做问答题时,才有可能发挥自己的想象
而使用框架只不过是在做填空题

但“没有用到面向对象思想”是不对的,你完成的正是对象的某些方法的具体实现

在框架的基础上,思考你是怎么依赖框架的,也就是说你为什么可以用框架这么做?

例如每次写业务逻辑你都是写一个controlle和action,然后就可以通过url来进行访问,有没有思考过从url请求到action中都经过了些什么逻辑处理?能否把这些逻辑理清楚呢?能否认识到这些逻辑之间是怎么样相互交互的?

多提出一些自己理所当然的知道一些事的真正原因是什么?慢慢的才会提高,也就是不仅知其然还要知其所以然。

小刀砍大树这句话常说吧,现在如果有电锯,还拿小刀去砍大树的人真是笨死了
但电锯是怎么把大树砍倒切割的,其原理还是要从小刀上理解??纵向发力叫做切、砍,横向发力叫做锯
纵向力费力,横向力省力,横向锯的次数与木头厚度成正比,而频率(就是次数/时间)跟发力(能量)有关
所以加入电力提高锯的频率(单位时间的次数)达到省时省力的目的

拿着电锯(工具,框架)确实能提高工作效率,以此累积的工作经验却是在这个工具上的,例如怎样握着电锯不容易脱手……
但想理解工作原理却是难事,最终还是要拿小刀来理解到底是怎样把木头切开的
如果只懂用电锯,去到一个新的木场没有电怎么办??

如果把解决问题建立在某个工具而不用考究它的原理,那必须确保你以后遇到该问题身边都有这个工具
例如宅人,打算一辈子不离开城市,那他只需要知道路牌这个工具就行,不需要懂什么迷路看星星/指南针辨认方向的知识(唉,现在的城市能看见星星也不容易);但如果想到处游历,又不确定去到一个新地方有没有路牌这东西,还是从低层次掌握基础知识比较好

如果你想学习提高理论技能,还是把手上的“高级的、优秀的”工具抛开吧
不确定一定能有混凝土预制件的话,还是学学怎么和稀泥的好

反正几十年来我没听说过巴西、朝鲜、伊拉克的球员会抱怨场地不好、草地绊脚的

小刀砍大树这句话常说吧,现在如果有电锯,还拿小刀去砍大树的人真是笨死了
但电锯是怎么把大树砍倒切割的,其原理还是要从小刀上理解??纵向发力叫做切、砍,横向发力叫做锯
纵向力费力,横向力省力,横向锯的次数与木头厚度成正比,而频率(就是次数/时间)跟发力(能量)有关
所以加入电力提高锯的频率(单位时间的次数)达到省时省力的目的

拿着电锯(工具,框架)确实能提高工作效率,以此累积的工作经验却是在这个工具上的,例如怎样握着电锯不容易脱手……
但想理解工作原理却是难事,最终还是要拿小刀来理解到底是怎样把木头切开的
如果只懂用电锯,去到一个新的木场没有电怎么办??

如果把解决问题建立在某个工具而不用考究它的原理,那必须确保你以后遇到该问题身边都有这个工具
例如宅人,打算一辈子不离开城市,那他只需要知道路牌这个工具就行,不需要懂什么迷路看星星/指南针辨认方向的知识(唉,现在的城市能看见星星也不容易);但如果想到处游历,又不确定去到一个新地方有没有路牌这东西,还是从低层次掌握基础知识比较好

如果你想学习提高理论技能,还是把手上的“高级的、优秀的”工具抛开吧
不确定一定能有混凝土预制件的话,还是学学怎么和稀泥的好

反正几十年来我没听说过巴西、朝鲜、伊拉克的球员会抱怨场地不好、草地绊脚的
这比喻。。。。。

了解底层,然后自己写框架

我以前跟楼主类似,
为解决这两个问题,
我主要采用2个方法,
1,再学一次c++

2,自己写了一个框架,并把自己的博客用自己的框架不断完善

希望楼主能够得到满意的答案

多写是当然的,可以去尝试一下其他框架和cms。

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
PHP dan Python: Paradigma yang berbeza dijelaskanPHP dan Python: Paradigma yang berbeza dijelaskanApr 18, 2025 am 12:26 AM

PHP terutamanya pengaturcaraan prosedur, tetapi juga menyokong pengaturcaraan berorientasikan objek (OOP); Python menyokong pelbagai paradigma, termasuk pengaturcaraan OOP, fungsional dan prosedur. PHP sesuai untuk pembangunan web, dan Python sesuai untuk pelbagai aplikasi seperti analisis data dan pembelajaran mesin.

PHP dan Python: menyelam mendalam ke dalam sejarah merekaPHP dan Python: menyelam mendalam ke dalam sejarah merekaApr 18, 2025 am 12:25 AM

PHP berasal pada tahun 1994 dan dibangunkan oleh Rasmuslerdorf. Ia pada asalnya digunakan untuk mengesan pelawat laman web dan secara beransur-ansur berkembang menjadi bahasa skrip sisi pelayan dan digunakan secara meluas dalam pembangunan web. Python telah dibangunkan oleh Guidovan Rossum pada akhir 1980 -an dan pertama kali dikeluarkan pada tahun 1991. Ia menekankan kebolehbacaan dan kesederhanaan kod, dan sesuai untuk pengkomputeran saintifik, analisis data dan bidang lain.

Memilih antara php dan python: panduanMemilih antara php dan python: panduanApr 18, 2025 am 12:24 AM

PHP sesuai untuk pembangunan web dan prototaip pesat, dan Python sesuai untuk sains data dan pembelajaran mesin. 1.Php digunakan untuk pembangunan web dinamik, dengan sintaks mudah dan sesuai untuk pembangunan pesat. 2. Python mempunyai sintaks ringkas, sesuai untuk pelbagai bidang, dan mempunyai ekosistem perpustakaan yang kuat.

PHP dan Rangka Kerja: Memodenkan bahasaPHP dan Rangka Kerja: Memodenkan bahasaApr 18, 2025 am 12:14 AM

PHP tetap penting dalam proses pemodenan kerana ia menyokong sejumlah besar laman web dan aplikasi dan menyesuaikan diri dengan keperluan pembangunan melalui rangka kerja. 1.Php7 meningkatkan prestasi dan memperkenalkan ciri -ciri baru. 2. Rangka kerja moden seperti Laravel, Symfony dan CodeIgniter memudahkan pembangunan dan meningkatkan kualiti kod. 3. Pengoptimuman prestasi dan amalan terbaik terus meningkatkan kecekapan aplikasi.

Impak PHP: Pembangunan Web dan seterusnyaImpak PHP: Pembangunan Web dan seterusnyaApr 18, 2025 am 12:10 AM

Phphassignificantelympactedwebdevelopmentandextendsbeyondit.1) itpowersmajorplatformslikeworderpressandexcelsindatabaseIntions.2) php'SadaptabilityAldoStoScaleforlargeapplicationFrameworksLikelara.3)

Bagaimanakah jenis membayangkan jenis PHP, termasuk jenis skalar, jenis pulangan, jenis kesatuan, dan jenis yang boleh dibatalkan?Bagaimanakah jenis membayangkan jenis PHP, termasuk jenis skalar, jenis pulangan, jenis kesatuan, dan jenis yang boleh dibatalkan?Apr 17, 2025 am 12:25 AM

Jenis PHP meminta untuk meningkatkan kualiti kod dan kebolehbacaan. 1) Petua Jenis Skalar: Oleh kerana Php7.0, jenis data asas dibenarkan untuk ditentukan dalam parameter fungsi, seperti INT, Float, dan lain -lain. 2) Return Type Prompt: Pastikan konsistensi jenis nilai pulangan fungsi. 3) Jenis Kesatuan Prompt: Oleh kerana Php8.0, pelbagai jenis dibenarkan untuk ditentukan dalam parameter fungsi atau nilai pulangan. 4) Prompt jenis yang boleh dibatalkan: membolehkan untuk memasukkan nilai null dan mengendalikan fungsi yang boleh mengembalikan nilai null.

Bagaimanakah PHP mengendalikan pengklonan objek (kata kunci klon) dan kaedah sihir __clone?Bagaimanakah PHP mengendalikan pengklonan objek (kata kunci klon) dan kaedah sihir __clone?Apr 17, 2025 am 12:24 AM

Dalam PHP, gunakan kata kunci klon untuk membuat salinan objek dan menyesuaikan tingkah laku pengklonan melalui kaedah Magic \ _ _ _. 1. Gunakan kata kunci klon untuk membuat salinan cetek, mengkloning sifat objek tetapi bukan sifat objek. 2. Kaedah klon \ _ \ _ boleh menyalin objek bersarang untuk mengelakkan masalah menyalin cetek. 3. Beri perhatian untuk mengelakkan rujukan pekeliling dan masalah prestasi dalam pengklonan, dan mengoptimumkan operasi pengklonan untuk meningkatkan kecekapan.

PHP vs Python: Gunakan Kes dan AplikasiPHP vs Python: Gunakan Kes dan AplikasiApr 17, 2025 am 12:23 AM

PHP sesuai untuk pembangunan web dan sistem pengurusan kandungan, dan Python sesuai untuk sains data, pembelajaran mesin dan skrip automasi. 1.PHP berfungsi dengan baik dalam membina laman web dan aplikasi yang cepat dan berskala dan biasanya digunakan dalam CMS seperti WordPress. 2. Python telah melakukan yang luar biasa dalam bidang sains data dan pembelajaran mesin, dengan perpustakaan yang kaya seperti numpy dan tensorflow.

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)
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.