gpt4 book ai didi

php - 关于如何将 CRUD 应用程序移植到 PhalconPHP 的一些初学者问题

转载 作者:搜寻专家 更新时间:2023-10-31 21:34:36 24 4
gpt4 key购买 nike

我刚开始使用 PhalconPHP 1.3.1 作为我的硕士论文的应用程序。还没有完全开发,但我目前正在研究 CRUD,所以在有了一些功能和 UI 工作之后,我决定开始介绍这个惊人的框架。在我开始这篇论文之前,我是网络开发、MVC 和 ORM 模式方面的新手。这也是我第一次使用模板引擎。现在我已经成功移植了所有内容,但恐怕我没有以正确的方式进行移植。我开始将我的代码添加到使用开发工具创建的 PhalconPHP Bootstrap 中。现在我从以下问题开始:

1º- 与将来我将使用 Phonegapp 包装的 Web 应用程序一样,我正在使用 AJAX 加载功能,以避免每次 id = "content"更改时加载所有菜单和库。为此,我使用 $('#content').load();用于更改 URL 的内容和 historyjs 函数。除了在 Nginx 上配置干净的 URL 之外,我没有对原始代码做任何更改

try_files $uri $uri/ /index.php?_url=$uri&$args;

在文档中显示了使用 AJAX 的不同方式,所以我担心我不应该使用这种方式,以某种方式破坏 MVC 模式。

2º - 与此相关,我向 AJAX 动态加载 URL 添加了一个变量 ?header=yes,指示我只加载内容。因此,对于每个 Controller 中的这个,在我做的 indexActions 中:

$header = filterinput(INPUTGET, 'header');

$this->view->setVar("header",$header);

在我用 volt 检查变量之后。这是正确的方法吗?我想用伏特来做所有事情,但我还没有找到方法。

3º-此外,因为菜单对每个页面都是通用的,所以在主 index.volt(在文件夹 View 中)中,我根据变量包含了菜单。也可以吗?或者我应该将它移动到不同的 View 吗?

4º-由于 1º,我制作了自己的点击功能,我在其中推送新 URL 并加载内容,我再次担心我打破了 Phalcon 的良好做法。

5º-JS/HTML 部分目前是纯代码,我只是用 volt 语法替换了 PHP 部分。我是否也应该替换像这样的代码

<link href="../css/stylefile.css" rel="stylesheet"/>

因为它的伏特语法?

我希望你澄清我并在需要如何更改它的情况下提出建议。

最佳答案

我目前在一个商业项目中使用 Phalcon 和 volt,我一直在寻找新的方法来做事,你必须真正尝试不同的方法,看看它是否适合你的需要。如果您希望在具有相同数据的多个设备上工作,我会查看 phalcon micro 版本并将其用作 rest api,然后创建另一个使用 phalcon mvc 版本进行客户端渲染的项目,然后使用 ajax 获取来自您的 phalcon 微型项目的数据。这样,如果您使用 native 移动设备、台式机、电视、平板电脑,无论您需要什么,您都不必重写代码,您只需要创建一个新的前端。

另一个要研究的是局部,你可以在局部中分离出你的页眉、页脚和导航,并像这样调用它们:

{{ partial("partials/layout/footer") }}

您还想看看为您的 phalcon 微型项目创建一个合适的 rest api url 结构。如果你想获得所有用户,你可以做类似 /users 的事情,并通过 id 获得用户,你可以做 /users/1 这是非常非常基本的,所以我有在下面的一篇很棒的文章中复制,为您提供有关 rest api 和良好结构的更多信息。

你也可以像这样设置 volt 变量:

$this->view->header = $header;

然后这样调用它:

{{ header }}

我希望这能给你一些想法,但只要尝试一下并阅读不同博客上的一些文章以了解其他人在做什么,Phalcon 论坛和 IRC channel 也是获得帮助的好地方

一些不错的文章和资源

http://inmensosofa.blogspot.co.uk/2011/10/look-into-various-rest-apis.html http://docs.phalconphp.com/en/latest/reference/micro.html

关于php - 关于如何将 CRUD 应用程序移植到 PhalconPHP 的一些初学者问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22957887/

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