学习PHP中的URL相关操作函数 在日常的业务开发过程中,我们经常会有处理 URL 链接的需求,所以今天学习的函数其实都是大家经常会使用的一些函数。...有些浏览器在我们复制粘贴一个网址后,就会自动地对网址进行 URL 编码,也就是有很多百分号那种形式的。在 PHP 中,自然也有对应的编解码函数。...URL 解析操作 除了对于 URL 链接中的字符进行编解码之外,解析链接参数也是我们经常会使用的功能。...另外,它还有几个可选参数的,比如说我们第二段测试代码中修改了连接符号,将原本的 & 符号替换成我们自定义的符号来进行 URL 查询语句的拼接。...测试代码: https://github.com/zhangyue0503/dev-blog/blob/master/php/2021/01/source/9.学习PHP中的URL相关操作函数.php
2、修改创建的任务类 app/Jobs/SendSeo.php 其中handle方法就是处理任务的具体逻辑操作。 ?...附命令 附上一些常用命令 1、运行队列监听器 php artisan queue:listen 如果执行成功, jobs 中的数据表就没有数据了 如果执行失败,可以在日志中查看原因, 默认是 storage.../logs/laravel-xxx.log 2、处理失败的任务 在任务失败时, 你可以选择 清除失败的任务或者 重新执行失败的任务 查看所有失败的任务, 会将所有失败的任务查询出来输出到命令行...php artisan queue:failed 3、重新执行失败任务 重新执行指定id失败的任务 php artisan queue:retry 1 此处的 1 失败任务表中的任务的 id...:forget 2 此处的 2 失败任务表中的任务的 id, 表示清除指定id失败任务 清除所有失败的任务 php artisan queue:flush
不管是 Node.js、Python 还是 PHP 的 Web 框架,都提供了通过命令行与应用进行交互的功能,通过这些命令行工具,我们可以完成一些初始化操作,比如创建新应用、执行数据库迁移、或者快速创建类文件等...,在 Laravel 中,我们可以通过三种工具实现命令行交互: Artisan:Laravel 内置的命令行操作工具集,支持自定义命令; Tinker:一个由 PsySH 扩展包驱动的 REPL,允许你通过命令行与整个...我们在执行 php artisan 命令时,artisan 就指的是根目录下的 artisan 文件,所以命令需要在应用根目录下执行,然后 artisan 之后的部门都是作为请求参数被控制台应用获取并处理...(数据库教程中会详细介绍) notifications:notifications:table 用于生成通知表 optimize:optimize:clear 用于清除缓存的启动文件 package:package...用于发布扩展包中的公共资源 view:view:cache 用于编译应用所有 Blade 模板,view:clear 用于清除这些编译文件 编写第一个 Artisan 命令 介绍完系统内置的所有命令之后
♣ 题目部分 在Oracle中,对表执行TRUNCATE操作会将表的统计信息也清除掉吗? ♣ 答案部分 不会。...对表执行TRUNCATE操作,表及其索引的统计信息都不会被清除掉,除非使用系统包DBMS_STATS中的相关DELETE存储过程才能将表或索引的统计信息清除掉。...删除统计信息: DBMS_STATS.DELETE_TABLE_STATS(USER,'TB_NAME');--表 DBMS_STATS.DELETE_INDEX_STATS(USER,'INDX_NAME
Laravel 是一个优秀的 PHP 框架,而 Artisan 是 Laravel 提供的强大命令行工具。...Artisan 的设计理念是通过命令简化常见的开发操作,减少手工编写代码的重复性。...以下是 Artisan 的基本工作流程:解析输入命令:接收用户在终端输入的命令和参数。匹配注册命令:根据用户输入的命令名称,匹配对应的命令类。执行命令逻辑:调用匹配命令类中的逻辑,完成对应的功能。...php artisan make:migration创建迁移文件:php artisan make:migration create_users_table还可以指定表名:php artisan make...:php artisan command:name小结Laravel 的 Artisan 工具为开发者提供了强大的功能,从项目管理到代码生成再到数据库操作,几乎覆盖了开发过程中的方方面面。
命令: 1.1.2 php artisan passport:client命令: 1.2 模拟客户端的全配置: 2、验证(全部是操作客户端【web.php的代码】): 2.1、浏览器验证: 2.2、...2、把api认证和web认证区分开 2、 oauth_clients表的Laravel Password Grant Client和Laravel Personal Access Client的区别...: Laravel Personal Access Client:和个人用户相关的操作。...1.1.2 php artisan passport:client命令: 这个命令只在oauth_clients中生成一行带user_id的,其他表没有任何反应。...end*****************************************************/ 2、验证(全部是操作客户端【web.php的代码】): 2.1、浏览器验证: 浏览器url
,在这方面借鉴了谷歌google的laravel框架机制,因为此前优雅草大部分产品都是建立在谷歌laravel框架机制上的,莫名的熟悉感。...后台登录地址生成原理FastAdmin的后台登录地址是由以下机制决定的:安装时随机生成:在FastAdmin安装过程中,系统会自动生成一个随机的后台入口文件名这个随机名称存储在数据库fa_config表的...admin_url字段中在目前我们这个不知道是什么版本的 fastadmin 里面 暂时没有找到这个,其实现在我还很奇怪这个域名 admin url 是在哪里设置和安装的呢。.../public/mv hZaByeGrbD.php newadmin.php清除缓存:php think clear我们实际去看看果然 我们需要手动修改方法二:通过配置文件修改编辑配置文件:nano /...'admin_url' => 'newadmin', // 新入口文件名(不带.php)];执行重命名和清除缓存(同方法一步骤3-4)地址变更后的注意事项更新所有书签和链接:更新团队成员保存的后台登录书签检查所有自动化脚本中的登录
Laravel在模型事件中处理起来很方便:https://laravel-china.org/docs/laravel/5.5/eloquent#events Laravel 的模型事件有两种方式,...$fillable = ['user_name', 'user_id', 'url', 'event', 'method', 'table', 'description']; } 创建迁移表: php...url')->comment('当前操作的URL'); $table->string('method')->comment('当前操作的请求方法'); $...>comment('操作的表'); $table->string('description')->default(''); $table->timestamps...中的注入两个参数,一个是角色,另一个是attach或者detach返回的数组 PermissionRoleEvent 事件监听器PermissionRoleEventLog也继承基类LogBaseServer
工匠,技工 介绍 ---- Artisan 是 Laravel 的命令行接口的名称,它提供了许多实用的命令来帮助你开发 Laravel 应用,它由强大的 Symfony Console 组件所驱动。...自定义命令默认存储在 app/Console/Commands 目录中,当然,只要在 composer.json 文件中的配置了自动加载,你可以自由选择想要放置的地方。.../Commands/SendEmails.php 类,–command 参数可以用来指定调用名称: php artisan make:console SendEmails --command=emails...Command 类构造器允许注入需要的依赖,Laravel 的 服务容器 将会自动把功能类 DripEmailer 解析到构造器中 Route ---- 你可以在 app/Http/routes.php...最基本的 Laravel 路由仅接受 URI 和一个闭包 view-Blade ---- Blade 是 Laravel 所提供的一个简单且强大的模板引擎。
学习主题 该demo主要涉及如下几个知识点: 创建数据库并迁移数据表 创建表单,学习Laravel的blade模板引擎 创建名为Link的模型Model 保存数据进入数据库 从数据库中获得...这里的url表示提交表单时的路由,方法为post。在这里使用laravelcollective/html这个组件,顺便了解下怎么在laravel中安装组件。 这里书中使用了laravel4....路由文件中写个路由: Route::get('/url', function(){ return view('urls.form');//urls为创建的文件夹 }); 这里路由第二个参数为匿名函数...在项目根目录执行Artisan命令php artisan make:model Link后,生成app/Link.php文件,这个model通过配置用来管理MySQL中的links数据表,在Link这个...6、从数据库中取出URL并且重定向 最后根据生成的URL获取其hash部分,根据hash值从links数据表取出对应的URL为了重定向,这里英文原文也是在路由中写逻辑,这里也在路由里写逻辑: Route
提供内置查询语句构造器,Eloquent ORM,表空间(schema)构造器实现 PHP 对数据库操作的 ORM 系统。...ORM 系统实现 |---- Events ORM 处理过程中的事件接口定义 |---- Migrations...--- Schema 表空间构造器实现 |---- ConnectionInterface.php 数据库连接接口,完成数据库连接操作...@TODO |---- DetectsDeadlocks.php 判定给定的数据库异常是否为数据库死锁类型异常 |---- DetectsLostConnections.php...判断给定的数据库异常是否为断开连接类型异常 |---- Grammar.php @TODO |---- MigrationServiceProvider.php
我第一个想到的就是 applications ,有一个书面申请的含义在,也是个名词,可惜这个单词在我们数据库中已经被占用,作为『应用』表了。...确定字段 表名确定了,我们来一个个步骤进行分析,确定最终的数据表字段: 提交申请 单从字面上来说,我们会有三个疑问: 1.谁申请的?...下面的示例代码将以 PHP 语言进行编写,使用的框架为 Laravel[2]。 建立模型类 根据上面设计好的数据表,我们对 Apply 进行建模: Laravel 中多态关系的表单验证[3]』 。...如果说直接取 applies 表中的数据进行展示的话,那得一条条数据进行遍历,判断当前用户是否可以看到本条申请.....
01 — 什么是 laravel Laravel 是 Taylor Otwell 开发的一款基于 PHP 语言的 Web 开源框架,采用了 MVC 的架构模式。...throttle 中间件会接收两个参数,这两个参数决定了在给定的分钟数内可以进行的最大请求数。...您可以使用 route:clear 命令来清除路由缓存: php artisan route:clear 04 — 中间件 laravel 的中间件想必大家不会那么陌生吧。它自带了一些中间件。...(5)TrimStrings 中间件 源文件:app\Http\Middleware\TrimStrings.php 作用:对请求参数内容进行 前后空白字符清理。...可通过 $except 数组属性设置不做处理的参数。 (6)TrustProxies 中间件 源文件:app\Http\Middleware\TrustProxies.php 作用:配置可信代理。
连接数据库与原生查询 在 PHP 的学习中,数据库,也就是 MySQL 就像它的亲兄弟一样,永远没法分家。同理,在框架中,数据库相关的功能也是所有框架必备的内容。...从 options 这个参数里面,我们可以看出,Laravel 默认使用的是 PDO 连接的数据库,我也没有研究在 Laravel 中如何使用 mysqli 进行连接,因为 PDO 确实已经是事实的连库标准了...不过首先,我们要建立一张测试表,之后我们将对这张表进行 CRUD 操作。...没错,前面也说过,本身 Laravel 的数据库操作就是使用的 PDO 的,不记得的小伙伴可以移步 【PHP中的PDO操作学习(四)查询结构集】https://mp.weixin.qq.com/s/dv-lnEGV0JlGsjy4rl_jkw...首先,我们新建一个数据库,就叫 laravel8 好了,并且同样的建立一个 raw_test 表,然后就是在 .env 中配置这个数据库的连接信息。
一、概述 在Web开发中,我们经常会遇到需要批量处理任务的场景,比如群发邮件、秒杀资格获取等,我们将这些耗时或者高并发的操作放到队列中异步执行可以有效缓解系统压力、提高系统响应速度和负载能力。...connections配置项包含了Laravel支持的所有队列驱动,我们使用Redis驱动,所以需要配置redis项:connection对应config/database.php中redis的default...要生成创建这些表的迁移,可以在项目目录下运行 Artisan 命令 queue:table,迁移被创建之后,可以使用 migrate 命令生成这些表: php artisan queue:table php... 接口, 告诉 Laravel 将该任务推送到队列,而不是立即运行: lumen中 app/Jobs目录已经存在,由于不能执行artisan命令,直接复制目录中的ExampleJob.php即可。...dispatch 方法需要的唯一参数就是该任务的实例: lumen中用法: 4、指定最大失败次数 指定队列任务最大失败次数的一种实现方式是通过 Artisan 命令 --tries 切换: php
而友好的url地址更是能让人一目了然,增加用户的好感。同时对于爬虫也是好的示例,搜索引擎可以友好地展开工作了。 [img] 本文就来讲讲,如何在laravel中构造友好的url路由。 啥是slug?...所以各种各样的url地址,带参数跳转的,表单提交的,混为一谈,制作出符合统一规范的路由很不容易。...比如下面的路由,访问一个地址,并且携带querystring参数: http://example.com/events.php?id=42 相应地,不同的用户,这个id也不相同。不同的页面,也不相同。...我们在之前的章节已经使用laravel Route功能,重新构造了url,所以访问起来像是连贯的: http://example.com/events/42 直接使用位置参数绑定的方式传递。...如果使用如下方式,效果要友好的多: http://example.com/events/laravel-hacking-and-coffee 这种基于字符串位置参数绑定的URL方式,被称为 slug。
二、零散的知识点 1、laravel相关面试题 (1)什么是服务提供者 (2)什么是容器,什么是依赖注入,控制反转 (ok) (3)laravel的流程 (4)laravel的路由机制 (从index.php...) 新建laravel项目来使用swoole做一些简单的demo (2)easyswoole的文档 http://noobcourse.php20.cn/NoobCourse/Introduction.html...key 参数时,按参数 key 的先后顺序依次检查各个列表,弹出第一个非空列表的头元素 (4)先进先出,等待阻塞队列: Lpush + Brpoplpush : Brpoplpush 命令从列表中取出最后一个元素...(2)mysql回表 (ok) (3)php-fpm有没有挂过,怎么处理的 1、503错误,一般是进程太多导致的。...等配置,可以自动重启php-fpm (4)慢查询有没有通过改框架去优化 1、一般使用原生的sql多一些 2、下载laravel-debuger文件,看看慢在哪里了。
这里所说的「注册」归根到底还是在执行「Laravel 服务容器」的「绑定(bind)」操作,完成绑定接口到实现。...bind 的使用方法已经在「管理待创建类的依赖」一节中有过简单的演示,它会在每次使用 App::make(Cache::class) 去解析 Cache 服务时,重新执行「绑定」操作中定义的闭包而重新创建...,这种使用场景类似于 注册表。...值得指出的是在服务提供者的 register 方法中,最好仅执行「绑定」操作。...在绑定过程中,服务容器并不会执行服务的解析操作,这样有利于提升服务的性能。直到在项目运行期间,被使用时才会真正解析出需要使用的对应服务,实现「按需加载」。
接下来,我们要修改一下正常的队列,增加一些参数。...在 Laravel 中,异常的消息队列数据最后会保存到 MySQL 数据库中,我们需要执行数据迁移来创建表,使用下面这两个命令。...php artisan queue:failed-table php artisan migrate 操作成功之后,会在数据库中创建一个名为 failed_jbs 的表。...也可以一次性全部执行重试,只需要使用 all 参数即可,这个大家可以去官方文档再详细看一下。 我们还可以删除或者整个清除所有的失败任务数据,其实也就是删除 failed_jobs 中的数据。...接下来,我们再看两种常见的队列形式,分别是延时队列和优先级队列,它们在 RabbitMQ 和 Laravel+Redis 中的实现又是怎样的呢?
active_url 根据 PHP 函数 dns_get_record ,验证字段必须具有有效的 A 或 AAAA 记录。 after:date 验证字段必须是给定日期之后的值。...ends_with:foo,bar,… 验证的字段必须以给定的值之一结尾。 exists:table,column 验证的字段必须存在于给定的数据库表中。...unique:table,column,except,idColumn 验证字段在给定的数据库表中必须是唯一的。 指定自定义列名: column 选项可用于指定相应数据库列的字段。...Laravel 将自动从模型实例中获取主键值: Rule::unique('users')->ignore($user) 如果您的数据表使用的主键名称不是 id ,那就在调用 ignore 方法时指定字段的名称...你可以在 [服务容器]的 boot 方法中执行如下操作: /** * 引导应用程序。