![](/img/trans.png)
[英]How do you make good use of multicore CPUs in your PHP/MySQL applications?
[英]How do you write good PHP code without the use of a framework?
除了标准的OO概念之外,还有哪些其他策略可以在不使用框架时生成良好,干净的PHP代码?
请记住:MVC,OOP和层是设计概念,不是语言结构,也不是文件结构。
对我来说,这意味着当不使用框架时,以及没有不同的团队进行编程和设计时; 在PHP(这是一种模板语言)之上使用另一个模板系统没有任何价值。 此外,将代码与布局分离并不一定意味着在不同的文件上进行。
这就是我以前用于一次性,很少扩展的PHP Web应用程序的方法:
那是你的'框架',然后你写''presentation'层:
每个页面有一个PHP文件,从一些简单的代码开始,用于获取所需的对象,然后是带有插入的PHP代码的HTML,只是为了“填充漏洞”。 除了极少数例外,最复杂的代码应该是循环。 我规定只使用单行, ?>
应该与开头<?php
在同一行
就是这样。 如果单独工作,它会将您需要的所有意图分开,而不会淹没在用于单个用户操作的大量文件中。 用户看到的每个页面都由一个PHP文件管理。
在几个月没有查看代码之后,它甚至很容易维护,因为它很容易测试应用程序,记录浏览器URL字段中的文件名。 这将直接指导您使用相关代码。
(现在,当然,我几乎把所有东西都用在Django上......)
我会说与其他任何语言几乎相同:
如果你发现自己混合HTML和代码,只需停止。 你是,好吧...... 你做错了! http://dennisjudd.com/albums/cute_cats/wrong_mike.jpg
实际上这个问题与语言无关,因为它适用于您选择“自己动手”的大多数语言。 我要提出的两个建议是:
首先,仅仅因为你没有使用框架并不意味着你不能采用分离代码的模式。 MVC模式是您在安排源代码时应该考虑的最小值 - 它使得源代码集合更加清晰和易于维护,即使应用程序不完全遵循与框架相关的路由进程,代码“ “事物与”代表“事物是非常有益的。
其次,仅仅因为你选择不使用完整的框架,并不意味着你需要重新发明轮子。 合理利用预先打包的库以解决特定问题。 两个很好的例子是日志框架(log4php)和前端渲染/模板解决方案(Smarty)。
尽可能远离全局:-D
如果您确实遵循OO概念,例如关注点分离,您的代码将会非常好,但这里有一些建议:
确保遵循关注点分离的标准做法。 这意味着尽量不要将业务和数据层与您的UI混合在一起。
即使您不使用框架,也请使用模板引擎。 通过使用模板,您将分离应用程序的逻辑和表示。 然后设计,编码和格式化逻辑部分,就像使用任何其他语言一样。 让“设计师”设计用户界面:)
OO并不是绝对必要的:也可以在PHP <5中编写好的代码。 良好的程序代码,通过“逻辑距离”很好地分隔成文件和目录也应该保证您的安全。 但请注意,这是如何从远处开始类似于OO的。
最好的事情是保持一致:我已经看到一个项目,Smarty在大多数页面中使用,除了一个 - 最复杂的,去图 - 。
利用PHP的内置扩展 - 例如MySQLi。 随着这些变得更加面向对象,对框架的需求变得越来越少。
例如,我可以使用以下扩展创建一个有用的TwitterApp,除了核心类之外没有实际框架将实例绑定在一起。
我可能需要为Login之类的东西制作一些帮助类,但是我通常的一对类(DAL和TPL)已被两个非常好用的扩展所淘汰。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.