如何增加我的;“高级”;进一步了解PHP?(快速)
我已经使用PHP多年了,对该语言有了很好的掌握,创建了许多先进的和不太先进的系统,这些系统都工作得很好 我遇到的问题是,只有当我发现自己需要一些以前从未学过的东西时,我才会学习。这会让我查找解决方案和其他处理该问题的代码,因此我将了解一个以前从未见过的新函数或结构。正是通过这种方式,我学会了许多更好的技巧(比如学习亚马逊、谷歌或其他大公司开设的课程) 这方面的主要问题是,如果你不知道某件事的存在,就无法学到它。例如,我花了几个月的编程时间才了解了如何增加我的;“高级”;进一步了解PHP?(快速),php,structure,system-design,Php,Structure,System Design,我已经使用PHP多年了,对该语言有了很好的掌握,创建了许多先进的和不太先进的系统,这些系统都工作得很好 我遇到的问题是,只有当我发现自己需要一些以前从未学过的东西时,我才会学习。这会让我查找解决方案和其他处理该问题的代码,因此我将了解一个以前从未见过的新函数或结构。正是通过这种方式,我学会了许多更好的技巧(比如学习亚马逊、谷歌或其他大公司开设的课程) 这方面的主要问题是,如果你不知道某件事的存在,就无法学到它。例如,我花了几个月的编程时间才了解了empty()函数,我只需要使用strlen()检
empty()
函数,我只需要使用strlen()
检查字符串长度来检查空值
我现在正着手构建越来越大的系统,我开始阅读highscalability.com等博客,并一直在研究MySQL复制和服务器数据以进行扩展。我知道代码的结构对于整个系统的工作非常重要
在阅读了最近一篇关于reddit结构的博客后,我不禁怀疑是否存在一些标准或“公认的系统”
我研究过框架(我使用了Kohana,对此我感到遗憾,但认为PHP框架不适合我),我更喜欢自己的函数库,而不是框架
我目前的结构是WordPress、Kohana和我自己的知识的混合体
我认为可能有益的方式有:
- 阅读博客
- 阅读教程
- 与他人合作
- 读书
作为一名优秀的系统开发人员,“进入下一个层次”的最佳方式是什么?学会做你已经知道的事情。。。以不同的方式。示例:
- 用另一种语言
- 在不同的平台上
- 并行/分布式
- 通过一个框架(是的,你决定它们“不适合你”-也许尝试一个不同的框架,它们有时彼此非常不同)
- 尝试不同的事情。学习一门新语言。有时候,在学习另一种语言的过程中,这两种语言都能让你学得更好
- 为开源项目做贡献
- 高可扩展性和PHP/MySQL不是朋友。今天有一些技术正是为此而开发的。node.js和Redis来命名一对
- 用SO回答问题。其他人的问题会让你跳出框框思考,你会在尝试帮助别人的过程中有所改进,你也会对别人做一些好事
- [如果我想起我刚醒来喝咖啡时的其他事情,请尝试在此处添加:D]
- 每个想成为PHP程序员的人,总是只接受第一个词,而完全忽略第二个词
虽然“编程”比“PHP”重要得多,但要成为一名PHP专业人士,首先应该是一名程序员
所以,我会投票支持最后一个——读书。不是在PHP上,而是在一般编程上。”s、 甚至是老人家的。
还可以看看其他一些语言,比如Java或Python。不是切换到它们,而是从中学习。您应该使用示例,在扩展示例时使用它们,这样您将学习如何通过使示例更具功能和提供更多功能来扩展示例
尽管如此,在PHP中创建一些您已经学到的东西还是不错的。为了进行更多的练习,您应该创建一个类似于预订系统等的东西。当您在PHP中学习得更多时,您迟早会通过学习更多内容来扩展更多内容,这将使您的开发变得更好。以下是一些想法:
- 你能做的就是买一本关于高效算法的书。在每个计算机科学学生的生活中,总有一段时间他/她必须学习这些。这里讨论/解决的问题是你可能遇到的几乎任何现实世界问题的抽象
除此之外,阅读关于其他人是如何做到这一点的博客是非常好的,因为它可以帮助你理解如何实际使用(甚至可能实现)高效算法的原理
关于。“我自己的函数库”==“一个[独特而且可能很糟糕的]框架”
我建议学习,因为开发人员似乎一直努力按照“最佳”实践来做每件事。。。但您可能会从任何流行的框架中学到很多东西
不要编写自己的框架。请。您可以询问您的公司是否可以为您支付Zend PHP认证考试费用。为这次考试而学习将迫使您熟悉PHP,并通过阅读大量文档、Zend学习指南以及模拟考试进行培训。这是一种非常有效的改进方法,在简历上看起来也很不错。我会加入讨论会,尝试解决其他人的问题。有时,有些相当具有挑战性的问题迫使你做一些研究。如果你不能回答,你可以等一个能回答的人,然后再学习 至于框架,从中学习。我也推出了自己的框架,因为大多数框架都可能相当缓慢。虽然对大多数网站来说速度足够快
我还建议您看看Facebook的PHP库。他们在那里做了一些有趣的事情。与其他开发人员合作是不够的。我特别认识3位开发人员,其中2位是我每天都在一起工作的,他们的知识让我大吃一惊。我问他们对我所做的每件事的意见,不是因为我猜测自己的想法,而是我想听到的更多