<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zb0109的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/zb0109</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zb0109]]></copyright><item><title><![CDATA[laravel8 防止XSS攻击 预防处理方案]]></title><link>https://blog.youkuaiyun.com/zb0109/article/details/123750247</link><guid>https://blog.youkuaiyun.com/zb0109/article/details/123750247</guid><author>zb0109</author><pubDate>Sat, 26 Mar 2022 09:09:07 +0800</pubDate><description><![CDATA[1.新建中间件


php artisan make:middleware XSS

2.在中间件中添加以下内容


public function handle(Request $request, Closure $next)
    {
        $userInput = $request-&gt;all();
        array_walk_recursive($userInput, function (&amp;$userInput) {
            $userInput..]]></description><category></category></item><item><title><![CDATA[swoole websocket简单聊天]]></title><link>https://blog.youkuaiyun.com/zb0109/article/details/123718943</link><guid>https://blog.youkuaiyun.com/zb0109/article/details/123718943</guid><author>zb0109</author><pubDate>Thu, 24 Mar 2022 19:17:10 +0800</pubDate><description><![CDATA[1.放行防火墙及宝塔安全端口号





2.配置解析过的域名



3.讲文件配置到根目录下



4.创建websocket.php文件，访问聊天页面web.html

websocket.php


&lt;?php
//创建WebSocket Server对象，监听0.0.0.0:9502端口
$ws = new Swoole\WebSocket\Server('0.0.0.0', 9502);

//监听WebSocket连接打开事件
$ws-&gt;on('Open', function ...]]></description><category></category></item><item><title><![CDATA[DcatAdmin 实现laravel8 Excel 导出功能]]></title><link>https://blog.youkuaiyun.com/zb0109/article/details/123689579</link><guid>https://blog.youkuaiyun.com/zb0109/article/details/123689579</guid><author>zb0109</author><pubDate>Wed, 23 Mar 2022 16:29:03 +0800</pubDate><description><![CDATA[数据导出 | 数据表格 |《Dcat Admin 中文文档 2.x》| Laravel China 社区

使用前必须先安装Easy Excel：


composer require dcat/easy-excel

启用导出功能


$grid-&gt;export()-&gt;filename('职称管理');


]]></description><category></category></item><item><title><![CDATA[DcatAdmin 实现laravel8 Excel 导入功能]]></title><link>https://blog.youkuaiyun.com/zb0109/article/details/123689275</link><guid>https://blog.youkuaiyun.com/zb0109/article/details/123689275</guid><author>zb0109</author><pubDate>Wed, 23 Mar 2022 16:24:44 +0800</pubDate><description><![CDATA[1. 安装 maatwebsite/excel


composer require maatwebsite/excel

2. 在控制器中添加导入按钮


use App\Admin\Actions\Modal\memberModal;
$grid-&gt;tools(function  (Grid\Tools  $tools)  { 
    //Excel导入
    $tools-&gt;append(new  memberModal());  
});



3. 创建文件 文件夹下创建类文件注意]]></description><category></category></item><item><title><![CDATA[小程序封装wx.request（）]]></title><link>https://blog.youkuaiyun.com/zb0109/article/details/123458861</link><guid>https://blog.youkuaiyun.com/zb0109/article/details/123458861</guid><author>zb0109</author><pubDate>Sun, 13 Mar 2022 14:20:11 +0800</pubDate><description><![CDATA[1.新建js文件


