为用户创建自定义"project page"的正确方法是什么?



我正在使用React作为前端和PHP/MySQL作为后端构建Web应用程序。用户应该能够创建自己的"项目",可以将其视为一组模板页面的实例,其中包含为特定项目定制的内容。例如,Facebook页面或Firebase项目具有默认模板,但是可以创建,自定义和拥有它们的实例。与此相似的东西是我想创建的。

我假设我有一组默认页面,这些页面填充了数据库中的特定项目的内容,但是我不确定如何在用户之间导航时如何最好地跟踪哪个项目被访问项目的页面。我可以想到多种方法,例如使用get-Variables或会话变量在PHP中,或使用本地存储变量使用JavaScript,但我不知道哪一个最合适。

实施类似的事情的正确方法是什么?

实施此功能有不同的策略。我已经看到Web应用程序可以完成所有工作,从设置cookie或session变量以跟踪正在查看哪个项目到使用POST参数,但是到目前为止,最常见的方法是获取参数,例如project.php?project_id=7。如果您不喜欢这样的外观,则可以始终使用URL重写,以便可以使用user/project/7

如果您绝对必须在所有项目中保持URL相同,那么您的下一个最佳选择将是会话变量或cookie,这将需要具有设置cookie或变量的中间页面,然后重定向到项目页面。p>基于此,您可以查询数据库以获取该特定模板的布局信息,然后使用React或您使用的任何框架进行渲染。

如果您的模板页面高度可自定义,那么每个页面都有一个单独的页面会很麻烦。您用php标记了问题,因此我假设您计划使用PHP来实现此行为。出色的!那只是它所做的那种事情。我对您的项目设置一无所知,但是根据您的应用程序的大小,您可以将其分解为最小的可自定义组件集,并有条件地渲染任何一个适用的组件,否则每个选项都直接将每个选项直接进入您的PHP代码。我也不确定您如何确切地将反应纳入其中,但是基本思维过程是相同的。

您没有提及您正在构建应用程序的内容,但是您基本上是在谈论"视图",这些视图根据用户访问和他们正在查看的页面显示信息。

我将引用Angular Docs的页面:https://docs.angularjs.org/tutorial/step_09

要添加详细的视图,我们将将index.html变成我们称为>"布局模板"的内容。这是一个模板,对于我们>应用程序中的所有视图都是常见的。然后将其他"部分模板"包含在此布局>模板中,具体取决于当前的"路由" - 当前显示给用户的视图。

相关内容

  • 没有找到相关文章

最新更新