laravel
渡目成书
我能像你们一样潇洒就好了
展开
-
利用Spug自动化运维平台自动部署php,laravel应用
配置中心-》环境管理新建应用发布-》发布配置,新建应用,新建完应用进行发布配置,根据自己需求选择常规发布或自定义发布这里以常规发布为例子配置发布环境、目标主机、和git地址基本应用的配置已经完毕,可以正式进行发布git基本都是私有仓库,需要进行认证,点击私有仓库进行账户密码填写或秘钥还能填写钉钉、微信的通知构建配置,可以编写一些规则发布配置,填写部署路径,和数据存储路径和版本数量,可用于回滚在模块应用发布-》发布申请 进行项目部署至此项目已经部署成功...原创 2022-06-08 14:57:45 · 511 阅读 · 1 评论 -
laravel groupBy查询报错
问题在laravel中使用groupBy进行查询出现报错,把报错的语句进行查询能正常查询原因 当select和groupBy中列表不一致时候会报错。mysql从5.7以后,默认开启group by的严格模式。解决方法找到config/database.php 在mysql下面把’strict’ => true,改为false。...原创 2022-02-11 17:02:05 · 926 阅读 · 0 评论 -
laravel根据多字段联合验证进行提示
前面写了 自定义验证 可以自己配置验证字段和提示信息,但是如果是根据两个字段的联合进行验证就不好处理了例如:省和市进行联合验证,比如省和市不能匹配上应该提示错的信息,用单字段就不怎么好去处理在有些情况我们是通过提交的几个参数进行联合计算出的结果再来进行判断是否有问题通过观察laravel的FormRequest类的代码,发现提示错误的方法public function response(array $errors) { if ($this->expe..原创 2021-11-23 19:26:25 · 595 阅读 · 0 评论 -
laravel 接口异常错误返回json数据
在laravel中默认返回的异常是html的形式展现在页面上面,当我们写接口的时候我们希望错误是一定的json进行展示我们就需要对异常类进行处理改造找到文件Exceptions\Handler.php的render方法尽心重写public function render($request, Exception $exception) { if ($request->is('api/*')) { $response = []; .原创 2021-08-04 14:05:01 · 821 阅读 · 0 评论 -
laravel使用异常来进行数据验证及提示
前面写了对表单提交的数据进行验证可以解决用户表单输入数据的规范性问题,但是在非表单的情况下我们也希望给用户个提示。例如:数量在不足的情况用户点击能够给用户提示,在用户非数据提交的情况下也能有一个比较好的用户体验这里我们就可以使用异常来进行处理,新建一个异常类<?phpnamespace App\Exceptions;use Illuminate\Http\Request;use Throwable;class TestException extends \Exception{.原创 2021-04-12 15:30:12 · 279 阅读 · 0 评论 -
laravel表单验证提示和自定义验证词库
需求:在用户在提交表单数据的时候,对用户提交的数据进行验证,如合规,唯一性等等这里就使用到laravel中的验证功能了验证的使用这里就简单的使用一下这个功能,这里我们创建一个表单,模拟注册功能,只有用户名和密码选项进行提交我们创建一个用户admin密码123456,第一次能够创建成功。如果下一次再次有使用admin进行注册将进行提示。在表单页面中加入错误提示的代码块<!DOCTYPE html><html lang="en"><head> .原创 2021-03-25 16:49:02 · 612 阅读 · 0 评论 -
laravel中composer拓展包的开发
前面已经写了composer拓展包的开发,基本可以开发出一个通用的拓展包,在laravel中很多拓展的包都是通过门面来使用,这里就简单的看看laravel的拓展包如何编写composer拓展包开发composer拓展包开发(二)自动更新与版本控制引入拓展包这里使用的laravel版本为5.6版本,引入我们前面已经开发好的拓展包composer require superkingm/math v2.0在控制器中进行简单的使用,这里在编辑器里面能够显示参数,并且能有提示在vendor\s.原创 2021-03-22 11:40:32 · 386 阅读 · 0 评论 -
laravel的服务注入新增service层,多方式
我们现在使用的PHP框架基本都是MVC模式,业务代码基本都写Controller中,如果出现业务比较多,那么controller中的代码会非常的繁杂,后期更新迭代起来比较麻烦在JAVA中一般都存在service,DAO层等,我们这里需要引入service来解决controller冗杂的问题,在laravel可以通过一般直接注入和服务来解决。例:业务场景,一个网站首页的展示模块很多,在controller中写入所有的业务代码会导致非常的长,修改起来也非常难整,有些部分具有重用性,直接写导致系统..原创 2021-03-19 11:24:00 · 2322 阅读 · 0 评论 -
laravel JWTAuth对api接口权限进行鉴权
一般对外提供api接口服务都需要对使用的身份进行鉴权,需要对权限方面进行控制这里我们使用JWTAuth来进行完成配置JWTAuth这里使用的laravel为5.4版本,根据下面的JWTAuth拓展包使用范围我们使用0.5版本安装拓展包composer require tymon/jwt-auth 0.5.*打开confi/app.php进行配置在providers中配置\Tymon\JWTAuth\Providers\JWTAuthServiceProvider::clas.原创 2021-03-11 10:53:37 · 939 阅读 · 0 评论 -
laravel6.2多用户认证分不同用户表进行验证登录认证
网站一般分为后台和用户端,如果将用户数据与管理员数据放在同一张的表会出现不好管理和不必要的风险。这就需要将用户表和管理员表进行分开处理,这里就使用laravel的多用户认证来实现在laravel6版本以下可以使用php artisan make:auth命令快速生成登录模板,但在laravel以上登录模块进行分离,需要引入拓展包才能够去处理,这里使用的是laravel6.2版本。composer require laravel/ui 1.2php artisan ui bootstrap --a.原创 2021-03-08 18:05:44 · 921 阅读 · 2 评论 -
laravel try异常abort只报出最外层
在项目中发现在存在嵌套额度try并abort的提示情况下优先是提出最外层,不能够精准的提示信息class Test{ public function aa() { try { throw new Exception(); } catch (Exception $exception) { abort('404',"错误一"); } } public function b.原创 2020-11-06 13:47:46 · 382 阅读 · 0 评论 -
laravel中mysql区分大小写查询
‘mysql’ => [‘driver’ => ‘mysql’,‘host’ => env(‘DB_HOST’, ‘’),‘database’ => env(‘DB_DATABASE’, ‘’),‘username’ => env(‘DB_USERNAME’, ‘’),‘password’ => env(‘DB_PASSWORD’, ‘’),‘charset’ => ‘utf8’,‘collation’ => ‘utf8原创 2020-09-28 09:30:15 · 655 阅读 · 0 评论 -
php运用C拓展excel高效大数据量导出
导出excel功能在一些需要报表的系统中是非常常见的功能,在一般数据量较少的情况下phpexcel能够完美解决我们的问题,并且能够对表格做很多例如颜色,字体,单元格等处理但是在数据量大的情况下,phpexcel的性能下降异常厉害,内存需求很大,耗时很长,基本无法使用,前面使用fputcsv函数进行导出处理解决了大数据量导出的问题,但是无法对数据进行更多的处理今天发现了一个C拓展的excel处理包,能够高性能还可以处理表格数据,就来使用一下首先安装 拓展,详细安装(略)现在就在l..原创 2020-09-16 15:44:41 · 456 阅读 · 1 评论 -
laravel中mongodb数据库的使用
MongoDB作为nosql数据,MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案mongodb拓展安装下载好mongodb数据库并进行安装启动根据自己使用的PHP版本进行选择相应的拓展版本进行下载以windows下为例下载DDL文件放在php的ext拓展文件下,打开php.ini进行配置在命令行中 php -m 进行查看laravel使用mongodbLaravePackage4.2.x2.0.x5.0.x2.1.x5.1.x2.原创 2020-09-15 14:20:09 · 371 阅读 · 0 评论 -
php laravel redis数据数组进行手动分页
在redis中我们使用有序集合一般是利用score进行数据的筛选,一般score存放时间戳,用来进行时间段筛选问题:利用ZRANGEBYSCORE key min max进行筛选在数据量非常大的情况下,全部查询出来,放到页面渲染导致页面非常的慢,需要进行分页处理ZCARD key获取有序集合的成员数,ZRANGE key start stop [WITHSCORES]通过索引进行查询的方式,如不通过时间去筛选,直接用索引进行分页是最好的,功能中需要时间筛选,这里只能对查询出来的数据进行手动切割分页将.原创 2020-09-10 16:52:20 · 580 阅读 · 0 评论 -
laravel导入excel中多个sheet
导入excel多个sheet Excel::load($excel_file_path, function ($reader) use (&$res) { $count = $reader->getSheetCount();// $reader = $reader->getSheet(1);// $res = $reader->toArray(); .原创 2020-08-07 13:50:24 · 1865 阅读 · 0 评论 -
laravel 打印路由报错 Trying to get property ‘xxxxx‘ of non-object
在更新代码打印路由出现了问题查看日志发现了问题,是一个控制器中__construct()方法出现异常public function __construct() { view()->share([ 'software_types'=>\Auth::user() ]); }在构造函数中使用了用户对象,屏蔽或者写在其他方法中可以结局,无法打印路由的问题在使用php artisan route:list 打印路由时实.原创 2020-08-06 16:19:23 · 612 阅读 · 0 评论 -
Class ‘Symfony\Bridge\PsrHttpMessage\Factory\HttpFoundationFactory‘ not found
在laravel项目中引入guzzlehttp/guzzle包,报错解决方法composer require symfony/psr-http-message-bridge原创 2020-08-03 10:44:48 · 1584 阅读 · 0 评论 -
windows SSL certificate problem: unable to get local issuer certificate
在wamp环境下访问接口出现这种情况,提示本地没有证书,进行证书安装下载证书配置PHP中的php.ini和apache中的php.ini,重启服务,填入证书的地址curl.cainfo =“C:\wamp\bin\php\cacert.pem”原创 2020-07-29 15:08:40 · 504 阅读 · 0 评论 -
laravel php页面渲染几个一组
在页面渲染中经常的样式是,一行为几个div,查询数据是一条一条,不能满足页面显示需要进行处理laravel中@foreach ($products->chunk(3) as $chunk) <div class="row"> @foreach ($chunk as $product) <div class="col-xs-4">{{ $product->name }}</div> @end.原创 2020-07-27 16:12:12 · 286 阅读 · 0 评论 -
laravel无限极分类写法,记录
// 模型文件public function children() { return $this->hasMany(get_class($this), 'pid' ,'id');} public function allChildren() { return $this->children()->with( 'allChildren' );}// 控制器$list = GoodsCategory::with('allChildren')-&g转载 2020-07-22 17:14:33 · 244 阅读 · 0 评论 -
php laravel中请求第三方接口数据
场景,很多时候项目中会使用第三方接口,虽然有curl方式已经很强大,但是对于我们自己去一个个编写还是非常大的难度的这里使用GuzzleHttp插件进行接口请求安装composer require guzzlehttp/guzzle我们以一个登陆的post的接口为例: $client =new \GuzzleHttp\Client(); $res = $client->request('POST','XXXXX',['form_params.原创 2020-06-16 14:41:59 · 3120 阅读 · 0 评论 -
laravel php 默认图片下载
一般情况下a标签的图片地址会默认在浏览器中打开,我们需要点击直接下载图片,不是打开图片我们需要使用流的方式进行访问下载 //获取要下载的文件名// $filename = $id; $filename = 'img/123.jpg';//文件路径地址 //设置头信息 header('Content-Disposition:attachment;filename=' . basename($filename)); header('Content-Length:' . filesize($fi.原创 2020-06-10 16:16:05 · 400 阅读 · 0 评论 -
laravel+ldap创建用户
前面我们写了laravel+ldap修改用户密码但是我们也需要能够在任意一个系统能够添加ldap账号我们先返回任意一个创建的账号框内的部分是我们需要组装的数组,gidnumber,loginshell,objectclass一般固定不会改动,其他根据账号改动,并且不能与ldap用户重复可以使用phpLDAPadmin后台管理工具进行对比,如-代码创建新账号 $new['userpassword']= '{SHA}' . base64_encode(pack('H*', sha1('123.原创 2021-01-12 16:06:28 · 399 阅读 · 2 评论 -
laravel + intervention/image进行图片处理
intervention/image是一个图片处理的拓展包安装拓展composer require intervention/image配置config/app.php文件,引入拓展Intervention\Image\ImageServiceProvider::class,‘Image’=>Intervention\Image\Facades\Image::class,php artisan vendor:publish --provider=“Intervention.原创 2020-06-03 17:00:37 · 1568 阅读 · 1 评论 -
laravel+ldap修改用户密码
前面写了:laravel+ldap进行auth用户登录认证,主要写了将ldap的用户进行结合laravel本地用户验证机制来进行登录验证功能需求:希望在任何系统中,用户都能修改自己的用户名密码这里我是使用拓展包来实现,ldap连接,但是在这个拓展包的门面中视乎没有找到修改密码的方法,但是在一个拓展包一个类中找到了我们将这个类引用并实例化,使用管理员账户绑定,去更改密码,当然也可以使用原生的去处理use Adldap\Connections\Ldap; //在需要修改密码的地方写上如.原创 2021-01-12 16:03:55 · 477 阅读 · 0 评论 -
laravel+ldap进行auth用户登录认证
上一篇:laravel+ldap统一用户登录连接里面介绍了怎样在laravel里面配置连接到ldap服务器,但是还是没有解决我们在laravel中Auth的登录认证系统拓展包提供的方式是直接使用ldap作为auth认证的驱动去进行认证,我这里未能调通,资料也少,还未解决。这里我改写auth的login方法,手动进行ldap认证,再本地生成用户,继续使用本地用户认证拓展提供方法(未调通)我项目是php5.6 使用:拓展包提供方法快速生成laravel auth登录认证基础框架..原创 2020-06-05 13:25:57 · 2509 阅读 · 0 评论 -
laravel+ldap统一用户登录连接
需求将所有系统用ldap的用户进行统一账户密码登录安装Adldap2-Laravel拓展composer require adldap2/adldap2-laravel在config/app.php中进行配置‘Adldap’ => Adldap\Laravel\Facades\Adldap::class,Adldap\Laravel\AdldapServiceProvider::class,发布php artisan vendor:publish --provide..原创 2020-05-28 14:23:31 · 1845 阅读 · 0 评论 -
laravel按日期时间分组并统计
统计七天内注册用户数量按天进行分组$user = DB::table('users')->whereBetween('created_at',['2018-01-01','2018-01-07']) ->selectRaw('DATE(created_at) as date,COUNT(*) as value') ->groupBy('date')->get();统计一年内注册用户数量按月份进行分组$user = DB::table('.原创 2020-05-14 11:42:05 · 2986 阅读 · 0 评论 -
laravel crontab定时任务不执行,手动可执行
我们按照laravel的官方文档写得定时任务,配置的是** * * * php /your-project/artisan schedule:run >> /dev/null 2>&1在本地我们手动可以执行定时任务,服务器上面我们也能手动执行,就是无法自动执行查看定时任务执行情况tail -f /var/log/cron我们就能看到正在执行的定时...原创 2020-04-17 10:37:15 · 1772 阅读 · 0 评论 -
php laravel文件下载显示文件损坏
laravel中文件的下载和php原生下载,关于下载出现文件损坏的问题原创 2020-03-26 16:39:53 · 654 阅读 · 1 评论 -
laravel where in 查询缓慢优化
在使用where in 查询,in里面的字段很多的情况下,查询数据库是非常的缓慢在有些场景下需要进行导入批量的查询,这很难绕过wherein查询这种情况怎么优化尝试:转化成等值查询,循环查询,但是结果并不是很理想,拆分去查询反而性能更差通过约束条件去限制查询时间等,发现有效果但是好像不是很明显,很容易超时在原表中数据量庞大,进行数据查询异常的缓慢,这里改变一下查询方法。我们人...原创 2020-01-03 17:23:02 · 2479 阅读 · 0 评论 -
laravel+echarts根据时间进行分天,小时,月进行图表显示
需求可以选择时间区间,可以选择年份,快捷选择时间段三天、一周,可以选择精度,如;分,时,天,月,年来统计图表前端图表 var alldata = null $('#date_select2').click(function () { var d0 =$('#date0').val() var d...原创 2019-12-30 14:06:23 · 1443 阅读 · 0 评论 -
php导出excel中数字会自动变成科学计数法
将数据导出excel文件变成科学计数法问题:分析:用程序导出的csv文件,当字段中有比较长的数字字段存在时,在用excel软件查看csv文件时就会变成科学技术法的表现形式。其实这个问题跟用什么语言导出csv文件没有关系。Excel显示数字时,如果数字大于12位,它会自动转化为科学计数法;如果数字大于15位,它不仅用于科学技术法表示,还会只保留高15位,其他位都变0。解决方式:(只要把数字字...原创 2019-12-18 17:23:01 · 1117 阅读 · 0 评论 -
laravel根据模型数据筛选关联模型数据
有些时候我们关联模型的时候,需要对关联模型的数据进行筛选,筛选条件为主模型数据可变 $ds = Equipment::whereIn('hwid',['11K0130HA240022','11K0130HA241311','11G0130J1230001'])->get(); foreach ($ds as $d){ $d->load([...原创 2019-12-18 14:02:50 · 1317 阅读 · 0 评论 -
laravel maatwebsite/Excel导出多个sheet
ob_clean(); Excel::create(iconv('UTF-8', 'GBK', $reportname), function ($excel) use ($cellData,$cellData2, $sheetname) { $excel->sheet($sheetname, function ($sheet) use ($cellDa...原创 2019-12-06 10:19:45 · 3220 阅读 · 0 评论 -
laravel+jieba(结巴)和VicWord中文分词关键字提取
laravel+jieba和VicWord中文分词关键字提取jieba(结巴)中文分词拓展包安装分词使用VicWord中文分词拓展包安装VicWord中文分词拓展包使用jieba(结巴)中文分词拓展包安装composer require fukuball/jieba-php:dev-master分词使用应用依赖use Fukuball\Jieba\Jieba;use Fukub...原创 2019-12-05 11:20:44 · 1616 阅读 · 0 评论 -
laravel+Elasticsearch+php的配置使用windows下
Elasticsearch项目拓展包安装我们使用 composer的方式安装composer require elasticsearch/elasticsearchElasticsearch客户端安装在官网下载客户端,并找到bin下的elasticsearch.bat启动Elasticsearch在项目中使用引入类,新建索引use Elasticsearch\Cli...原创 2019-12-05 08:57:41 · 574 阅读 · 0 评论 -
laravel+easywechat对接微信公众号自动回复图文消息
前面我们对接配置了微信公众号,laravel5.4 对接微信公众号使用laravel-wechat拓展包,并实现的简单的消息回复功能但是这种回复功能过于简陋单一,不够灵活,我们很多时候是根据用户的关键字再以图文的方式展现给用户图文回复消息创建根据easywechat官网的文档,我们找到了图文回复需要引用News类,根据文档的例子,创建单个图文消息<?phpnamespac...原创 2019-12-03 10:53:43 · 4411 阅读 · 0 评论 -
laravel阿里SDK对接
淘宝SDK下载首先我们的有自己的应用获取密匙才能对接接口,不然也没有用集成到laravel框架解压成文件夹,放入到项目文件夹中加载到框架里在composer.json中进行SDK的自动加载执行命令进行加载composer dump-autoloadSDK应用新建路由控制器appid 密匙需要自己去申请 public function index(...原创 2019-12-02 22:48:00 · 1461 阅读 · 0 评论