English 中文(简体)
正确的 PHP 编码样式
原标题:Proper PHP coding style

我正在研究一个新项目,该项目将大量使用不同的 AJAX 调用到 PHP 。 创建一个包含所有不同功能的文件, 并使用案件语句来选择正确的函数, 或者我应该创建一个 php 文件夹, 并将每个函数放入自己的文件吗?

我试图让自己的技能回到现代网络设计标准和实践的正轨上, 在过去,为了简单起见,一个文件来管理它们; 但是,在我把一万条线写进这个项目之前, 已经发生了许多变化,我想问这个问题。

感谢您提供的任何建议

最佳回答

Instead of thinking about the implementation of the problem why not think about the interface? This is what I mean, you could separate the real work to done in classes somewhere, and let the ajax make calls to another separate classes/function. Then the functions called through ajax can query the different classes/objects to accomplish the work and send respond back to ajax. It may sound like the MVC pattern. The advantage of this is clearly code reusability , improved decoupling and easier code maintenance. Example:

class Cook{

    function friedEgg(){/**/}
    function currySoup(){/**/}
    function sandwich(){/**/}
}

通过 ajax 调用函数

function ajaxBreakfast(){
    $cook = new Cook;
    $result = $cook->friedEgg();
    $result .= $cook->sandwich();
    echo $result;
}

function ajaxLunch(){
    $cook = new Cook;
    $result = $cook->currySoup();
    echo $result;
}

希望你明白我的观点!

问题回答

这个问题将非法 大量的个人意见。

我认为:

代码可重新使用是任何编程语言的关键。 将类似函数一起存储在包含文件的文件中, 包括类型( 或者您如何组织您的函数) 在您需要这些函数的主要模块中。 您不应该在每个文件中设置一个函数, 但与此同时, 一个包含400个函数的庞大文件将是一个恶梦 。

Just use a modern framework and the style it will impose on your coding.
and use an Opcode, which will enable you to write clearer code without impacting performance.
Some modern framework names will be Zend, Yii, Codeigniter etc

如果我理解,将你的所有功能放在同一文档中是完全正常的(如果您正在制作一个真正的大网站,你也许应该将其分开;与本部分的功能一样,该部分的功能)。

我不知道为什么您会使用切换语句来选择它们; 有时它有用, 但通常您不会直接调用函数吗? 比如包括“ library” 文件, 每当用户注册或某事时, 都会调用“ get NewId () ” 。

这取决于海事组织。

如果您的 Ajax 脚本是 10,000 条线, 而且您正在处理 几十 或 数百 Ajax 每秒的要求, 而且您正在使用 PHP 的 opcode 缓存, 您将会浪费大量的时间和资源, 将这么大的脚本装入记忆中, 解析它, 并从中执行几行 。

如果你有两千条线 每分钟打几打ajax电话 那就没什么大不了了

每个函数的一个文件可能也有点超能力,也许有些函数可以组合在一起,然后在调用与该文件有关的任何函数时包括文件。





相关问题
Brute-force/DoS prevention in PHP [closed]

I am trying to write a script to prevent brute-force login attempts in a website I m building. The logic goes something like this: User sends login information. Check if username and password is ...

please can anyone check this while loop and if condition

<?php $con=mysql_connect("localhost","mts","mts"); if(!con) { die( unable to connect . mysql_error()); } mysql_select_db("mts",$con); /* date_default_timezone_set ("Asia/Calcutta"); $date = ...

定值美元

如何确认来自正确来源的数字。

Generating a drop down list of timezones with PHP

Most sites need some way to show the dates on the site in the users preferred timezone. Below are two lists that I found and then one method using the built in PHP DateTime class in PHP 5. I need ...

Text as watermarking in PHP

I want to create text as a watermark for an image. the water mark should have the following properties front: Impact color: white opacity: 31% Font style: regular, bold Bevel and Emboss size: 30 ...

How does php cast boolean variables?

How does php cast boolean variables? I was trying to save a boolean value to an array: $result["Users"]["is_login"] = true; but when I use debug the is_login value is blank. and when I do ...

热门标签