【发布时间】:2015-09-08 10:32:19
【问题描述】:
我们有一个核心 PHP 项目。现在我们要将其中一个模块转换为 YII2。
所以我的做法是这样的:-
根据我们的旧代码,当用户提交字符串进行搜索时,我们会在核心 php 中获取所有数据,并为其创建一个唯一的 URL。在我们将控制重定向到这个 url 之后。这个唯一的 URL 由 .htaccess 文件处理。进一步的处理由核心 PHP 文件(在 .htaccess 文件中)运行。
现在我们要在 .htaccess 处理后转换模块。 在 URL 制作一切正常之前。 URL 创建良好,我们在会话中保存了一些使用完整信息,并将控制重定向到 yii2 控制器。现在我们的问题是我们如何在那里获取数据? 我们在会话中添加了重要数据,但无法使用 $_SESSION 获取数据。 我们无法更改 URL。 我们不能使用 POST 方法。 那怎么办?
例子:-
用户搜索
' India gate,new delhi, india'
所以我们正在制作这种类型的网址
/india/new-delhi/india-gate
现在.htaccess url是这样的
RewriteRule ^india(.*)/$ /pages/india/process.php
我们在 YII2 中制作了一个控制器,并像这样更改了 .htaccess url
RewriteRule ^india(.*)/$ /web/index.php?r=site/india [NC]
页面被重定向,但问题是我们如何在这个 YII2 框架上获取核心 php 数据?像 $_SESSION 数据和另一个数据
【问题讨论】:
-
我试过这个 Yii::$app->session,但它没有显示核心 PHP session 数据。
-
你可以打开漂亮的url来删除
?r=site/india。 -
首先你必须使用 yii2 设置会话然后你可以从中获取数据。
-
我可以在核心 PHP 中设置 yii2 会话吗?而且它是旧代码,我们不想修改它,这就是为什么我们计划仅通过 YII2 更改视图。