Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.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脚本与UI分离_Php_Templates - Fatal编程技术网

保持PHP脚本与UI分离

保持PHP脚本与UI分离,php,templates,Php,Templates,我有php脚本,可以完成注册、登录、上传等操作。 我想把HTML保存在一个单独的文件中,这样就可以说我做了一个桌面客户端,我就可以使用php文件进行登录注册等 基本上有一个前端,HTML或桌面客户端,然后只有一个后端,php 可能吗 编辑:像ASP.net这样的东西更适合这个吗?您可以选择模型视图控制器设计模式。请在此处查看有关它的更多信息: 在phpro.org上有一个很好的教程: 话虽如此,使用MVC是一个相当高级的话题,您必须擅长OOP。另一件事可能是使用,但你必须学会如何使用它 我

我有php脚本,可以完成注册、登录、上传等操作。 我想把HTML保存在一个单独的文件中,这样就可以说我做了一个桌面客户端,我就可以使用php文件进行登录注册等

基本上有一个前端,HTML或桌面客户端,然后只有一个后端,php

可能吗


编辑:像ASP.net这样的东西更适合这个吗?

您可以选择模型视图控制器设计模式。请在此处查看有关它的更多信息:

在phpro.org上有一个很好的教程:

话虽如此,使用MVC是一个相当高级的话题,您必须擅长OOP。另一件事可能是使用,但你必须学会如何使用它


我个人建议您选择,它比其他同行更简单、更快。或者,您可能想选择被称为CodeIgniter的扩展版。

是的,这在MVC(模型-视图-控制器)等设计范例中是可能的。我建议研究一个框架,比如CodeIgniter、Kohana、CakePHP或Symfony。我听说CodeIgniter对于初学者来说是最容易学习的。

PHP本身就是一个模板,人们一直在讨论Smarty之类的东西有多无用。这纯粹是一个组织代码的问题,而不是一个“模板引擎”。MVC是一个好的方向


如果你打算做一个桌面客户端或类似的东西,我认为你的方向也是创建一个API-

不要只是跳上框架的潮流。PHP的创建者本人主张采用无框架的方法来处理这个分离问题。见:

通用框架的问题是它们不必要而且速度慢。如果您专门从事单个领域(如CMS)并使用drupal或其他东西,这是很好的,但是要警惕通用框架。尤其要担心Smarty的无用性(参见:)

在你对我发火之前,请记住我不是反科哈纳、采埃孚等的。它们仍然有它们的用途。但是由于人们倾向于直接告诉人们使用框架,我想我应该提供一个不同的视角。

为什么不呢? 只需将每个应用程序分为两部分—数据准备和数据显示

比如说,您的数据准备部分(也称为“业务逻辑”)可能看起来像

<?
include 'config.php';
$data=db_query("SELECT * FROM data",3);
display($data,"users_list.tpl");
?>
<?
if ($destination == 'desktop') echo json_encode($data);
else include $template;
?>
<a href="?id=0">Add item</a>
<? foreach ($data as $row): ?>
<li><a href="?id=<?=$row['id']?>"><?=$row['name']?></a>
<? endforeach ?>
而用户_list.tpl可能看起来像

<?
include 'config.php';
$data=db_query("SELECT * FROM data",3);
display($data,"users_list.tpl");
?>
<?
if ($destination == 'desktop') echo json_encode($data);
else include $template;
?>
<a href="?id=0">Add item</a>
<? foreach ($data as $row): ?>
<li><a href="?id=<?=$row['id']?>"><?=$row['name']?></a>
<? endforeach ?>


  • 很简单。只需避免echo$row['name']业务逻辑代码中的内容。

    agiletoolkit是一个轻量级框架,它在实现MVC方面做得非常好,并且作为一个额外的功能,它还提供了与前端Jquery UI的轻松集成,因此您可以非常轻松地创建具有CRUD数据库访问权限的漂亮网站

    正如其他人所提到的,如果你在方法上有纪律,你可以自己用普通的php来做到这一点,但是遵守纪律并不总是容易的,特别是当有最后期限需要满足的时候

    我不能评论其他框架,因为我没有使用过它们,但作为一个在非web开发领域有经验的程序员,我更喜欢agiletoolkit的方法,而不是编写原始php。我不想重新发明很多东西,比如安全性、ajax等等我只想开始开发我的应用程序,并在开发结束时拥有易于维护的代码


    如果这也是您正在寻找的,请查看以下内容

    +1:很好的解释,但正如您所提到的,smarty将是一个更容易的选择。