博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
yii2开发总结(二)
阅读量:6390 次
发布时间:2019-06-23

本文共 1927 字,大约阅读时间需要 6 分钟。

  hot3.png

用户授权

因为自己的网站不需要用户授权,所以在 config/web.php 的配置文件中 把 user 组件给去掉,还要吧  views/layouts/main.php文件里面的相关代码给去掉,在显示页面的时候会提示错误:

An Error occurred while handling another error:exception 'yii\base\InvalidConfigException' with message 'User::identityClass must be set.' in /yii2/2.0.9/yiisoft/yii2/web/User.php:163
echo Nav::widget([        'options' => ['class' => 'navbar-nav navbar-right'],        'items' => [            ['label' => 'Home', 'url' => ['/site/index']],            ['label' => 'About', 'url' => ['/site/about']],            ['label' => 'Contact', 'url' => ['/site/contact']],        ],    ]);

去掉 有关  app->user 相关的代码。

 

使用MemCache问题

由于之前的工程使用yii1 里面的memcache, 新工程同样需要使用缓存,也就使用了MemCache. 发现新工程里面无法访问旧工程设置的缓存内容,反之亦然。配置的memcache是同一个。最后通过比较代码,发现yii1中CCache.php 和 yii2中 Cache.php 文件中生成缓存key的规则发生了变化。代码如下:

Yii1  CCache.php

/**	 * @param string $key a key identifying a value to be cached	 * @return string a key generated from the provided key which ensures the uniqueness across applications	 */	protected function generateUniqueKey($key)	{		return $this->hashKey ? md5($this->keyPrefix.$key) : $this->keyPrefix.$key;	}

Yii2 Cache.php

/**     * Builds a normalized cache key from a given key.     *     * If the given key is a string containing alphanumeric characters only and no more than 32 characters,     * then the key will be returned back prefixed with [[keyPrefix]]. Otherwise, a normalized key     * is generated by serializing the given key, applying MD5 hashing, and prefixing with [[keyPrefix]].     *     * @param mixed $key the key to be normalized     * @return string the generated cache key     */    public function buildKey($key)    {        if (is_string($key)) {            $key = ctype_alnum($key) && StringHelper::byteLength($key) <= 32 ? $key : md5($key);        } else {            $key = md5(json_encode($key));        }        return $this->keyPrefix . $key;    }

 

转载于:https://my.oschina.net/skyzwg/blog/733959

你可能感兴趣的文章
bootstrapTable refresh 方法使用简单举例
查看>>
2、TestNG+Maven+IDEA环境搭建
查看>>
maven插件运行过程中自动执行sql文件
查看>>
New UWP Community Toolkit - XAML Brushes
查看>>
C# ==、Equals、ReferenceEquals 区别与联系 (转载)
查看>>
layer弹出层的关闭问题
查看>>
LeetCode——3Sum &amp; 3Sum Closest
查看>>
netstat详解
查看>>
微信小程序 --- e.currentTarget.dataset.id 获取不到值
查看>>
Introducing stapbpf – SystemTap’s new BPF backend
查看>>
详细介绍MySQL/MariaDB的锁
查看>>
0603-Zuul构建API Gateway-通过Zuul上传文件,禁用Zuul的Filter
查看>>
cocos2dx-2.x CCFileUtils文件管理分析(2)
查看>>
Emacs中多个golang项目的配置方法
查看>>
未知宽高div水平垂直居中3种方法
查看>>
Vim替换查找
查看>>
如何用sysbench做好IO性能测试
查看>>
利用线性回归模型进行卫星轨道预报
查看>>
懒加载和预加载
查看>>
前端面试题
查看>>