0%

互联网数据库大作业Note1

使用git下面的命令时

1
git checkout master

报错:

1
pathspec 'master' did not match any file(s) known to git.

解决过程:

  1. 查看分支情况(git branch -a)
  2. 没有看到master的分支,则需要先获取所有分支(git fetch)
  3. 切换到远程master分支(git checkout origin/master)
  4. 从当前的detached分支切换并新建分支(git checkout -b master)
  5. 建立本地分支和远程分支的追踪关系(git branch -u origin/master master)
  6. git pull得到反馈:Already up-to-date.

yii2初始化: init,开发环境:0,yes

Yii2 初始化的主要工作是产生一些配置文件和脚本文件,使用 GitHub 作为代码版本库,这些配置和脚本文件默认是被忽略提交的

根目录下的 /vendor 是第三方代码库(包括Yii2源码等),默认情况下是忽略提交的,由 Composer 维护。

但由于 Composer 在中国被墙速度慢,所以此推荐将 /vendor 也加入版本库,具体操作:注释掉根目录下 /.gitignore 文件里的 /vendor 内容。

使用gii


yii2安装后台adminlet模板报错: ‘dmstr\web\AdminLteAsset’不存在

1
到项目的advenced目录下,在安装后台模板框架执行命令: composer require dmstr/yii2-adminlte-asset "2.*"

后台主题安装成功后,将主题配置到yii中去:copy项目vendor/dmstr/yii2-adminlte-asset/example-views/yiisoft/yii2-app下的layouts和site拷贝到backend/views下面,将默认的layouts和site替换覆盖即可.

Seems you have downgraded Yii Framework from version 2.0.16.1 to 2.0.11.


Fatal error: Cannot use ‘Object’ as class name as it is reserved in E:\Xampp\htdocs\yii2\Centenary\vendor\yiisoft\yii2\base\Object.php on line 77

.\vendor\yiisoft\yii2\base\Object.php:

* Object is the base class that implements the property feature. It has been replaced by [[BaseObject]] in version 2.0.13 because object has become a reserved word which can not be used as class name in PHP 7.2.


不能登录进入index时:

SiteController.php中behaviors():access的action中role由@改为?

@表示已登录用户,?表示游客


backend\config\main.php

1
2
3
4
'user' => [
'identityClass' => 'common\models\Adminuser',
...
]

Uncaught Error: Using $this when not in object context in ……

解决:在backend\views\layouts\left.php中:[‘label’ => ‘留言管理’, ‘icon’ => ‘ fa-database’, ‘url’ => [‘/message/index’]],


模板放进yii2框架

asset文件夹

yii框架改三个地方:/assets/AppAsset.php资源目录文件(header照抄css,script中照抄js),/web/资源目录(),/views/layout页面布局文件(嵌入模板\<?= \$content>呈现子页面)

HTML代码改成PHP代码后可引入文件

actionIndex中指出使用哪个页面:$this->layout=” “

controller/access:页面是否可达

json数据交换格式

composer.update自动升级,解决由依赖导致的冲突

插件https://packagist.org/?query=select2

maven在java中组件管理

修改基类:添加BaseController,使之继承Controller,作为一个中间类,不要修改源码


命名规范:

view:全为小写,不同的单词用横线分隔

model与controller:开头字母小写,不同单词首字母大写


占位符,内置机理,防止sql注入

csrf:f12 “Form Data”中_csrf防止csrf攻击,模仿站点

客户端(浏览器)————服务器(yii框架PHP…)

  1. 请求资源(服务器生成csrf并传递给客户端) 2. 服务器返回资源(返回登录页,加密的csrf,cookie) 3. 客户端提交信息 4. 服务器返回信息的结果(服务器比较csrf是否一样)

f12 application storage

xss:蠕虫攻击


在yii2中使用echarts:1. 以插件引入 2. 以js引入(https://echarts.baidu.com/echarts2/doc/start.html)