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


Some beginner questions about how to port a CRUD application to PhalconPHP

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

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

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

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

2º-与此相关的我添加到AJAX动态加载URL变量?header=yes,表示我只加载内容。因此,在每个控制器中,在索引中,我做的操作:

$header = filterinput(INPUTGET, 'header');
$this->view->setVar("header",$header);

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

3º-此外,由于菜单对每一页都是通用的,在主索引.volt(在文件夹视图中)中,我根据变量包括菜单。也可以吗?还是我应该把它转移到不同的观点?

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微项目中获取数据。这样,如果你使用原生手机、台式机、电视、平板电脑,无论你需要什么,你都不必重写你的代码,你只需要创建一个新的前端。

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

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

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

你也可以这样设置电压变量:

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

并这样称呼它:

{{ header }}

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

一些好的文章和资源

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