时光

时光的时光轴

寄以时间,予以文字
telegram
github
微信公众号

GPT应用实战:升级Laravel应用

难以想象,我在日常生活中已经离不开 Copilot 和 ChatGPT 了,它们打的一套组合拳实在是安逸的不行,我写简单的程序时基本就是打完注释,然后一直TAB一直TAB,遇到问题,复制报错给 GPT,然后根据回复搜搜资料,然后继续下一个程序。

我认为这对资本家是及其利好的日常编程是非常节省时间的。但是在开始之前,也需要阐明我的观点:

人工智能只能辅佐,它只能帮助你学习。帮助你在本来已经涉猎的领域走的更好。

正巧手头有一个项目,闲来无事想把它的框架从Laravel6升级到Laravel9,跨了几个大版本,如果按照以往,基本只能选择 6、7、8、9 一步一步来,不过这次我倒想看看能否借助人工智能,帮助完成这一步到位的任务。

先设定一个 Prompt#

在将相关依赖调整 / 替换至适配 Laravel9 的版本后,我遇到的第一个问题就是白屏

按照惯例,先看日志,但是很奇怪,Laravel 自带的日志没生成,Nginx 也没报错,反正就是啥也不输出。想着有没有可能是缓存的问题,便执行php artisan cache:clear,收到了一个报错:

Call to undefined method App\Exceptions\Handler::render()

跟着找了一下,是绑定错误事件的代码出了问题,我尝试问它,两个版本有什么区别,它告诉我Exceptions类已经替换为Throwbale类了。

那我能不能试着一股脑都丢给它?

image

image

复制粘贴替换,跑通了!这个你别说,你还真别说!

然后跟着第二个错误是:

Undefined constant Illuminate\Http\Request::HEADER_X_FORWARDED_ALL

补充一点告诉它我要做什么:

image

按照给出的答案,替换变量就行。

不过从这里你要能感觉到,一般会在路由类里直接在文件头就把Illuminate\Http\Request使用上了,死板替换是不可取的

运气好,直接进安装界面了:

image

记录调试过程#

简单的报错#

调试的过程遇到一个删文件时的参数不应该提供null的问题,我看了一下代码,发现是之前写的不严谨,没有做是否传入了文件的判断,加上就行。

image

为产品做翻译#

改着改着发现之前多语言的英文弃坑了,没覆盖全,便来试试能不能让它完成这件事。

我只能说,省力省钱。但是不是很省时。

为什么呢?

image
image

刚开始,你一看,哎哟看起来不错,但是一旦内容过长

image

当你说继续让它继续输出的时候,就开始自己编故事了,这一段输出出来的内容是我源文件没有的。

并且代码格式并不会原封不动,偶尔会出现丢弃的情况。不过好在翻译质量真的不差,并且保留了变量格式,这真的是太安逸了。

在文件头写上

The file was created by outtime and aided with ChatGPT.

代表我偷懒了。(这句话也是它给的)

增加一个多选框#

image

image

别说了,真的有人会不喜欢这种感觉吗?

这算是我除了让它帮我写文案之外,第一次用它来帮我完成代码。之前也看到过很多朋友分享他们用 GPT 来完成项目大部分代码的经历,但是我总担心完全生成出来的代码,应用到产品时问题会比自己写的还要多。

不过就:在搜索引擎搜索半天都总结不出一条可用的代码,将自己的需要告诉GPT等个几秒就出来可用的代码的这种体验,我只能说太看得起自己了😂

这是未来每个人都必须掌握的工具

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。