PHP开发-很多(新手)问题

时间:2020-03-06 14:58:19  来源:igfitidea点击:

我是一名工程专业的学生,​​本学期正在参加数据库和信息系统课程。要求我使用PHP / PGSQL生成使用数据库的网站/应用程序。我的问题是:

  • 我们会推荐哪个IDE?
  • 有没有人对新开发人员有好的提示和建议?
  • 这将有助于我(在很多方面)开发该项目并参加该主题的其他"学术"方面,例如实体/协会模型等。是否有任何好的工具来帮助组织我的工作?

谢谢!

编辑:一些注意事项:

  • 我忘了问最后一件事,我尝试安装BitNami的WAPP堆栈。有人知道它有多好和/或者可靠吗?
  • 我实际上是在Windows Vista Business(新的笔记本电脑:S)下工作。我们会出于任何特定原因建议在Linux下进行develloping吗?

解决方案

  • IDE:Quanta +
  • 提示:不要在模板语言(PHP)上使用模板库
  • 提示:MVC是设计和心态问题,而不是库

我的建议:

  • 没有IDE-只是一个基本的语法突出显示文本编辑器(我使用jEdit)
  • 了解XSS和SQL注入
  • PHP下有很多好的框架可以

我建议使用纯文本编辑器而不是IDE。我们应该将其与语法突出显示一起使用,例如Notepad ++。

尖端:

  • 使用Firefox
  • 尝试一些测试数据库。教或者学数据库时犯的最大错误是专注于理论而没有实际数据。

一个很好的PHP IDE是PDT,这是一个Eclipse插件。

这可能是我们职业生涯中唯一一次完全自由地选择要使用的工具,因此请充分利用它。学习一些经典的工具,这些工具将带给我们很长的路要走。

因此,与其使用IDE,我们可能会花费所有的职业生涯,而会喜欢使用vim / emacs之类的老式学校编辑器。这样做的一个好处是,IDE不会隐藏使项目正常运行的所有细节,因为知道完整的技术堆栈总是有好处的。

对于我们将要使用的任何技术,在深入研究实现细节之前,请先尝试并获得广泛的视野,因此对于PHP,我建议我们掌握XHTML,CSS和Javascript,包括jQuery之类的库;在各种平台上的对象关系映射(看看Ruby on Rails,CakePHP,Django和SQL Alchemy)和模型视图控制器框架。

对于PGSQL,除了规范化之外,还应尝试深入了解information_schema和事务隔离级别以及它们何时有用。

同样重要的是了解HTTP协议如何在低层工作以及如何使用HTTP构建高度可扩展的网站。

我不会依赖工具,而是会针对上述主题创建一个阅读列表,这会自动构建思考过程,以考虑到此类问题。

  • IDE:我推荐PSPad具有出色的FTP功能和PHP的语法突出显示功能
  • 提示:仔细阅读mysql的PHP文档或者我们使用的任何数据库,PHP文档是我们学习它的最佳工具。
  • 提示:保持数据简单,它总是对其他数据易变,例如,使用unixtimestamp存储时间,因为php具有date()函数的强大功能,可以将其转换为所需的任何内容。

编辑添加Linux vs Windows技巧

  • 我在Windows和Linux机器上都进行了开发,并且在Linux和Windows上都具有PHP服务器,对于我的开发类型(CMS和那些CMS上的网站),我更喜欢在Windows上进行开发并在Linux上进行托管。这是由于Linux的稳定性以及我可以在Windows(主要是Photoshop)上可靠使用的工具的缘故

Windows上最好的编辑器是Notepad ++和Eclipse。两者都很好,但无法与Kate和Quanta +见面。仅此一项,我就抛弃窗户。同样,在同一系统上同时具有开发环境和真实的测试环境也很不错,即使大多数OSS在Windows上可用,它们也始终是圆孔上的方形钉。

  • 我们会推荐哪个IDE?

任何支持远程调试的东西。如果我们可以一步一步地学习代码,那么我们将节省大量的时间,并且会更快地学习。令我惊讶的是,越来越多的人没有为PHP使用好的调试工具。工具在那里,不使用它们是疯狂的。 FWIW我一直是Activestate Komodo出色产品的奉献者。

  • 学习重构,并使其成为开发"节奏"的一部分。
  • 与此相关的是:超前思考,但不要超前编程。请注意,我们正在编写的内容可能需要在类层次结构中冒泡,以便可以更通用地使用它,但是在我们需要它之前,请不要实际进行冒泡。
  • 这我(很多)开发该项目并参加该主题的其他"学术"方面,例如实体/协会模型等。是否有任何好的工具来帮助组织我的工作?

了解设计模式,并应用从中学习的经验教训。不要以" PHP4"方式编程。

  • 我忘了问最后一件事,我尝试安装BitNami的WAPP堆栈。有人知道它有多好和/或者可靠吗?

不知道,但是如果有时间,我会避免使用像WAMPP这样的预构建堆栈。了解各个部分如何组合在一起非常重要。但是,如果我们在Windows上运行,则可能没有时间,精力可能比专注于如何安装PHP,PostgreSQL和Apache更好地专注于编写良好的代码。

  • 我实际上是在Windows Vista Business(新的笔记本电脑:S)下工作。我们是否会出于任何特定原因建议在Linux下进行开发?

是的,我会。假设我们要在Linux上进行部署(如果我们要在Windows上进行部署,我会问自己一些严重的问题!),那么在同一环境中进行开发将非常有用。出于这个原因,我在2005年转行,这是我明智地进行开发的最有用的事情之一。但是,如果我们是一个* nix新手,并且时间紧迫,则可以坚持使用我们所知道的。如果我们有时间尝试一下,我们会发现使用一个很好的现代Linux桌面发行版来启动和运行起来非常容易,并且开发工作将继续进行。

ide:vim +(firefox +萤火虫)
在大多数情况下,将ide与php一起使用是过大的

其他工具:pgadmin3
设计表格以使其易于查询

如果我们有一个额外的盒子,如果我们想尝试一下,我会把linux放在上面。通过一个简单的LAMP设置过程,Ubuntu是一个很好的入门发行版。我不会对那台Vista笔记本电脑做任何事情,因为它将允许我们在IE和Firefox中进行测试。

我们是否看过PHP的Delphi(<http://www.codegear.com/products/delphi/php>)?

微软的Joe Stagner非常喜欢Delphi for PHP。
他在这里说:" [Delphi for PHP] 2.0是真正的交易,我喜欢它!"

我建议我们免费使用netbeans .its。它适用于所有平台,并且大多数情况下适用于编辑php,jsp,java,css,html,...
非常适合SVN,Mercurial,此外,我们还可以轻松地将其与kenai.com集成...

它有助于IntelliSense弹出式窗口。

相信我,我正在将其用于php开发以及我能找到的最适合的ide ...