gpt4 book ai didi

php - 如何在页面中间用 PHP 附加到 ?

转载 作者:行者123 更新时间:2023-11-27 23:09:20 24 4
gpt4 key购买 nike

我有一个包含 HTML 和 JS 的 HTML“代码块”,因此我可以轻松地将其包含在 PHP 中。我还希望它具有 CSS 样式,但根据标准,您“不允许”这样做 - 虽然它可以使页面无效。 CSS 只允许在 <head> 中使用而不是在页面的中间(至少直到 HTML5.2)。所以我考虑在头部附加名称相似但单独的 .css 文件,但使用 PHP 而不是 JS(出于性能考虑)

<head>
<!-- PHP needs to include button.css here AFTER $App->INC("button"); has been called -->
</head>

<body>
<?php
$App->INC("button");
//This basically does 'require_once("button")';
//What do I need to add to the INC method to include css file in the head?
//Similar to $("head").append() but with PHP
?>
</body>

应将具有相同名称的 css 文件添加到 <head>部分。

附言:这似乎是一个设计缺陷,也可能是,但这是其背后的想法。

  1. 我有一段代码,如果包含在body 生成一个“加载屏幕”(或其他 UI 元素不能/不应该嵌套在其他任何地方,但在 <body> 中的网站。
  2. 它在一个单独的文件中有样式
  3. 我将它发送给其他用户
  4. 他们将它包含在一个“App”类的方法中,该类只做两个东西:包括文件本身和附近的 css 文件
  5. 然后他们只用一行代码把它放在他们想要的地方,然后不在其他 2-3 个地方,因此代码更易于管理

例子:

Structure

最佳答案

你可以试试这个:

<?php
ob_start();
$App->INC("button");
$button = ob_get_clean();
?>
<head>
<!-- Do your inclue here -->
</head>

<body>
<?= $button ?>
</body>

您可以将 ob_start()/ob_get_clean() 内容放入 button.php 并通过您的 INC 返回内容() 方法。然后您可以像这样将内容直接保存到 $button 中:$button = $App->INC("button");

但是你的例子看起来像是一个设计问题。不过,我希望这能解决问题。


这可能是一个可能的重新设计:

<?php

$App->loadModule('button'); // Loads the module, the module registers stylesheets and content.

$App->loadModule('another_module'); // Load more modules ...

<head>
<?php $App->renderModuleStylesheets(); ?>
</head>

<body>
<?php $App->renderModuleContent(); ?>
</body>

关于php - 如何在页面中间用 PHP 附加到 <head>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58612503/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com