我正在编写一个在服务器端使用 php 的网站。我以前从未使用过。如果我做对了,那就是程序编程(这是我从未做过的另一件事)
我的问题是如何编写代码:每个程序应该在不同的文件中?把它分成不同的文件?也许有一个文件接收请求然后分派它?
在面向对象的情况下,事情变得更加清晰......
请指教
我正在编写一个在服务器端使用 php 的网站。我以前从未使用过。如果我做对了,那就是程序编程(这是我从未做过的另一件事)
我的问题是如何编写代码:每个程序应该在不同的文件中?把它分成不同的文件?也许有一个文件接收请求然后分派它?
在面向对象的情况下,事情变得更加清晰......
请指教
您可以在 PHP 中进行面向对象的编程,我更喜欢以这种方式构建它。
如果您选择坚持程序样式,则每个程序 1 个文件不是要走的路,想象一下如果在 OOP 中您每个方法执行 1 个文件!
对事物进行分组会更好,也许您有一个 DB 抽象层,在 OOP 中您可以将其作为一个类,放在一个文件中。在程序实现中,您将在一个文件中有一堆程序。应该是同名吧。
对于需要在 PHP 中放置的位置没有严格的定义。这完全取决于你。如果您想编写复杂的系统,我建议您查看MVC 模式。
随意在 PHP 中使用面向对象的模型,这是我现在选择的风格。
将相关程序组合在一起。每个过程一个文件是多余的。
Code Complete中对这类事情有很好的建议。这是一本非常有名的编程书籍,提供了关于如何组织代码的良好指南。
就个人而言,我从来没有参加过面向对象的旅行。旧习难改。但是我尝试了 cakePHP,它向我介绍了MVC模式(模型视图控制器)。从那以后我通常遵循这个结构:
.htaccess << redirects all request URIs to index.php
index.php << the main processing file
_lib/ for configuration files
_lib/classes for all 3rd party classes (such as database abstraction, etc)
_views/
_controllers/
PHP 可以是面向对象的。
但是,如果您不以这种方式使用它,那么您只需要为您的功能进行逻辑划分。
如果您只有几个函数,请使用一个包含所有函数的包含文件。
如果您的站点有多个区域,例如“会员”、“图书馆”和“资源”,并且每个区域使用多个功能(例如 5+),请考虑为每个区域创建文件,例如:membershipFunctions.php、libraryFunctions .php 和 resourcesFunctions.php。
我们倾向于采用一种结构,在 1 个文件中定义特定于站点的对象。另一个文件包含所有通用函数(我们的通用库)。还有另一个文件定义了所有常量和基本结构。
对象和核心站点代码(数据库、身份验证等)的实现在一个公共文件中。该文件包括对象、常量和库文件,并执行站点的基础操作。
最后,站点的功能组被放置在他们自己的文件中以生成页面。这些文件包括通用模块(文件)。
对象被编码为管理自己,因此功能页面文件中几乎没有工作。
我们曾经将所有对象拆分为它们自己的文件,但发现将它们组合成 1 个通用对象类定义文件更容易。
我更喜欢 PHP 5 的 OO 风格,特别是享受 Zend Framework 所提倡的结构,使用 PEAR 风格的目录树,并允许您以一种从 OO 角度和架构的角度来看有意义的方式对代码进行分段观点看法。
我会深入研究 OOAD 的领域,但我很确定有很多关于它的资源,其中最好的资源之一是前面提到的问题回复中提到的代码完整书。
查看http://framework.zend.com了解 zend 项目的布局,尤其是快速入门,我想您可能会发现它为您提供了一个很好的结构供您使用,即使您不想使用 Zend 框架本身.