这是李捷老师的第二篇实战课程的介绍,是关于上一篇Yii2.0实战的优化
class AppAsset extends AssetBundle
{
public $basePath = '@webroot';
public $baseUrl = '@web';
public $css = [
'css/site.css',
];
public $js = [
];
public $depends = [
'yiiwebYiiAsset',
'yiibootstrapBootstrapAsset',
];
}
首页顶部的view书写
[
"class" => "top-bar animate-dropdown",
],
]);
echo Nav::widget([
'options' => ['class' => 'navbar-nav navbar-left'],
'items' => [
['label' => '首页', 'url' => ['/index/index']],
!Yii::$app->user->isGuest ? (
['label' => '我的购物车', 'url' => ['/cart/index']]
) : '',
!Yii::$app->user->isGuest ? (
['label' => '我的订单', 'url' => ['/order/index']]
) : '',
],
]);
echo Nav::widget([
'options' => ['class' => 'navbar-nav navbar-right'],
'items' => [
Yii::$app->user->isGuest ? (
['label' => '注册', 'url' => ['/member/auth']]
) : '',
Yii::$app->user->isGuest ? (
['label' => '登录', 'url' => ['/member/auth']]
) : '',
!Yii::$app->user->isGuest ? (
'欢迎您回来,'. Yii::$app->user->identity->username .' , '.
Html::a('退出', ['/member/logout'])
) : '',
],
]);
NavBar::end();
?>
###面包屑的复用
['label' => '首页', 'url' => '/admin/default/index'],
'links' => isset($this->params['breadcrumbs']) ? $this->params['breadcrumbs'] : [],
]);
?>
比如我们引用的时候
$this->params['breadcrumbs'][] = ['label' => '分类管理', 'url' => ['/admin/category/list']];
在配置中设置
'assetManager' => [
'class' => 'yiiwebAssetManager',
'bundles' => [
'yiiwebJqueryAsset' => [
'js' => [
YII_ENV_DEV ? 'jquery.js' : 'jquery.min.js'
],
],
'yiibootstrapBootstrapAsset' => [
'css' => [
YII_ENV_DEV ? 'css/bootstrap.css' : 'css/bootstrap.min.css',
]
],
'yiibootstrapBootstrapPluginAsset' => [
'js' => [
YII_ENV_DEV ? 'js/bootstrap.js' : 'js/bootstrap.min.js',
]
]
],
],


访问过滤器(验证用户是否登录)
public function behaviors()
{
return [
'access' => [
'class' => yiifiltersAccessControl::className(),
'only' => $this->actions,
'except' => $this->except,
'rules' => [
[
'allow' => false,
'actions' => empty($this->mustlogin) ? [] : $this->mustlogin,
'roles' => ['?'], // guest
],
[
'allow' => true,
'actions' => empty($this->mustlogin) ? [] : $this->mustlogin,
'roles' => ['@'],
],
],
],
不再使用md5和sha1加密,转而使用更加安全的bcrypt



使用yii命令创建数据库
./yii migration --migrationPath=@yii/rbac/migrations
'authManager' => [
'class' => 'yiirbacDbManager',
// auth_item (role permission)
// auth_item_child (role->permission)
// auth_assignment (user->role)
// auth_rule (rule)
'itemTable' => '{{%auth_item}}',
'itemChildTable' => '{{%auth_item_child}}',
'assignmentTable' => '{{%auth_assignment}}',
'ruleTable' => '{{%auth_rule}}',
],
创建数据表
.yii migrate --migrationPath=@yii/rbac/miginations
全文检索引擎是目前广泛应用的主流搜索引擎。它的工作原理是计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。
Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎。无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。
Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful APl来隐藏Lucene的复杂怕y从而让全文搜索变得简单。
全文检索的基本思路,也即将非结构化数据中的一部分信息提取出来,重新组织,使其变得有一定结构,然后对此有一定结构的数据进行搜索,从而达到搜索相对较快的目的。


下载ES文件
yum -y install elasticsearch
配置elasticsearch.yml
cluster.name: yii2-search
node.name: master-1
network.host: 192.168.199.112
http.port: 9200
启动ES
service elasticsearch start
不过中文如果想支持分词,需要安装一个analysis-ak插件
clone下载
git checkout tags/版本号
安装略,然后重启

看我之前写过的一篇文章http://blog.csdn.net/qq_33936481/article/details/72956186


大概步骤


uname -r 查询linux内核版本
yum -y install ipvsadm
ipvsadm -h

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/1276/viewspace-2801354/ ,如需转载,请注明出处,否则将追究法律责任。