首页
学习
活动
专区
圈层
工具
发布

在 Laravel 中编写高级的 Artisan 命令

在上一篇教程中,学院君向大家介绍了什么是 Artisan 命令,系统内置的 Artisan 命令,以及如何编写一个简单的 Artisan 命令。...Laravel Artisan 提供了很多方法支持用户输入不同类型的数据。...在应用代码中调用 Artisan 命令 除了在命令行运行 Artisan 命令之外,还可以在应用代码中通过 Artisan 门面调用它。...下面,我们简单演示在路由闭包中调用 Artisan 命令 welcome:message(带输入参数的): Route::get('test_artisan', function () { $exitCode...你还可以在一个 Artisan 命令类中调用另一个 Artisan 命令,在命令类中调用 Artisan 命令,可以通过 Artisan:call(),也可以直接通过 this->call() 方法,还可以通过

9.2K20

在 Laravel 中编写第一个 Artisan 命令

,在 Laravel 中,我们可以通过三种工具实现命令行交互: Artisan:Laravel 内置的命令行操作工具集,支持自定义命令; Tinker:一个由 PsySH 扩展包驱动的 REPL,允许你通过命令行与整个...Laravel 应用进行交互; Laravel 安装器,这个我们在框架安装部分已经提到过,比较简单,不再单独介绍。...在 artisan 文件中,处理流程会像 Web 请求一样,注册类的自动加载器,初始化容器和异常处理器,获取用户输入,执行处理逻辑,最后发送响应,只不过这一切都是在控制台中完成。...Artisan 命令,这种需求在实际项目开发中还是常有的,比如数据迁移、数据修复、定时任务等。...中基于闭包实现简单业务逻辑一样,对于这么简单的命令,我们也可以在 routes/console.php 中基于闭包实现: Artisan::command('welcome:message_simple

3.8K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    laravel的那些坑

    开始是看中文文档,死活安装不上,后来看了英文文档发现这个版本的安装说明是不同的 按照这个命令 才能正确地安装 composer create-project laravel/laravel {directory...后来发现在laravel5 下面用 html即使按照上面设置 还是有问题, 根本搞不定,所以还是放弃了在laravel5下面使用html和form的想法,干脆还是先用laravel4吧,毕竟教程也多。...数据迁移时,系统报错说是基表migrations不存在, 这时候需要先执行命令生成migrations表 $ php artisan migrate:install 然后再执行 $ php artisan...Try this instead: 发现在laravel中写一个带参数的路由 但希望把逻辑代码都写道对应的controller里是一件很难的事情,但有个技巧 你可以直接在代码区域new一个controller...可以通过命令下在一个完整包看看代码组织形式 $ git clone http://git.shiyanlou.com/shiyanlou/laravel-blog-2 替换 \vendor

    2.2K20

    cell-blog 开发记录

    1 2 cd cell-blog composer require encore/laravel-admin 卸载命令composer remove xxx 然后运行下面的命令来发布资源: 1...php artisan vendor:publish --provider="Encore\Admin\AdminServiceProvider" 在该命令会生成配置文件config/admin.php...中 disks 处添加以下配置后执行php artisan storage:link来创建软链接(windows 和 linux 的软链接不一样不能直接复制!)...然后运行下面的命令来发布资源: 1 php artisan admin:publish 在该命令会生成配置文件config/admin.php,可以在里面修改安装的地址、数据库连接、以及表名,建议都是用默认配置不修改...事件允许你在一个指定模型类每次保存或更新的时候执行代码。 retrieved 事件会在从数据库中获取已存在模型时触发。当一个新模型被首次保存的时候,creating 和 created 事件会被触发。

    1.3K40

    如何在Ubuntu 14.04上使用Ansible部署高级PHP应用程序

    该mysql_user命令接受用户的名称和所需的权限。在我们的例子中,我们想要创建一个被调用的用户,laravel并为他们提供laravel表的完全权限。...在Laravel中,这是通过在Laravel目录中运行migrate命令(即php artisan migrate --force)来完成的。...Cron任务是在设定的时间表上运行的命令,可用于为您的应用程序执行任意数量的任务,例如执行维护任务或发送电子邮件活动更新 - 基本上任何需要定期完成而无需手动用户干预的任务。...Laravel附带默认调用的名为schedule:run的Artisan命令,该命令旨在每分钟运行并在应用程序中执行定义的计划任务。...步骤9 - 配置队列守护程序 与步骤8中的名为schedule:run的Artisan命令一样,Laravel还带有一个可以使用queue:work --daemonArtisan命令启动的队列工作程序

    11.8K60

    Laravel 系统版本查看及artisan管理员密码找回方法针对各个版本通用方法及原理-优雅草卓伊凡

    通过命令行查看(最准确)php artisan --version# 示例输出:Laravel Framework 10.10.0我输出 版本 又遇到 问题了,不过已经解决Laravel Framework...即可看到二、不同 Laravel 版本找回 admin 密码的方法通用方法(适用于所有版本)方法1:使用 Tinker 重置密码php artisan tinker# 在 tinker 中执行:$user...5.x - 7.xphp artisan make:command ResetAdminPassword然后在生成的命令文件中:public function handle(){ $user =...;}刚刚我们已经看过我们的版本是8了 所以我们用这个方法应该才是最可靠的根据情况 我们创建应该是在 Laravel 项目中,使用 php artisan make:command ResetAdminPassword...’;注册命令在 app/Console/Kernel.php 中添加:那么我执行命令为php artisan admin:reset-password这样就可以重置密码完整重置密码,nice!

    7600

    laravel5.5功能尝鲜

    1 启动项目 第一步 下载源码 执行命令前确保已经安装了composer 和 php7 laravel new laravel55 --dev 如果laravel 命令报错,请参考 http://blog.csdn.net..."aliases":{ "Translug": "\\JellyBool\\Translug\\TranslugFacade" } } } 在命令行中输入...8 make:factory 介绍 在 Laravel 5.5 的时候,新增了一个 make:factory 命令,它的主要应用场景就是:解决我们在之前的版本当中在 ModelFactory 文件里面定义太多的...factory命令生成假数据 php artisan tinker factory('App\Post',5)->create(); 9 Blade if 自定义标签 Laravel 5.5 的时候针对在视图中使用很多的逻辑判断推出了...命令 在以前的 laravel 版本中,我们自己创建 Artisan 命令的时候需要到 Kernel 文件中注册命令才可以生效,而在 5.5 的时候,Laravel 通过 load 的方法实现,直接就在生成命令之后可以使用命令了

    3.6K40

    Laravel Artisan 常见命令详解

    Laravel 是一个优秀的 PHP 框架,而 Artisan 是 Laravel 提供的强大命令行工具。...在 Laravel 项目中,artisan 脚本位于根目录下,你可以通过运行以下命令查看所有可用的 Artisan 命令:php artisan list运行该命令后,你会看到一组分门别类的命令列表,每个命令都附带简短的描述...以下是 Artisan 的基本工作流程:解析输入命令:接收用户在终端输入的命令和参数。匹配注册命令:根据用户输入的命令名称,匹配对应的命令类。执行命令逻辑:调用匹配命令类中的逻辑,完成对应的功能。...调试和测试命令php artisan tinker启动交互式命令行工具 Tinker,允许你测试代码片段或执行数据库查询:php artisan tinker在 Tinker 中,你可以运行 Eloquent...\Commands\MyCustomCommand::class,];执行自定义命令在终端运行:php artisan command:name小结Laravel 的 Artisan 工具为开发者提供了强大的功能

    58600

    Laravel 权限控制新选择:使用 Laravel-authz 集成 PHP-Casbin

    在 Laravel 项目开发中,权限管理是保证应用安全的关键环节。虽然 Laravel 自带了 Gate 和 Policy 授权机制,但在面对复杂权限需求时往往力不从心。...发布配置和迁移运行以下命令发布配置文件和执行数据库迁移:php artisan vendor:publishphp artisan migrate这将创建配置文件(config/lauthz.php 和...扩展用户提供器// 在AuthServiceProvider中Auth::provider('casbin', function($app, array $config) { return new...命令Laravel-authz 提供了方便的Artisan命令:# 给用户添加策略php artisan policy:add eve,articles,read# 给角色添加策略php artisan...命令无论你是构建小型项目还是复杂企业应用,Laravel-authz 都能提供可靠的权限管理支持。

    5910

    10个技巧优化PHP程序Laravel 5框架

    配置信息缓存 使用以下 Artisan 自带命令,把 config 文件夹里所有配置信息合并到一个文件里,减少运行时文件的载入数量: php artisan config:cache 上面命令会生成文件...路由缓存 路由缓存可以有效的提高路由器的注册效率,在大型应用程序中效果越加明显,可以使用以下命令: php artisan route:cache 以上命令会生成 bootstrap/cache/routes.php...在 production 环境中,参数 --force 不需要指定,文件就会自动生成。...要清除类映射加载优化,请运行以下命令: php artisan clear-compiled 此命令会删除上面 optimize 生成的两个文件。...自动加载优化 此命令不止针对于 Laravel 程序,适用于所有使用 composer 来构建的程序。此命令会把 PSR-0 和 PSR-4 转换为一个类映射表,来提高类的加载速度。

    5.7K20

    通过 Tinker 实现 Laravel 命令行交互式 Shell

    在原生 PHP 中,我们也可以使用类似的交互式 Shell,通过 php -a 命令即可: 此外,还可以通过 PsySH 实现,相较于原生的 php -a,PsySH 拥有更多高级特性,因此功能更加强大...Laravel Tinker 就是基于 PsySH 实现的,与 Artisan 主要用于编写和执行 Artisan 命令不同,通过 Tinker,我们可以在命令行中实现与 Laravel 应用的各种交互...在命令行中通过 php artisan tinker 即可进入 Laravel Tinker 的交互式 Shell。...查看帮助文档 在 Laravel Tinker 中,doc 命令可用于查看某个函数或方法的帮助文档,例如,我们想查看辅助函数 config() 如何使用,可以这么做: 就会将 config() 函数的文档信息打印出来...运行 Artisan 命令 此外,每次我们运行 php artisan tinker 就相当于从控制台启动了 Laravel 应用,在运行交互式命令前,tinker 命令会添加一些命令到 Shell,这些命令定义在

    2.1K30

    Laravel 非常规教程之0 引入篇

    老高又开始折腾laravel了 :-D (基于Laravel 5.2) 写在前面 此系列文章主要是记(瞎)录(扯)一些老高在研究 laravel 5.2 时的感悟。...常规教程在这里Laravel 5.2 中文文档,在此要十分感谢Laravel 学院!没有他laravel在国内也不会这么普及(老高)。...php artisan down 基础 你需要理解请求、路由等概念,具体还是先看官方文档吧 artisan命令行工具 灵活运用artisan命令行工具,可以帮你提高100%的效率!...不要怕这么多命令,多用就熟了。...这里抛砖引玉提一下,ORM这里常理来讲应该对应MVC中的M,意思是模型,用简单的话将,就是讲一张表映射成一个对象,这样理解是有误的,当业务复杂的时候,这样的定义就不在适用,需要引入一层新的业务层(名字随便

    1.1K40

    【MQ05】异常消息处理

    RabbitMQ死信队列 死信队列,其实就是在满足一定规则的前提下,将消息发送到指定的一个交换机队列中。...Redis 队列在 Laravel 框架中处理异常消息 好了,看完 RabbitMQ 的相关异常处理功能之后,我们马上会联想到,Redis 有这样的功能吗?...在 Laravel 中,异常的消息队列数据最后会保存到 MySQL 数据库中,我们需要执行数据迁移来创建表,使用下面这两个命令。...QUEUE_FAILED_DRIVER=null 任务错误处理 除了上面的失败处理之外,在 Laravel 中,还可以在出现错误的时候马上去执行一个方法,就像是失败事件后的回调函数一样。...接下来,我们再看两种常见的队列形式,分别是延时队列和优先级队列,它们在 RabbitMQ 和 Laravel+Redis 中的实现又是怎样的呢?

    39410
    领券