我正在网络应用程序中工作,我正在进行一些重构。
这样做,无论如何,我陷入了两难境地:我在页面中有一些类似的或相同的部分,我只想在一个部分中压缩,以便只进行一次编辑,因为编辑变得很痛苦。 / p>
但怎么办呢?我正在使用php,js和jquery。
用php echos做这件事是一件大事;它很难管理所有括号,无论如何它对我来说并不是最优雅的解决方案,另外,我需要对我打印的东西进行一些控制。
我正在思考一些关于功能的事情,但由于我没有多少经验,所以我真的不知道自己可以在哪里发挥作用。提前谢谢。
编辑:我被问到一些例子。<form action="insert.php" method="POST" class="big" style="display:none;">
<h3> Insert Contact </h3>
<fieldset class="col2">
<!-- Some inputs here -->
</fieldset>
<div>
<input type="submit" value="Send">
<input type="reset" value="Clean Form">
</div>
<input type="text" name="insert" value="1" style="display:none;">
<input type="text" name="modify" value="1" style="display:none;">
<input type="text" name="secret" value="<? echo($perm); ?>" class="hidden">
</form>
例如,这是我想在某些页面中添加的表单。在其他一些我不想要的。但是,例如我需要,根据打电话的页面,切换一些参数或更改一些值,这是我认为我可以用PHP包括的事情。
答案 0 :(得分:3)
您可以使用PHP的include()
函数将HTML包含在文件中。
form.php的
<form action="insert.php" method="POST" class="big" style="display:none;">
<h3> Insert Contact </h3>
<fieldset class="col2">
<!-- Some inputs here -->
</fieldset>
<div>
<input type="submit" value="Send">
<input type="reset" value="Clean Form">
</div>
<input type="text" name="insert" value="1" style="display:none;">
<input type="text" name="modify" value="1" style="display:none;">
<input type="text" name="secret" value="<? echo($perm); ?>" class="hidden">
</form>
的header.php
<div>Hello World!</div>
<?php $value = 10; ?>
的index.php
<html>
<head>
</head>
<body>
<?php include(header.php); ?>
<div>This is some content. The number is <?php echo($value); ?></div>
<?php include(form.php); ?>
</body>
</html>
<html>
<head>
</head>
<body>
<div>Hello World!</div>
<div>This is some content. The number is 10</div>
<form action="insert.php" method="POST" class="big" style="display:none;">
<h3> Insert Contact </h3>
<fieldset class="col2">
<!-- Some inputs here -->
</fieldset>
<div>
<input type="submit" value="Send">
<input type="reset" value="Clean Form">
</div>
<input type="text" name="insert" value="1" style="display:none;">
<input type="text" name="modify" value="1" style="display:none;">
<input type="text" name="secret" value="<? echo($perm); ?>" class="hidden">
</form>
</body>
</html>
如果要在两种不同的表单中进行选择,可以使用以下任何一种方法进行选择:
insert.php
<?php include("insert-form.php"); ?>
edit.php
<?php include("edit-form.php"); ?>
的index.php
<?php
$formchoose = "insert";
if($formchoose == "insert") {
include("form-insert.php");
} else {
include("form-default.php");
}
?>
的index.php
<?php
$formchoose = "insert";
include(forms.php);
?>
forms.php
switch ($formchoose) {
case "insert":
?>
<form id="insert-form">
<!-- form here-->
</form>
<?
break;
case "edit":
?>
<form id="edit-form">
<!-- form here-->
</form>
<?
break;
default:
break;
}
答案 1 :(得分:0)
您可以查看PHP include()(包含示例)
它易于使用,您只需撰写:<?php include 'my_file.php'; ?>
由于您可以在 .php 文件中编写html / js,因此您可以使用它来包含部分页面。
答案 2 :(得分:0)
另一个有助于形成动态形式的想法:
<强> some_dynamic_form.php 强>
<?php
function getDynamic($form)
{
switch ($form) {
case 'form1':
return array('hello', 'world', '1');
case 'form2':
return array('hello', 'from', '2');
}
}
?>
的index.html
<?php
require_once 'some_dynamic_form.php';
$dynamicForm = getDynamic('form1');
?>
<html>
<body>
<form action="#">
<?php foreach ($dynamicForm as $param): ?>
<input type="text" name="<?php echo $param ?>" />
<?php endforeach; ?>
</form>
</body>
</html>
你可以用这个做任何你想要的东西,以使它更好:)创建一个表格类,所以它将是OPP
答案 3 :(得分:-1)
我建议使用MVC方法来分离您的模型(数据),视图和控制器(应用程序的大脑)。
您还应该考虑使用模板引擎,例如Twig。