学习PHP-有人能解释一下这个if语句吗?

学习PHP-有人能解释一下这个if语句吗?,php,Php,所以我在学习PHP,我在学习phpfox中更复杂的PHP标准。 我遇到的一个问题是几行代码——我知道他们“做什么”。但我不明白为什么他们是这样组织的。有人能解释一下吗 在下面的代码行中,if语句被{}包围,而不是在通常情况下: if thing('condition') { do stuff } 我熟悉的方式。为什么会这样 {if Phpfox::isUser() && !PHPFOX_IS_AJAX && $sCustomViewType === null}

所以我在学习PHP,我在学习phpfox中更复杂的PHP标准。 我遇到的一个问题是几行代码——我知道他们“做什么”。但我不明白为什么他们是这样组织的。有人能解释一下吗

在下面的代码行中,if语句被{}包围,而不是在通常情况下:

if thing('condition') {
do stuff
}
我熟悉的方式。为什么会这样

{if Phpfox::isUser() && !PHPFOX_IS_AJAX && $sCustomViewType === null}
{if (Phpfox::getUserBy('profile_page_id') > 0 && defined('PHPFOX_IS_USER_PROFILE')) 
|| (isset($aFeedCallback.disable_share) && $aFeedCallback.disable_share) 
|| (defined('PHPFOX_IS_USER_PROFILE') && !Phpfox::getService('user.privacy')->hasAccess('' . $aUser.user_id . '', 'feed.share_on_wall'))
|| (defined('PHPFOX_IS_USER_PROFILE') && !Phpfox::getUserParam('profile.can_post_comment_on_profile'))
}

{else}
还有……是关于什么的?当我看到(不是在这里)a本身时,它在做什么

非常感谢您的帮助:)

该代码不起任何作用。(从字面上看,它只检查内容,不做任何处理)

不要那样编码


至于
::
,即,它用于标记静态类变量、静态类方法和类常量

单管(
|
)是代码不起作用的

。(从字面上看,它只检查内容,不做任何处理)

不要那样编码


至于
::
,即,它用于标记静态类变量、静态类方法和类常量

单管(
|
)是

井, 看起来这不仅仅是PHP。 它是smarty模板的一部分,这就是我们在smarty模板文件中使用if-else的方式

来自smarty站点本身的示例

{if $name eq 'Fred'}
    Welcome Sir.
{elseif $name eq 'Wilma'}
    Welcome Ma'am.
{else}
    Welcome, whatever you are.
{/if}
有关此链接的更多详细信息

如果我错了,请纠正我。

好吧, 看起来这不仅仅是PHP。 它是smarty模板的一部分,这就是我们在smarty模板文件中使用if-else的方式

来自smarty站点本身的示例

{if $name eq 'Fred'}
    Welcome Sir.
{elseif $name eq 'Wilma'}
    Welcome Ma'am.
{else}
    Welcome, whatever you are.
{/if}
有关此链接的更多详细信息


如果我错了,请纠正我。

看起来像phpfox模板(使用smarty)

因此,{if}和{else}之间的部分,您可能遗漏了,是在if中的条件为true时生成的(到html)


问题是静态方法的调用。Phpfox是一个具有静态方法的类。这些方法不需要对象,称为ClassName::method()

看起来像phpfox模板(使用smarty)

因此,{if}和{else}之间的部分,您可能遗漏了,是在if中的条件为true时生成的(到html)


问题是静态方法的调用。Phpfox是一个具有静态方法的类。这些方法不需要对象,称为ClassName::method()

如果在smarty模板页面中使用其他方法,则可以轻松使用这些方法。 来自smarty站点本身的示例

{if $name eq 'Fred'}
    Welcome Sir.
{elseif $name eq 'Wilma'}
    Welcome Ma'am.
{else}
    Welcome, whatever you are.
{/if}
{如果$name=='anil'} 阿尼尔·古普塔 {else} 阿米塔·古普塔
{/if}

您可以在smarty模板页面中轻松使用if-else条件。 来自smarty站点本身的示例

{if $name eq 'Fred'}
    Welcome Sir.
{elseif $name eq 'Wilma'}
    Welcome Ma'am.
{else}
    Welcome, whatever you are.
{/if}
{如果$name=='anil'} 阿尼尔·古普塔 {else} 阿米塔·古普塔
{/if}

我猜测可能的重复是古怪的PHP语法可能是某种模板语言,尽管我不认识它。您还应该查看和。这似乎是smarty模板文件的一部分,phpfox使用smarty afaik。我猜可能的重复是,古怪的PHP语法可能是某种模板语言,尽管我不认识它。您还应该查看和。这似乎是smarty模板文件的一部分,phpfox使用smarty afaik。那就是它了。感谢所有的信息人:)我也会研究smarty模板-我认为它检查内容不相关的事实是毫无意义的。人栈溢出对于学习东西来说是如此的伟大。你们这些家伙总是能提供这么好的信息。感谢所有的信息人:)我也会研究smarty模板——我认为它不相关地检查东西的事实是毫无意义的。人栈溢出对于学习东西来说是如此的伟大。你们总是带着这么好的信息过来。这似乎是共识,我会调查它-感谢链接这似乎是共识,我会调查它-感谢链接