// 定义连接通用地址 （域名）
const pubUrl = "http://www.day.com/index.php/api/"
// 定义请求
const http = (url,method,data,header) =&gt;{
    return new Promise((resolve,reject) =&gt; {
        wx.request({
            url:pubUrl+url,
            method:method |]]></description><category></category></item><item><title><![CDATA[微信小程序静默登录验证token]]></title><link>https://blog.youkuaiyun.com/zb0109/article/details/123458766</link><guid>https://blog.youkuaiyun.com/zb0109/article/details/123458766</guid><author>zb0109</author><pubDate>Sun, 13 Mar 2022 14:17:00 +0800</pubDate><description><![CDATA[1.小程序封装we.request()方法


// 定义连接通用地址 （域名）
const pubUrl = "http://www.day.com/index.php/api/"
// 定义请求
const http = (url,method,data,header) =&gt;{
    return new Promise((resolve,reject) =&gt; {
        wx.request({
            url:pubUrl+url,
            m.]]></description><category></category></item><item><title><![CDATA[laravel8 passport验证登录颁发token]]></title><link>https://blog.youkuaiyun.com/zb0109/article/details/123458494</link><guid>https://blog.youkuaiyun.com/zb0109/article/details/123458494</guid><author>zb0109</author><pubDate>Sun, 13 Mar 2022 14:03:36 +0800</pubDate><description><![CDATA[1.安装passport插件


composer require laravel/passport

2.执迁迁移文件，生成数据表，保存token数据


php artisan migrate

3.生成客户端授权码


php artisan passport:install

4.在模型层调用HasApiTokens


use Laravel\Passport\HasApiTokens;



5.修改config/auth.php文件中的api配置


    'guards' =&gt; [.]]></description><category></category></item><item><title><![CDATA[laravel8高德、Es封装]]></title><link>https://blog.youkuaiyun.com/zb0109/article/details/123363872</link><guid>https://blog.youkuaiyun.com/zb0109/article/details/123363872</guid><author>zb0109</author><pubDate>Tue, 08 Mar 2022 21:41:29 +0800</pubDate><description><![CDATA[封装：

安装插件：


在您的composer.json文件中包含elasticsearch-php

{
    "require": {
        "elasticsearch/elasticsearch": "~7.0"
    }
}

comoposer require elasticsearch/elasticsearch

composer update


composer require guzzlehttp/guzzle


&lt;?php
namespace App\lib.]]></description><category></category></item><item><title><![CDATA[laravel8七牛云上传]]></title><link>https://blog.youkuaiyun.com/zb0109/article/details/123321433</link><guid>https://blog.youkuaiyun.com/zb0109/article/details/123321433</guid><author>zb0109</author><pubDate>Mon, 07 Mar 2022 07:40:23 +0800</pubDate><description><![CDATA[1.利用 composer 下载依赖包


composer require itbdw/laravel-storage-qiniu


2.打开 config 文件夹下的 app.php 文件，在 providers 中加入一下代码

itbdw\QiniuStorage\QiniuFilesystemServiceProvider::class,


3.打开 config 文件夹下的 filesystems.php 文件，在 disks中加入一下代码

'qiniu' =&gt; [  
     .]]></description><category></category></item><item><title><![CDATA[laravel8 datatables实现详情展示及异步删除数据]]></title><link>https://blog.youkuaiyun.com/zb0109/article/details/123317642</link><guid>https://blog.youkuaiyun.com/zb0109/article/details/123317642</guid><author>zb0109</author><pubDate>Sun, 06 Mar 2022 21:19:39 +0800</pubDate><description><![CDATA[1.增加删除按钮


public function getBtnAttribute()
    {
        $id = $this-&gt;id;
        return
            "&lt;a title='查看' href='javascript:;' onclick="."member_edit('查看','http://week2.1908a.com/index.php/show?id={$id}','4','','510')"." class='ml-5' style]]></description><category></category></item><item><title><![CDATA[laravel8 datatables 动态渲染数据及服务端分页]]></title><link>https://blog.youkuaiyun.com/zb0109/article/details/123317432</link><guid>https://blog.youkuaiyun.com/zb0109/article/details/123317432</guid><author>zb0109</author><pubDate>Sun, 06 Mar 2022 21:14:11 +0800</pubDate><description><![CDATA[1.书写路由

2.控制器书写方法


public function index(Request $request){

 //查询数据库数据
        if ($request-&gt;ajax()){
//            dd(22);
            $data = CompanyModel::all();
            //记录总条数
            $total = $data-&gt;count();
            //分页开始的位置
   .]]></description><category></category></item><item><title><![CDATA[laravel8 查看异步删除]]></title><link>https://blog.youkuaiyun.com/zb0109/article/details/123317446</link><guid>https://blog.youkuaiyun.com/zb0109/article/details/123317446</guid><author>zb0109</author><pubDate>Sun, 06 Mar 2022 21:11:37 +0800</pubDate><description><![CDATA[//访问器
    protected $appends=["Checkbox",'Btn','Show'];

    /**
     * 模型访问器添加复选框和删除按钮
     * @return string
     */
    public function getCheckboxAttribute(){
        $id=$this-&gt;id;
        return "&lt;input type='checkbox' name='' value=''&gt;";
 ..]]></description><category></category></item><item><title><![CDATA[laravel8 excel导出]]></title><link>https://blog.youkuaiyun.com/zb0109/article/details/123299255</link><guid>https://blog.youkuaiyun.com/zb0109/article/details/123299255</guid><author>zb0109</author><pubDate>Sat, 05 Mar 2022 18:58:04 +0800</pubDate><description><![CDATA[安装对应的phpexcel插件


composer require maatwebsite/excel

注：composer需要切源操作，否则下载将可能不会成功

安装成功后，就提供生成导出数据的命令，使用此命令生成导出数据文件

文件名和模型名一致


php artisan make:export CompanyModelExport --model=CompanyModel

对应文件生成



定义导出的路由


//exports导出
Route::get('exports',[\App\Ht]]></description><category></category></item><item><title><![CDATA[laravel8中Datatables ajax分页运用]]></title><link>https://blog.youkuaiyun.com/zb0109/article/details/123299136</link><guid>https://blog.youkuaiyun.com/zb0109/article/details/123299136</guid><author>zb0109</author><pubDate>Sat, 05 Mar 2022 18:52:16 +0800</pubDate><description><![CDATA[引入datatables js、css等样式


&lt;!--第一步：引入Javascript / CSS （CDN）--&gt;
    &lt;!-- DataTables CSS --&gt;
    &lt;link rel="stylesheet" type="text/css" href="http://cdn.datatables.net/1.10.21/css/jquery.dataTables.css"&gt;

    &lt;!-- jQuery --&gt;
    &lt;scr]]></description><category></category></item><item><title><![CDATA[laraval三级联动模式动态选择“省市区”]]></title><link>https://blog.youkuaiyun.com/zb0109/article/details/123299072</link><guid>https://blog.youkuaiyun.com/zb0109/article/details/123299072</guid><author>zb0109</author><pubDate>Sat, 05 Mar 2022 18:44:50 +0800</pubDate><description><![CDATA[后台控制器：运用了模型注入直接查询city表


 public function companyAddShow(City $city, Request $request)
    {
        if ($request-&gt;ajax()) {
            $data = $city-&gt;where('pid', $request-&gt;get('id'))-&gt;get();
            return $data;
        }
//        查询pi]]></description><category></category></item><item><title><![CDATA[封装递归树]]></title><link>https://blog.youkuaiyun.com/zb0109/article/details/123173997</link><guid>https://blog.youkuaiyun.com/zb0109/article/details/123173997</guid><author>zb0109</author><pubDate>Mon, 28 Feb 2022 07:44:37 +0800</pubDate><description><![CDATA[if (!function_exists("tier")){
    //封闭方法
    function tier($arr,$pid=0,$level=1){
        //建立空数组
        static $res=[];
        //循环
        foreach ($arr as $val){
            //判断
            if ($val['pid']==$pid){
                $val['level']=$lev.]]></description><category></category></item><item><title><![CDATA[laravel8鉴权登录]]></title><link>https://blog.youkuaiyun.com/zb0109/article/details/123173991</link><guid>https://blog.youkuaiyun.com/zb0109/article/details/123173991</guid><author>zb0109</author><pubDate>Mon, 28 Feb 2022 07:39:16 +0800</pubDate><description><![CDATA[//登录
    public function loginDo(CheckLogin $request)
    {
        $postData=$request-&gt;all();
//        auth登录
        $data=auth()-&gt;attempt(['username'=&gt;$postData['username'],'password'=&gt;$postData['password']]);
        if(!$data){
         .]]></description><category></category></item><item><title><![CDATA[laravel8 when 搜索]]></title><link>https://blog.youkuaiyun.com/zb0109/article/details/123173981</link><guid>https://blog.youkuaiyun.com/zb0109/article/details/123173981</guid><author>zb0109</author><pubDate>Mon, 28 Feb 2022 07:36:30 +0800</pubDate><description><![CDATA[//查询列表
Route::get('newsList', [\App\Http\Controllers\NewsController::class, 'newsList'])-&gt;middleware(['ckadmin']);


 //查询列表
    public function usersList(Request $request){
    $keywords=$request-&gt;input('keywords');
        $data=Users::usersList($.]]></description><category></category></item><item><title><![CDATA[laravel8 auth登录]]></title><link>https://blog.youkuaiyun.com/zb0109/article/details/123173978</link><guid>https://blog.youkuaiyun.com/zb0109/article/details/123173978</guid><author>zb0109</author><pubDate>Mon, 28 Feb 2022 07:32:55 +0800</pubDate><description><![CDATA[//登录
Route::post('loginData', [\App\Http\Controllers\loginController::class, 'loginData']);


//    登录
    public function loginData(LoginCheck $request){
        $postData=$request-&gt;all();
//        auth登录
        $data=auth()-&gt;attempt(['username'=.]]></description><category></category></item><item><title><![CDATA[laravel8 封装递归函数 树状图]]></title><link>https://blog.youkuaiyun.com/zb0109/article/details/123171068</link><guid>https://blog.youkuaiyun.com/zb0109/article/details/123171068</guid><author>zb0109</author><pubDate>Sun, 27 Feb 2022 21:39:06 +0800</pubDate><description><![CDATA[if (!function_exists("tier")){
    //封闭方法
    function tier($arr,$pid=0,$level=1){
        //建立空数组
        static $res=[];
        //循环
        foreach ($arr as $val){
            //判断
            if ($val['pid']==$pid){
                $val['level']=$lev.]]></description><category></category></item></channel></rss>