Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP上下文切换_Php_Asp Classic_Context Switching - Fatal编程技术网

PHP上下文切换

PHP上下文切换,php,asp-classic,context-switching,Php,Asp Classic,Context Switching,在经典的ASP世界中,存在着上下文切换的问题。上下文切换是指打开PHP标记,编写一点PHP代码,然后关闭标记,继续使用一点HTML,然后返回PHP,并经常进行这些切换。在ASP中,不建议使用这种编程方式。我们建议尽可能减少这种编程方式 换句话说,不要在ASP中编写这样的代码 我的名字是,今年岁。 建议我们编写如下代码 使用后者,ASP.DLL解析脚本所花的时间更少 我的问题是这个概念/问题/担忧是否适用于PHP世界 至少PHP不是这样工作的。没有上下文切换,文件完全是PHP,除了标记之外的任何

在经典的ASP世界中,存在着上下文切换的问题。上下文切换是指打开PHP标记,编写一点PHP代码,然后关闭标记,继续使用一点HTML,然后返回PHP,并经常进行这些切换。在ASP中,不建议使用这种编程方式。我们建议尽可能减少这种编程方式

换句话说,不要在ASP中编写这样的代码

我的名字是,今年岁。

建议我们编写如下代码

使用后者,ASP.DLL解析脚本所花的时间更少


我的问题是这个概念/问题/担忧是否适用于PHP世界

至少PHP不是这样工作的。没有上下文切换,文件完全是PHP,除了
标记之外的任何内容都相当于一个静态echo语句

如果您使用的是操作码缓存,那么所花费的解析时间几乎相同,并且完全不相关

您可以使用编译不同的文件,并查看生成的操作码类型

因此:

<?php echo "hi"; ?>
<?php echo "hi"; ?>
<?php echo "hi"; ?>
<html>

与以下内容完全相同:

<?php
echo "hi";
echo "hi";
echo "hi";
echo "<html>";
?>


请注意,前一个示例中的换行符不是输出的,即使它们在php标记之外。

好吧,至少php不是这样工作的。没有上下文切换,文件完全是PHP,除了
标记之外的任何内容都相当于一个静态echo语句

如果您使用的是操作码缓存,那么所花费的解析时间几乎相同,并且完全不相关

您可以使用编译不同的文件,并查看生成的操作码类型

因此:

<?php echo "hi"; ?>
<?php echo "hi"; ?>
<?php echo "hi"; ?>
<html>

与以下内容完全相同:

<?php
echo "hi";
echo "hi";
echo "hi";
echo "<html>";
?>


请注意,前一个示例中的换行符不是输出的,即使它们在php标记之外。

至少在视图部分

My name is <?php echo $myName ?> and I am <?php echo $myAge ?> years of age.
我的名字是,今年岁。

<?php echo "My name is $myName and I am  $myage years of age." ?>


最好只将动态部分留给PHP。

至少在视图部分

My name is <?php echo $myName ?> and I am <?php echo $myAge ?> years of age.
我的名字是,今年岁。

<?php echo "My name is $myName and I am  $myage years of age." ?>


最好只将动态部分留给PHP。

两个示例也可以用PHP编写:

My name is <?php echo $myName; ?> and I am <?php echo $myage; ?> years of age.
我的名字是,今年岁。


前者在进入和退出PHP时使用更多的时间(无关紧要)进行解析,然而,从设计角度来看,后者的可维护性较差。我建议使用第一种方法来具体说明什么是dynamic/PHP,什么不是

如果您在PHP中启用了短开放标记,尽管它对速度没有任何帮助,但将第一行缩短为以下内容可能更容易阅读(我个人的意见):

我的名字是,今年岁。

两个示例也可以用PHP编写:

My name is <?php echo $myName; ?> and I am <?php echo $myage; ?> years of age.
我的名字是,今年岁。


前者在进入和退出PHP时使用更多的时间(无关紧要)进行解析,然而,从设计角度来看,后者的可维护性较差。我建议使用第一种方法来具体说明什么是dynamic/PHP,什么不是

如果您在PHP中启用了短开放标记,尽管它对速度没有任何帮助,但将第一行缩短为以下内容可能更容易阅读(我个人的意见):

我的名字是,今年岁。

请解释否决票。就我所知,我的回答没有错。请解释一下反对票。据我所知,我的回答没有错。