小编Ant*_*ška的帖子

Yii2:如何读取由JavaScript设置的cookie

我在web/js/site.js中设置了一个cookie:

$.cookie("sidebar", "hidden", { path: '/' });
Run Code Online (Sandbox Code Playgroud)

我用PHP读取了cookie:

$sidebar_toggle_state = $_COOKIE['sidebar'];
Run Code Online (Sandbox Code Playgroud)

是否可以使用Yii请求组件来读取此类cookie?以下代码不读取cookie:

$sidebar_toggle_state = Yii::$app->request()->cookies()->getValue('sidebar', '');
Run Code Online (Sandbox Code Playgroud)

请参阅:http://www.yiiframework.com/doc-2.0/guide-runtime-sessions-cookies.html#cookies

当我通过Yii响应组件设置一个新的cookie时:

Yii::$app->response->cookies->add(new yii\web\Cookie([
    'name' => 'sidebar',
    'value' => 'hidden',
]));
Run Code Online (Sandbox Code Playgroud)

然后cookie的值看起来像这样(因为cookie受到保护):

3976220a3c8e46bb641aef1da3accfb1652bffd5bb9de503a9d6882e8a69f6f9a%3A2%3A%7Bi%3A0%3Bs%3A7%3A%22sidebar%22%3Bi%3A1%3Bs%3A6%3A%22hidden%22%3B%7D
Run Code Online (Sandbox Code Playgroud)

这样的cookie可以读取Yii Request Component.但它能读取未受保护的cookie吗?

或者,是否可以使用JavasSript/jQuery(不使用AJAX)设置Yii保护的cookie?

yii2

9
推荐指数
1
解决办法
4294
查看次数

如何配置SCP/SFTP文件存储?

我的Laravel应用程序应该将文件复制到另一个远程主机.远程主机只能通过带私钥的SCP访问.我想配置一个新的文件存储(类似于FTP),但我没有找到任何信息,如何定义SCP驱动程序.

php scp laravel laravel-5 laravel-5.5

4
推荐指数
1
解决办法
5398
查看次数

Yii2:如何在事务中禁用/启用自动提交模式?

在 Yii 1.1 中,CDbConnection 类中存在autoCommit属性。在 Yii2 中Connection类没有这样的属性。我应该如何在事务中禁用和启用自动提交模式?或者我应该简单地使用以下方法:

$db->query('SET autocommit=0;');
$transaction = $db->beginTransaction();
try {
    $model->save();
    ...
    $transaction->commit();
} catch(Exception $e) {
    $transaction->rollback();
}
$db->query('SET autocommit=1;');
Run Code Online (Sandbox Code Playgroud)

yii2

2
推荐指数
1
解决办法
1718
查看次数

Yii2:如何使用Gii从MySQL / MariaDB视图自动生成CRUD

我可以使用Gii轻松地从MySQL / MariaDB视图生成模型,但是当我尝试生成CRUD时,我会收到以下错误消息:

与frontend \ models \ MyModel关联的表必须具有主键。

另请参见Yii Framework论坛中讨论

yii2 yii2-model

0
推荐指数
1
解决办法
1191
查看次数

标签 统计

yii2 ×3

laravel ×1

laravel-5 ×1

laravel-5.5 ×1

php ×1

scp ×1

yii2-model ×1