laravel
camellias_
这个作者很懒,什么都没留下…
展开
-
laravel8(六)使用自定义邮件类发送邮件
当登录邮箱为腾讯企业邮箱的时候。Phpmailer发送邮件就不好用了,具体哪里不好用,我没真没找到。但是,邮件得发啊,怎么办呢?百度上还是大婶多。我这里找了一个自定义的发送邮件类,腾讯企业邮箱也可用。但是,邮件发送失败,不会返回报错信息,这个可能是有点坑。源码如下:```php<?php namespace App\Extend;use Exception;/** * 一个简单的PHP SMTP 发送邮件类 */ class SmtpMail{ /**原创 2021-06-26 09:11:35 · 389 阅读 · 2 评论 -
laravel8(五)使用phpmailer发送邮件
一:下载phpmailer类库。我这里使用composer下载:composer require phpmailer/phpmailer二:开始使用/** * @name: 发送邮件方法 * @author: camellia * @date: 2021-01-19 * @param: $email string 发送给谁 * @param: $mail_title string 邮件标题 * @param: $mail_b原创 2021-06-25 08:28:24 · 269 阅读 · 0 评论 -
laravel8(四)使用simple_html_dom库解析html
首先:simple_html_dom下载地址:https://github.com/samacs/simple_html_dom这是一个PHP解析html的一个库。这玩意还是很有用的,比如我们在使用PHP做爬虫的时候,需要解析html中的内容等。他的强大之处不仅仅只是帮助我们验证html文档;更能解析不符合W3C标准的html文档。关于如何引入第三方类库,请移步《laravel5.8(十)引入第三方类库》laravel8中的设置方法也大同小异。一:加载html有三种方式调用这个类: 从u原创 2021-06-24 08:46:13 · 1168 阅读 · 1 评论 -
laravel8(三)文件上传提示 “The file deos not exits ” ,但确实已经上传了文件
Laravel 文件上传提示 “The file “” deos not exits ” ,但确实已经上传了文件首先使用代码抛出异常if($file->isValid()){ throw new \Exception('Error on upload file: '.$file->getErrorMessage());}我这里遇到的是上传大小限制,但是不抛出异常的时候,提示的是文件不存在,小白很容易误解!解决方案:我这里使用的是阿里云的centos服务器1:找到你的php.ini文原创 2021-06-22 08:47:21 · 395 阅读 · 0 评论 -
laravel8(二)配置自定义路由文件
Laravel8创建自定义路由文件与laravel5系列是有区别的。关于laravel5添加自定义路由文件,请移步《laravel5.8(十五)新增自定义路由文件》这里大概记录一下laravel8添加自定义路由文件的过程:1:首先在routes目录下创建你要添加的自定义路由文件我这里直接复制的web.php。2:修改app/Providers目录下RouteServiceProvider.php文件我这里也是直接复制web部分的代码改的名字3:修改app/Http目录下Kernel.php原创 2021-06-21 09:15:58 · 1252 阅读 · 0 评论 -
laravel8(一)Target class [XXXXXController] does not exist.错误的解决办法
Laravel 8配置好路由后,访问提示:Target class [XXXXXController] does not exist.错误。出现这个错误的原因是Laravel8对路由命名空间做出了更新(详见:路由命名空间更新),而我们仍然在使用Laravel6或者7版本的方式写路由。Laravel 8路由配置方式:use App\Http\Controllers\UserController; Route::get('/users', [UserController::class, 'ind原创 2021-06-17 13:52:34 · 4765 阅读 · 2 评论 -
laravel5.8(二十五)解决使用groupby报错SELECT list is not in GROUP BY clause and contains nonaggregated column
在laravel中数据库查询使用groupby报错:SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'sns.sns_users.md_img' which is not functionally dependent on columns i原创 2021-06-16 08:37:32 · 1070 阅读 · 0 评论 -
laravel5.8(二十四)生成二维码(qrcode)
PHP生成二维码,我这里使用phpqrcode类库。官网:http://phpqrcode.sourceforge.net/去官网直接下载就好,只是这个类库的版本有点老,但是足够用了。关于laravel5.8框架如何引入第三方类库,请移步《laravel5.8(十)引入第三方类库》我这里直接放上我使用的示例://二维码内容 $value = 'https://xxx.xxx.xxx/xxx/xx_xxx.html?id=' . $article_id;原创 2021-06-15 17:41:57 · 463 阅读 · 2 评论 -
laravel5.8(二十三)导出PDF
有需求需要使用PHP导出pdf。下面记录一下我使用的两种方式一:laravel-tcpdf导出PDF文件Laravel框架为我们集成了一个插件tcpdf。下载地址:https://github.com/elibyy/tcpdf-laravel然后使用composer进行安装就可以了。具体安装过程,请移步《laravel5.8(十)引入第三方类库》使用的时候记得use 一下 命名空间。但是这里有一个问题,使用这个插件导出文件无法使用中文,且我还没有找到解决办法,因此,这个laravel的tcp原创 2020-12-01 09:31:23 · 595 阅读 · 0 评论 -
laravel5.8(二十二)laravel使用session报错session store not set on request
在使用laravel中的session的时候报错:session store not set on request.我是用的语句是:$request->session()->put('adminUserInfo', $data);查了下官方文档:需要在中间件中添加如下语句: \Illuminate\Session\Middleware\StartSession::class,文件位置:app/Http/Kerney.php再次请求,报错消失。有好的建议,请在下方输入原创 2020-11-30 10:04:39 · 624 阅读 · 0 评论 -
laravel5.8(二十一)laravel查询结果集转为数组的方法
Laravel框架从数据库中查询的结果集是以对象的 形势返回。但是对于一些时候,使用数组,可能要比使用对象要方便一点。这里我们大概看下,laravel中将对象结果集转换成数组的几个方法。1:toArray()方法(只对get查询的结果集有作用)toArray方法只对get方法查询的多条数据结果集有用。 $userInfo = DB::table("admin") ->where("username",$username)原创 2020-11-27 09:09:38 · 2804 阅读 · 2 评论 -
laravel5.8(二十)解决时区设置差8个小时解决办法
在使用laravel日志的时候,发现了一个问题,laravel日志记录的时候,总是要比我当前的时间差8个小时。在服务器端输出格式化时间,也是当前的时间,这个就有点奇怪。百度了一下。原来从php5.1.0开始,php.ini里加入了date.timezone这个选项,默认情况下是关闭的也就是显示的时间(无论用什么php命令)都是格林威治标准时间和我们的时间(北京时间)差了正好8个小时,有以下5中方法可以恢复正常的时间。1:如果你是用的laravel框架,将根目录下的config目录下的app.php原创 2020-11-26 09:21:50 · 1413 阅读 · 0 评论 -
laravel5.8(十九)laravel 缓存cache
Laravel中的cache为我们提供了三种缓存机制。Redis,memcache,以及框架的文件缓存。这里主要看的是cache中的文件缓存。一:访问多个缓存存储使用 Cache 门面,你可以使用 store 方法访问不同的缓存存储器,传入 store 方法的键就是 cache 配置文件中 stores 配置数组里列出的相应的存储器:$value = Cache::store('file')->get('foo');Cache::store('redis')->put('bar',原创 2020-11-25 09:23:46 · 1071 阅读 · 0 评论 -
laravel5.8(十八)laravel 解决groupBy时出现的错误 isn“t in Group By问题
使用原生sql查询数据,语句如下:SELECT p1.*,p2.category_name,p3.name as exp_name,p3.CID,p4.name as school_name,count(p5.id) as expcidtimeCountFROM virtual_simulation p1LEFT JOIN virtual_category p2 ON p1.nlab_id = p2.idLEFT JOIN exp p3 ON p1.exp_id = p3.idLEFT JOIN原创 2020-11-24 09:57:30 · 754 阅读 · 0 评论 -
laravel5.8(十七)laravel获取上一条执行的sql
Thinkphp框架关于获取上一条执行的sql有封装好的函数getLastSql。但是目前在使用laravel框架中,我还没有查到有相关的函数。但是laravel提供了其他的方法:代码如下:DB::enableQueryLog();$userin = DB::table('user') ->where('personal_id', '=', $data['personal_id']) ->where('name', '=', $data['原创 2020-11-23 16:02:49 · 1311 阅读 · 0 评论 -
laravel5.8(十六)加密
Laravel为我们提供了完整的加密方法及加密模式。我之前一般在加密的时候使用的是我自己写的加密函数,但是这个玩意,有的位置还是不太使用,当然,破解的话,基本上也是不可能的。具体请移步《php加密函数与解密函数》这里具体看下laravel为我们提供的加密及解密方法。一:简介Laravel 的加密器使用 OpenSSL 来提供 AES-256 和 AES-128 加密。强烈建议使用 Laravel 自带的加密设置,不要尝试推出自己“土生土长”的加密算法。所有 Laravel 加密过的值都使用消息授权码原创 2020-11-20 09:18:50 · 310 阅读 · 0 评论 -
laravel5.8(十五)新增自定义路由文件
Laravel中我们除了使用框架为我们自己生成的web.php或者api.php之外,我们还可以根据我们自己的业务需求自定义路由文件。下边我们大概记录一下新增自定义路由文件的过程:1:新建路由文件在routes/目录下新建路由文件 routes/test.php内容如下Route::group(['prefix' => test], function () { Route::group(['prefix' => 'report'], function () {原创 2020-11-19 09:13:14 · 450 阅读 · 0 评论 -
laravel5.8(十四)连接oracle数据库
首先确定你的PHP已经支持oracle数据库的链接。PHP需要安装OCI8扩展。确定PHP可以链接ORACLE数据库之后。我们使用composer安装laravel支持oracle链接的插件 yajra/laravel-oci8一:使用composer安装 yajra/laravel-oci81:运行如下命令:composer require yajra/laravel-oci82:安装过程中可能会报错,不要纠结那些报错,最简单的解决办法:试试php artisan cache:clear原创 2020-11-18 11:10:05 · 526 阅读 · 0 评论 -
laravel5.8(十三)解决前后端应用分离访问跨域的问题
业务需要,前后端是分离的,那这边访问的域名也是不一样的,这就存在跨域的问题,跨域请求的解决方案有 CORS 和 JSONP(了解更多明细可以参考这篇教程),但是 JSONP 有个致命缺点 —— 仅支持 GET 请求,所以推荐使用 CORS(Cross-origin resource sharing,跨域资源共享),一般情况下,这个都是用自定义中间件来解决问题。1:使用 make:middleware这个 Artisan 命令创建中间件:php artisan make:middleware CrossH原创 2020-11-17 10:21:34 · 582 阅读 · 0 评论 -
laravel5.8(十二)hash的使用
laravel中的 Hash一般用于字符的加密/解密,常见的就是用作登录的密码验证 Hash::make与Hash::check做登陆验证和密码加密1:引入hash的命名空间use Illuminate\Support\Facades\Hash;2:加密字符串$pwd = Hash::make($request->newPassword); //加密存储这里需要注意一下,同一个字符串每次加密的结果是完全不一样的。比如123456第一次加密结果为:U2FsdGVkX1+8jxMYL原创 2020-11-16 09:23:49 · 621 阅读 · 0 评论 -
laravel5.8(十一)配置使用多数据库
有的时候,我们在开发的过程中需要连接多个数据库。Laravel框架中早已为我们想到了这样的需求。配置很简单。在根目录下的/config/database.php文件中配置:Laravel中为我们提前预设了多种类型的数据库连接 'connections' => [ 'sqlite' => [ 'driver' => 'sqlite', 'url' => env('DATABASE_URL'),原创 2020-11-14 10:00:42 · 359 阅读 · 0 评论 -
laravel5.8(十)引入第三方类库
有需求需要使用PHPMailer发送邮件。那么首先需要引入PHPMailer这个第三方的类库。我是这样做的:1:在app目录下新建Extend目录。如下图所示:将PHPMailer放入Extend目录下。如下图所示2:修改项目根目录下的composer.json文件"autoload": { "psr-4": { "App\\": "app/" }, "classmap": [ "database/原创 2020-11-13 11:56:15 · 683 阅读 · 0 评论 -
laravel5.8(九)session基本使用
Session这个玩意还是挺重要的。Laravel对于session的支持还是很完全的。一:文件位置Session 配置文件位于 config/session.php。默认情况下,Laravel 使用的 Session 驱动为 file 驱动,这对许多应用而言是没有什么问题的。在生产环境中,你可能考虑使用 memcached 或者 redis 驱动以便获取更佳的 Session 性能,尤其是线上同一个应用部署到多台机器的时候,这是最佳实践。 Session 驱动用于定义请求的 Session原创 2020-11-12 09:17:18 · 532 阅读 · 0 评论 -
laravel5.8(八)日志
Laravel框架的日志使用的是日志插件Monolog,这个应该是目前比较好用的日志插件之一了。官方给了一些配置日志的选项。说实话,可能是功力尚浅,没看懂。这就尴尬了。后百度了一下,大概明白了日志的一些大概的情况。一:配置官方日志插件1:配置logging.php文件位置:./config/logging.php在数组中添加一下配置'daily' => [ // 日志驱动 'driver' => 'daily',原创 2020-11-11 13:37:15 · 435 阅读 · 0 评论 -
laravel5.8(七)关闭csrf验证
Csrf验证这个我之前在使用Yii2框架中见到过。这个破玩意,请求必须得带上验证的字符串,半小时页面没有活动,必须重新刷新页面才能重新发起ajax请求。有点麻烦。当然,框架中使用这个自然是有他的好处。防止csrf攻击嘛。我在测试过程中,目前先关闭csrf验证。打开当前项目目录下的app/Http/Kernel.php搜索csrf如果没有问题的话,在这里只能搜索到一个结果。大概在38行左右。将当前这行代码注释掉就可以了。如下所示:这样,访问便不需要添加csrf验证也可以了。当前后端分离原创 2020-11-06 09:32:25 · 307 阅读 · 0 评论 -
laravel5.8(六)中间件(middleware)
中间件,第一次听到这个名字感觉好陌生,这是个啥呀,第三方插件?好像不是。之前也没有遇到过这个玩意啊。之前使用到的thinkphp5.0以及Yii2.0框架都是没有中间件这一说的。去thinkphp官网查了一下,要到thinkphp5.1.6才开始支持中间件。实现的方式基本上就是仿照laravel。一:那么什么时中间件呢:HTTP 中间件提供了为过滤进入应用的 HTTP 请求提供了一套便利的机制。例如,Laravel 内置了一个中间件来验证用户是否经过授权,如果用户没有经过授权,中间件会将用户重定向原创 2020-11-05 11:13:37 · 494 阅读 · 0 评论 -
laravel5.8(五)基本路由配置
在使用laravel之前我一直在使用thinkphp还有yii框架,这两个框架也有路由这一说,但是都没有用过。Laravel的路由功能其实还是挺全的,也很优雅~下面来说正题:1:路由的基本介绍Laravel框架默认为我们提供了两个路由文件,在根目录下的routes目录下有web.php以及api.php。这些文件通过框架自动加载,相应逻辑位于 app/Providers/RouteServiceProvider 类。routes/web.php 文件定义了 Web 界面的路由,这些路由被分配到了 w原创 2020-11-04 09:06:03 · 1003 阅读 · 0 评论 -
laravel5.8(四)引入自定义常量文件及公共函数文件
开发过程中,我们一般会用到一些不会改变,或者改变不是很频繁的值,这样的值我们一般将他们定义成常量。比如网站根目录,或者分页数,或者域名等等。那我们如何在laravel5.8中引入自定义的常量文件及公共的函数文件呢。大概有两种方式:1:框架目录下引入(不推荐)在框架目录vendor下新建常量文件const.php,以及公共函数文件function.php在autoload.php文件中引入。这种方法是可以的,但是不推荐,框架目录下最好都是框架自己的那些文件,正常来说,框架的文件我们在开发过程中,原创 2020-11-03 15:31:48 · 643 阅读 · 0 评论 -
laravel5.8(三)数据库相关操作及配置
数据库相关的操作,大概看下laravel封装的增删改查的数据库操作方法以及laravel对原生sql的支持。一:执行原生sql1:查询select$results = DB::select('select * from users where id = ‘{$id}’');2:写入$result = DB::insert('insert into users (id, name) values (‘{$id}’, ‘{$name}’)');3:修改,该方法返回受更新语句影响的行数:$aff原创 2020-10-30 11:54:01 · 391 阅读 · 0 评论 -
laravel5.8(一)安装及部署
Laravel,传说中美丽优雅的框架。比较高端,之前了解的比较少。高端的东西多少还得了解点。一:安装安装大概有两种方式1:composer安装(网好的时候进行)修改 composer 的全局配置文件(推荐方式),然后输入安装命令composer config -g repo.packagist composer https://packagist.phpcomposer.com // 配置命令 composer create-project --prefer-dist laravel原创 2020-10-29 09:38:02 · 881 阅读 · 0 评论