成为一名专业的PHP程序员。怎么样?

时间:2010-06-10 14:06:32

标签: php

我正在开展我的第一个专业项目。事实是,我不知道哪些是最好的工具来制作严肃的东西(我说的是通过PHP进行网络开发):

  • 像Smarty这样的模板引擎是强制性的吗?哪一个是“最好的”(最常用的,完整的,有文件记录的)
  • 目前我正在开发Notepad ++(主要是因为我发现它有用且完整)是否有更好的开发工具?或者仅仅是个人品味问题?
  • 目前我正在学习JQuery,并加深了我对CSS的了解,你能建议我使用其他“强制性”科目吗?

这是我现在能想到的,你还有其他建议吗? 谢谢。

编辑:有人让我注意到这个问题有点含糊不清。我知道基础知识(HTTP协议,Java脚本,CSS,HTML,OOP理论和实践等......)。我在大学学习计算机科学(我所说的项目是我的论文)。我需要建议“现实世界”如何运作(在我的地下室之外)。

7 个答案:

答案 0 :(得分:15)

不要专注于成为专业的PHP程序员。专注于成为专业的Web开发人员,并查看What should a developer know before building a public web site?问题。

说“我想成为一名专业的PHP程序员”就像是说“我想成为professional painter”当你的意思是“我想成为一名专业的艺术家”。当然,在一天结束时,他们都可以画画并获得报酬,但是他们的客户对它们的期望是非常不同的;)

答案 1 :(得分:11)

特别针对PHP,我建议:

学习一个好的框架。根据项目的大小,您可以使用Zend / Symfony或CodeIgniter / other作为小型项目。有吨。我会坚持使用Zend / Zymfony来处理中等大小和/或“真实世界”。

一般来说,这些框架都带有基本模板引擎,或者您可以插入其他类似Smarty或Twig的框架。我会说它改进了很多代码。所以,对你的第一个问题是肯定的。

另外,notepad ++很棒,但如果您正在处理项目而不是简单的2,3文件脚本,我建议使用IDE 。我强烈推荐 Netbeans 。它有很多特征,而且非常活跃。看看:http://netbeans.org/features/php/

由于您使用PHP进行编码,我会说您了解SPL(标准PHP库):http://php.net/manual/en/book.spl.php

总结一下:

强烈建议保持代码清洁和可维护。

Yes.Netbeans。

是。 SPL,以及我现在想不到的更多。

答案 2 :(得分:6)

像Smarty这样的模板系统不是强制性的,因为PHP在技术上是一个模板系统。但是,这不是一个很好的。它很笨拙,很容易犯错误,而且你经常会遇到难以理解的混乱。

除了Smarty之外还有更好的选择。我自己也不喜欢Twig。

如今,使用框架几乎是强制性的。一旦你掌握了它的工作原理,使用框架进行开发通常比使用原始PHP更容易,更快捷。代码点火器非常好,虽然很小。 CakePHP相当不错,虽然有时看起来非常重量级。 Kohana,Symfony和Zend Framework也受到高度重视。

答案 3 :(得分:5)

1 - Smarty引擎非常有用,可能是PHP应用程序开发中最受欢迎的。

2 - 我使用Aptana studio进行PHP开发。它非常完整,并配有很好的工具。它基于Eclipse IDE,因此它非常可定制。主要缺点是它使用了大量资源。

3 - 我建议学习像MVC(模型 - 视图 - 控制器)这样的开发模式,以便更好地了解数据的组织方式。

另外,查找Code Igniter,这是一个很棒的框架(它使用MVC模式)。使用它构建一些东西非常容易且易于管理。如果您想要简单的教程,可以查看NetTuts一系列教程。

答案 4 :(得分:4)

同意Pekka所暗示的内容,除了PHP 之外选择另一个lang非常重要。请。另外,我不知道学习PHP而不知道像 Smarty 这样的东西。 Notepad ++,关心那里,每个人都是他自己的。虽然我可能在进入库之前选择普通的Javascript Javascript,但jQuery很好。尽管jQuery使事情变得更容易,但它抽象了很多东西,你真正想要的是那些 Javascript机制

我还要添加扎实的HTTP协议知识,这是一些Web开发人员认为可选的必备软件。你应该知道什么是硬404,内容编码是什么,以及缓存配置的不同风格等等。

最重要的是,玩得开心!

答案 5 :(得分:4)

大多数Web开发都包含一定程度的数据库交互,因此良好的DB技能总是很有用。

  • 表格的基本规范化。
  • 了解交易
  • 知道如何逃避你的价值观 在插入/更新/ etc之前
  • 用连接写选择如何避免 嵌套数据库在代码中选择 环
  • 数据库之间的差异 和PHP日期(以及如何使用 它们)

答案 6 :(得分:3)

我在这样的问题中的标准建议,除了已经在其他答案中给出的优秀建议之外,至少还涉及一种强类型语言,如Java,C ++,Delphi或C#,以及无情的编译器强制执行纪律 - 正确的变量声明,完整的类接口的定义等。我喜欢PHP,但它非常宽松,有时仍然显示其模板语言的根源,并倾向于引诱新手进入不良实践。 (也就是说,PHP现在是一种很好的语言,很有可能在其中编写非常高质量的软件。)

但是,你在更新中说你在大学做计算机科学,所以我猜你已经得到了至少一种其他语言和CS理论的帮助,你的重点确实是使用哪些框架等。 / p>