问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何在 ThinkPHP 中整合 Laravel Eloquent ORM

发布网友 发布时间:2022-04-06 02:27

我来回答

2个回答

懂视网 时间:2022-04-06 06:48

下面由Laravel教程栏目给大家介绍如何把开发中常用class的整合成了一个包,避免每次重复复制粘贴的方法,希望对需要的朋友有所帮助!

laravel-quick

laravel-quick(github 地址:https://github.com/youyingxiang/laravel-quick.git) 封装了一些我们开发中常见的工具,使开发变得更高效

  • 主要包含翻译了验证的语言包提示
  • 根据 SymfonyComponentHttpFoundationResponse 为状态码的接口格式
  • 异常类处理
  • 集成基于 redis 的各种缓存操作
  • service,repository,trait的 artisan 命令生成;
  • 安装

  • composer require yxx/laravel-quick
  • linux 和 mac
    php artisan vendor:publish --provider="YxxLaravelQuickLaravelQuickServiceProvider"
  • windows
    php artisan vendor:publish --provider="YxxLaravelQuickLaravelQuickServiceProvider"
  • 怎么使用

  • 异常使用例子
    use YxxLaravelQuickExceptionsApiApiNotFoundException;// 请求参数错误throw new ApiRequestException();// 404 未找到throw new ApiNotFoundException();// 系统错误throw new ApiSystemException()// 未授权throw new ApiUnAuthException()自定义错误继承YxxLaravelQuickExceptions自己参照对应代码自定义
  • api 接口使用
    use YxxLaravelQuickTraitsJsonResponseTrait// 成功return $this->success("消息",['name'=>"张三"]);// 失败return $this->error("错误");// 自定义return $this->apiResponse(Response::HTTP_BAD_GATEWAY,"502错误");
  • 缓存的使用(封装了 redis 的一些方法)
    use YxxLaravelQuickFacadesCacheClient;CacheClient::hSet("test","1","张三");CacheClient::hGet("test","1");CacheClient::lPush("test","1");具体参考YxxLaravelQuickServicesCacheService里面的方法....
  • artisan 命令

  • 创建 Trait php artisan quick:create-trait test
  • 创建 Service php artisan quick:create-service Test/TestService
  • 创建 Repository php artisan quick:create-repository Test
  • 热心网友 时间:2022-04-06 03:56

    安装 illuminate/database根据自己使用的 PHP 版本,通过 composer 安装对应的 illuminate/database 版本,例如
    composer require illuminate/database:5.3.*
    接入到 TP 中
    在 ThinkPHPLibraryThinkThink.class.php 文件中的 start方法的最后一行的 App::run(); 上方添加如下代码:
    $capsule = new \Illuminate\Database\Capsule\Manager;
    $capsule->addConnection([
    'driver' => C('DB_TYPE'),
    'host' => C('DB_HOST'),
    'database' => C('DB_NAME'),
    'username' => C('DB_USER'),
    'password' => C('DB_PWD'),
    'charset' => C('DB_CHARSET'),
    'collation' => C('DB_COLLATION'),
    'prefix' => C('DB_PREFIX'),
    ]);
    $capsule->setAsGlobal();
    $capsule->bootEloquent();
    解决 E 方法冲突 illuminate/database 的 vendorilluminatesupporthelpers.php 方法中存在一个方法
    /**
    * Escape HTML special characters in a string.
    *
    * @param \Illuminate\Contracts\Support\Htmlable|string $value
    * @return string
    */
    function e($value)
    {
    if ($value instanceof Htmlable) {
    return $value->toHtml();
    }

    return htmlspecialchars($value, ENT_QUOTES, 'UTF-8', false);
    }
    与 TP 的 E 方法冲突。

    /**
    * 抛出异常处理
    * @param string $msg 异常消息
    * @param integer $code 异常代码 默认为0
    * @throws Think\Exception
    * @return void
    */
    function E($msg, $code=0) {
    throw new Think\Exception($msg, $code);
    }
    我选择注释了 illuminate/database 的方法,搜索后发现没有其他地方用到这个方法,故注释。

    完成后就可以愉快地使用 Laravel 的 ORM 来 coding 了。
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    苏打地牢500层boss怎么打 苏打地牢500层boss打法攻略 隐形眼镜用水龙头水泡着可以么 ...还有些痒痒的 越来越多的趋势 请问这是什么原因引起的 长安univ智电idd改无线充怎么改的 山药泥火龙果的做法 铜合金好还是纯铜好 铜合金和铜哪个好 合金为什么比铜要好 合金和铜哪个好 音乐风格要素主要包括 laravel 在运行过程中报PDOException 如何使用 Laravel Facades 苹果十三亚风兰和华为保时捷哪个好 苹果11更新ios14怎么样 苹果11升级到ios14怎么样 ios14耗电严重吗? iOS14对比EMUI11!讲真,华为最新系统底牌强大! 华为EMUI11第二批公测p40怎么升级? 谷歌浏览器怎么运行adobe flash player 谷歌浏览器怎样使用flash player 谷歌那浏览器好不好用哦?和IE浏览器有啥区别? IE内核和chrome浏览器内核优缺点介绍? 谷歌浏览器Chrome是不是用IE的内核? google chrome 的IE插件使用的时候是什么内核浏览器 如何使chrome总是保持IE tab? 如何让ie调用chrome内核 谷歌浏览器怎么设置啊? 请问chrome如何调用IE9的内核?IE TAB有该选项,但用后发现还是IE7的内核。实在舍不得chrome的插件啊~~ 详细介绍如何设置谷歌浏览器的代理问题,可以设置成IE内核吗? 谷歌浏览器装上的 ie tab插件怎么用 Laravel源码里面为什么要用:class语法 laravel框架中倒计时怎么写 laravel在windows nodejs 哪个版本好用 php的类的方法里面传递一个类名求教,laravel 那种浏览器最好用?哪种音乐播放器最好用? 最好的音乐播放器,视频播放器,浏览器是什么? 电脑上用哪个浏览器好,播放音乐,和看视频电影用哪个播放器好 最好的音乐播放器及最好的网页浏览器推荐 请问什么音乐播放器最好?什么浏览器最快? 请朋友们告诉我一个最好用的浏览器! 什么浏览器搜音乐最好 苹果手机用什么浏览器好?用什么音乐播放器好?求好心人告诉我 浏览器哪个好用? 那种浏览器安全性最好啊? 什么浏览器安全性高,除了360回答给赏金 不敢用UC了,怕隐私泄露,大家推荐一个安全性好的浏览器吧。 哪个浏览器的安全性比较好,QQ会泄露用户隐私,不想用... 哪个安全的浏览器好用,方便,安全? 除了IE哪个浏览器最好 哪个浏览器的安全性比较好,UC会泄露用户隐私,不敢再用了