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

标签 javascript php user-input

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

我假设我有一组默认页面,其中填充了数据库中为特定项目存储的内容,但我不确定当用户在页面之间导航时如何最好地跟踪正在访问的项目项目的页面。我可以想到多种方法来做到这一点,例如在 PHP 中使用 GET 变量或 session 变量,或者在 JavaScript 中使用本地存储变量,但我不知道哪一种是最合适的。

实现这样的事情的正确方法是什么?

最佳答案

实现此功能有不同的策略。我见过 Web 应用程序可以执行各种操作,从设置 cookie 或 session 变量来跟踪正在查看的项目到使用 POST 参数,但到目前为止,最常见的方法是 GET 参数,例如project.php?project_id=7。如果您不喜欢它的外观,您可以随时使用 URL 重写,这样您就可以使用类似 user/project/7 的内容。

如果您绝对必须在所有项目中保持 URL 相同,那么您的下一个最佳选择是 session 变量或 cookie,这需要有一个中间页面来设置 cookie 或变量,然后重定向到项目页面。

基于此,您可以查询数据库以获取该特定模板的布局信息,然后使用 React 或您正在使用的任何框架进行渲染。

如果您的模板页面是高度可定制的,那么为每个模板页面设置一个单独的页面会很麻烦。您用 php 标记了您的问题,因此我假设您计划使用 PHP 来实现此行为。出色的!这正是它的用途。我对您的项目设置一无所知,但根据您的应用程序的大小,您可以将其分解为最小的一组可定制组件并有条件地渲染适用的组件,或者将每个选项直接内联到您的 PHP 代码中。我也不确定你到底是如何将 React 融入其中的,但基本的思维过程是相同的。

关于javascript - 为用户创建自定义 "project page"的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54974461/

相关文章:

javascript - 使用脚本标签在 Angular 8 应用程序上实现 Ecwid

php - WordPress插件开发: Deliver other page to browser than requested in URL

php - 无法加载 xdebug.so : undefined symbol: gc_globals

php - 使用 php 创建一个空的 html 文件

javascript - .innerHTML 不能正常工作(我猜)

javascript - 了解从 CoffeeScript 中的拼接返回的结果

java - 防止代码在用户输入之前返回值

c# - 如何获取绘图板笔压力值?

c - 在 C 中通过 nvim 执行程序时不调用 getchar()

javascript - 在字符串中查找单词的字符,优化