Yii2的扩展整理

PHPer 2020-04-06 1376 0 0
Yii2的各种好用的扩展

这里整理一些自己实测好用的 Yii2 扩展 20200406...

立即注册

更新于:2022-04-30 22:26:35
    您需要登录后才可以评论。 立即注册

    最完整的安装教程-Yii Gridview小部件之kartik-v/yii2-grid扩展的安装和使用,解决错误Error Class "kartik\base\Lib" not found(2022年5月)

    kartik-v/yii2-grid 使用时报错 Error Class "kartik\base\Lib" not found 1. in .../vendor/kartik-v/yii2-grid/src/ColumnTrait.php
    kartik-v/yii2-grid 使用时报错
    Error Class "kartik\base\Lib" not found
    1. in .../vendor/kartik-v/yii2-grid/src/ColumnTrait.php,要去单独安装下composer  require kartik-v/yii2-krajee-base "dev-master"
    

    4cbc1dc3bb-qq-jie-tu20220430232602_normal.jpg

    先安装 kartik-v/yii2-grid 依赖的扩展

    composer  require kartik-v/yii2-krajee-base "dev-master"
    

    之后是根据你的项目bootstrap的版本安装对应的,如果没有安装的话,安装下Yii2的bootrstarp

    composer require --prefer-dist yiisoft/yii2-bootstrap
    

    安装必要的依赖扩展,kartik依赖于bootstrap的扩展

    Install the necessary pre-requisite

    (Krajee Dropdown Extension) based on your bootstrap version:

    For Bootstrap v5.x install the extension kartik-v/yii2-bootstrap5-dropdown
    For Bootstrap v4.x install the extension kartik-v/yii2-bootstrap4-dropdown
    For Bootstrap v3.x install the extension kartik-v/yii2-dropdown-x
    

    例如你是bootstrap v3.x ,如何识别bootstrap版本?

    composer require kartik-v/yii2-dropdown-x "@dev"
    

    之后就是gridview了

    composer require kartik-v/yii2-grid "@dev"
    

    为了使用表格直接编辑等等功能安装 ...

    立即注册
    更新于:2022-05-29 11:00:29

    【坑,勿用】Yii的yii-xunsearch扩展,支持中文的搜索引擎,支持全文索引全文搜索

    太差了,Yii的yii-xunsearch扩展,支持中文的搜索引擎,支持全文索引全文搜索,注意有分Yii-1.x 用法,Yii-2.x 用法 ,推荐用Yii2或者更高的版本做项目。

    支持Yii1和Yii2 20200406

    https://www.yiiframework.com/extension/yii-xunsearch

    yii-xunsearch

    xunsearch php sdk, yii1 extension and yii2 ActiveRecord support

    Composer 支持Resources

    Composer 支持

    自 v1.4.9 起,通过 subtree 功能将 xs-sdk-php 分离成为一个只读的子仓库, 以支持通过composer安装。我们的包名称为hightman/xunsearch,内含全部 PHP-SDK 的库文件,还包括支持 Yii 的扩展类。

    安装

    和绝大多数 composer 一样,你可以通过以下两种方法中的任意一种安装。

    可以直接运行

    composer require --prefer-dist hightman/xunsearch "*@beta"
    

    或者将以下内容添加到您的项目根目录composer.json中的require章节, 然后运行composer install

    "hightman/xunsearch": "*@beta"
    
    Tip:如果您打算用代码仓库中的最新版本,请将星号改为 dev-master。
    命令行工具
    vendor/bin/xs help
    
    Yii-1.x 用法

    这是对 xunsearch 的一个简单封装,使之更适合 yii-1.x 的用法习惯。首先, 在应用入口文件最开头引入 composer 的 autoload 文件,通常是 index.php。

    require_once 'vendor/autoload.php';
    // 如有必要请定义常量 XS_APP_ROOT 表示项目文件存放路径
    //define ('XS_APP_ROOT', dirname(__FILE__) . '/protected/data');
    

    在应用配置文件的compnents中添加以下代码,通常是 protected/config/main.php

    // application components
        'components' => array(
            // ... other components ... 
            'search' => array(
                'class' => 'EXunSearch',
                'project' => 'demo', // 搜索项目名称或对应的 ini 文件路径
                'charset' => 'utf-8', // 您当前使用的字符集(索引、搜索结果)
            ),  
        ),  
    

    然后就可以通过Yii::app()->search来访问EXunSearch对象,进行索引管理或检索。

    添加、修改索引数据,使用方法参照XSIndex。 对于 ActiveRecord 对象来讲,建议在相关的afterSaveafterDelete中进行索引同步。

    $data = array('pid' => 1234, 'subject' => '标题', 'message' => '内容');
    Yii::app()->search->add($data);	// 添加文档
    Yii::app()->search->update($data);	// 更新文档
    Yii::app()->search->del('1234');	// 删除文档
    

    使用检索功能时,可以将Yii::app()->search当作XSSearch对象一样直接使用它的全部方法。

    Yii::app()->search->setQuery('subject:标题');
    $docs = Yii::app()->search->setLimit(5, 10)->search();	// 取得搜索结果文档集
    
    Yii-2.x 用法

    在 yii2 中,除了提供类似 yii-1.x 的调用方式外,我们还支持 ActiveRecord 方式来操作。首先, 请在应用配置文件的components中添加以下代码,通常是config/web.php...

    立即注册
    更新于:2020-04-12 08:35:34

    简单,易用的yii2导入和导出组件( illusion/yii2-excel)

    Uncaught TypeError: last.size is not a function 先来说说写这个组件的初衷,接触yii2不是很久,在项目中刚好有这样一个excel导入导出的需求,筛选了多个组件, 但不是停止维护就是弃用,好不容易找到了一个可用的官方组件 phpoffice/phpspreadsheet,但是有点使用复杂,中文文档很少,但是不可否认这个组件功能很全面,代码质量比之前的phpExcel高出不少,于是就产生了写illusion/yii2-excel 组件的想法,让导入和导出excel这件事情变得更新简单、易于上手,让大家的时间集中在创新和业务上面。最终就在读了 phpoffice/phpspreadsheet 的代码后,基于该组件写出现在的 illusion/yii2-excel 组件,希望大家能喜欢,同时,有什么使用不方便的地方或者代码方面的bug,欢迎大家提出建议或者贡献代码。 上面是原文的内容,打算回去亲测下

    illusion

    0

    下载:composer require illusion/yii2-excel1.2.0 (下面的代码示例,仅仅适用于1.2.0及1.2.0以下版本,若 使用最新版本,请参考https://packagist.org/packages/illusion/yii2-excel) 使用示例:

    return [

    'components' => [
        'excel' => [
            'class' => 'illusion\excel\Excel',
        ],
    ],
    

    ];

    `` SAMPLE CODE LINKhttps://github.com/lkq0929/illusion-excel/tree/master/exampleNOTICE 目前只支持csv、xls、xlsx三种电子表格的导出和导入 SAMPLE CODE

    <?php /**

    • Created by PhpStorm. *
    • Auth: lkqlink@163.com
    • Date: 2018/8/27
    • Time: 14:28 */

    namespace app\controllers;

    use yii\rest\Controller; use yii\web\UploadedFile;

    class ExampleController extends Controller {

    /**
     * 单电子表(sheet)、多电子表格导出
     * 导出文件可直接浏览器下载或保存至服务器
     */
    public function actionExport()
    {
        /*单电子表的电子表格--数据格式
        $cellData = [
            ['部门', '组别', '姓名', '性别'],
            ['一米技术部', 'oms', 'illusion', '男'],
            ['一米技术部', 'oms', 'alex', '男'],
            ['一米技术部', 'pms', 'aaron', '女']
        ];*/
        /*多电子表的电子表格--数据格式*/
        $cellData = [
            'one' => [
                ['部门', '组别', '姓名', '性别'],
                ['一米技术部', 'oms', 'illusion', '男'],
                ['一米技术部', 'oms', 'alex', '男'],
                ['一米技术部', 'pms', 'aaron', '女']
            ],
            'two' => [
                ['类别', '名称', '价格'],
                ['文学类', '读者', '¥5'],
                ['科技类', 'AI之人工智能', '¥100'],
                ['科技类', '物联网起源', '¥500']
            ],
        ];
        $spreadsheet    = \Yii::$app->excel->createSpreadSheet('xls'); // 'xls' 自定义电子表格后缀
        $spreadsheet->write($cellData);
        $spreadsheet->download('department'); //'department' 自定义电子表格名
    }
    
    /**
     * 读出电子表格的原生数据并根据自定义属性名装换成对应格式
     * 然后根据你喜欢的方式将数据插入数据表
     *
     * @return array
     */
    public function actionImport()
    {
        $transData  = [];
        $attributes = [
            'department' => ['department', 'group', 'name', 'sex'],  //'department' 工作表(sheet)名  键值:['department', 'group', 'name', 'sex']列对应的名称,名称顺序必须一致
            'book'       => ['category', 'book_name', 'price'],
        ];
        if (\Yii::$app->request->isPost) {
            $importFile = UploadedFile::getInstanceByName('file');
        }
        $fileName    = explode('.', $importFile->name);
        $spreadsheet = \Yii::$app->excel->createSpreadSheet($fileName[1]); // $fileName[1] 自定义电子表格后缀
        $rawDatas    = $spreadsheet->read($importFile->tempName); //$importFile->tempName 电子表(excel)路径
        foreach ($rawDatas as $sheetName => $rawData) {
            $transData[] = $spreadsheet->columnTo($rawData, $attributes[$sheetName]);  //$rawData 读出的单个工作表(sheet)的原生数据,$attributes[$sheetName] $rawData电子表格中列按照顺序对应的自定义列名
        }
        
        return $transData;
    }
    
    /**
     * 读出电子表格的原生数据
     * 根据喜欢的方式插入数据表
     *
     * @return mixed
     */
    public function actionImportRaw()
    {
        if (\Yii::$app->request->isPost) {
            $importFile = UploadedFile::getInstanceByName('file');
        }
        $fileName    = explode('.', $importFile->name);
        $spreadsheet = \Yii::$app->excel->createSpreadSheet($fileName[1]); //同上注释
        $rawDatas    = $spreadsheet->read($importFile->tempName);
        
        return $rawDatas;
    }

    }...

    立即注册
    更新于:2020-04-12 21:04:05
    相关内容

    使用Yii2遇到的问题整理

    Yii2用composer更新时遇到的错误

    Yii2 用composer update 时提示'git' 不是内部或外部命令,也不是可运行的程序或...

    Yii2​用composer安装kartik-v/yii2-mpdf时报错,成功解决后,再让其支持中文。

    使用Yii2的setFlash和bootstrap.min.js遇到的问题,bootstrap.min.js的bug?

    Yii2的action不支持大小写吗?其实是支持的

    composer install 使用tips-网上找的composer install的使用技巧方法

    Yii2 报错代码整理

    Yii2 HeadersAlreadySentException 报错

    Yii2报错 Object configuration must be an array containing a "class" o...

    Yii2 学习内容整理

    Yii2片段缓存详解

    yii2常用表单处理方法

    php yii2 出现mysql-gone-away-2006解决

    Yii2 数据操作DAO

    【翻译】 MySQL中yii2使用原生sql CURD

    一篇为你讲透Yii2的widget

    Yii2模块学习

    Yii2提交表单提示无法验证

    解决Yii2 在线上服务器无法访问GII 和BUG工具栏问题

    Yii2 Model的一些常用验证rules规则

    关于Yii2控制器的layout属性

    yii2如何开启debug工具栏

    使用Yii2发送邮件

    Yii2多表联结子查询的应用

    学习yii2.0 数据缓存、片段缓存、页面缓存、http缓存(Yii2数据缓存之增删改...

    Yii2 获取模块名、控制器名、方法名

    收发邮件(Mailing) | Yii 2.0 权威指南

    Yii2中各种文本框的使用 [ 2.0 版本 ]

    Yii Model中rules验证 获取错误信息

    Yii2之gii的配置与使用

    yii2面包屑Breadcrumbs的使用

    Yii2的Cookie操作在代码测试中遇到的问题(Cookie常见问题以及注意事项)

    Yii2 学习内容整理-视图View

    Yii2学习内容整理之二------Yii2的学习和使用

    karpoff\icrop\CropImageUpload 使用中遇到的问题CropImageUploadBehavio...

    Yii2给数据库表添加字段后对应模型无法识别到该属性的原因和解决办法

    PHP报错The each() function is deprecated. This message will be suppr...

    Yii报错Syntax error or access violation: 1142 DROP command denied to...

    Yii 配置中设置mysql端口号其实很简单,请看下面的代码

    Yii2用QueryList采集时报错,Fatal error: Array and string offset acc...

    PHP报错Undefined constant "Socket\Raw\AF_INET"的原因以及解决方法

    推荐内容

    分享几个好用的bt搜索bt资源下载网址网站

    影视电影剧集动漫综艺bt资源在线播放网址网站推荐分享

    全网最新bt磁力搜索引擎bt资源bt网站网址分享

    怎样使用V2Ray代理和SSTap玩如魔兽世界/绝地求生/LOL台服/战地3/黑色沙漠/彩...

    sstap游戏代理教程 从此玩如魔兽世界/绝地求生/LOL台服/战地3/黑色沙漠/彩虹六...

    使用V2Ray的mKCP协议加速游戏

    v2rayN已停止工作