我作为 Laravel 实习生的旅程

我作为 laravel 实习生的旅程

通过塔米·阿莱姆

嗨,我是塔米·阿莱姆。让我带您经历作为 Laravel 实习生的激动人心的旅程。我的目标是获得行业经验,编写可读的代码,并深入理解框架。以下是这一切的经过,以及我面临的挑战和我一路上找到的解决方案。

在实习期间,我有三个主要目标:

行业经验:在专业环境中获得实践经验。

可读代码:编写干净、可维护且可读的代码。

框架理解:深入了解 Laravel 框架。

开发环境

我的旅程从设置开发环境开始。在这次实习之前,我使用前端架构与后端进行交互,要么通过 Blade 视图,要么通过与 Vite 捆绑的 JavaScript。所以,我并没有真正看到建立 CORS 之类的必要性。然后,我被介绍给了 Postman —— 哇,真是一个改变游戏规则的人!

邮递员

Postman 帮助我设置和编辑 HTTP 请求、传递参数和值以及管理身份验证和不记名令牌。这拓宽了我对后端结构及其工作原理的理解。查看原始形式的数据并直接对其进行操作令人大开眼界。我发现看似复杂的后端操作比我最初想象的要简单。

作曲家

Composer 是另一个重要的工具。我用它来安装软件包并严格遵守 PHP PSR-4 格式标准。当我严格地说时,我是认真的!哈哈。当我不遵循标准时,我遇到了错误,例如生成文档并意识到由于模型和表的额外空格或不正确的命名约定而在命名空间中出现错误。

项目设置

设置项目涉及几个关键步骤:

存储库管理

克隆存储库和设置我的环境一开始是相当困难的 — 哈哈,真是一段旅程!有人向我介绍了 scribe:generate,这是一个生成文档的包。起初,我的反应是:“什么?!”运行特定类别的播种机是另一个挑战。与普通播种器相比,我不明白它们的用途,直到我意识到 php artisan db:seed –class=…Seeder 直接运行特定的播种器类,对于单独播种特定的表或数据集很有用。

模型和数据处理

我强调了向模型和指定数据类型添加新属性时所需的参数。熟悉数据序列化和格式响应转换至关重要。我还学会了使用包含和默认包含来格式化特定数据,以及使用解析包含来将数据添加到响应中。

急切加载

预加载是我学到的美丽的事情之一。预加载不是在循环内执行新的 SQL 查询的延迟加载,而是执行单个查询来加载所有必要的数据。 with 助手对于高效的数据库查询至关重要,这让我研究了 Laravel 中可用的漂亮助手,它带来了多么大的变化!

查询范围和构建器

我使用控制器可用的查询范围来获取数据,然后再进行转换。查询构建器也成为我简化数据检索的首选。

控制器

控制器处理各种请求类型(GET、POST、UPDATE)的基本逻辑。我学会了为 Scribe 文档编写端点和清晰的注释。使用操作将可重用代码提取到不同的控制器中,确保了干净的代码结构。在使用数据库时实现 try-catch 方法是另一个宝贵的教训。

浏览量

虽然没有广泛使用,但视图主要用于格式化邮件响应。

API开发

我学会了按照 RESTful 原则设计和实现 API,并使用 Laravel 内置的日志工具和 Postman 对其进行了测试。

这些知识进一步促使我构建和使用 Laravel 社交名流,集成 google auth 进行登录以及使用 Laravel sainttum,这些都在我的 GitHub 个人资料上。

挑战与解决方案

挑战

理解代码库最初很困难,特别是因为 Postman 中没有可用的收集路线。我必须构建它们并理解结构,这有时需要额外的参数并减慢了我的开发过程。

我浅薄的 PHP 基础知识也影响了我的进步,导致我在任务上花费了额外的时间。

解决方案

为了克服这些挑战,我专注于学习基础知识,并通过在分配的任务之外的单独分支上工作进行练习。我深入了解 PHP,获取了诸如“Programming with GIO”、“PHP the Right Way”和 Laracasts  等资源 – 强烈推荐它们!

不记语法也没关系。哈哈,像这样的情况,我都是参考文档。阅读文档可以拓宽您对特定主题的理解。

总的来说,我与团队的合作经历非常棒。除了提供付费职位外,他们还提供理解和构建应用程序的帮助。与我合作的团队解释了要实现的任务,并在解决我面临的挑战时给出快速响应。

以上就是我作为 Laravel 实习生的旅程的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1316182.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
学php需要哪些软件
上一篇 2025年12月12日 01:12:58
thinkphp如何注销登录
下一篇 2025年12月12日 01:13:08

相关推荐

  • composer require-dev和require有什么不同_Composer Require与Require-Dev区别解析

    require用于声明项目运行必需的依赖,如框架、数据库组件和第三方SDK,这些包会随项目部署到生产环境;2. require-dev用于声明仅在开发和测试阶段需要的工具,如PHPUnit、PHPStan、Faker等,不会默认部署到生产环境;3. 安装时composer install根据环境决定…

    2026年5月10日
    1000
  • 开源免费PHP工具 PHP开发效率提升利器

    推荐开源免费PHP开发工具以提升效率:VS Code、Sublime Text轻量高效,PhpStorm专业强大;调试用Xdebug、Kint、Ray;依赖管理选Composer;代码质量工具包括PHPStan、Psalm、PHP_CodeSniffer;数据库管理可用%ignore_a_1%MyA…

    2026年5月10日
    000
  • 谷歌浏览器如何截图 谷歌浏览器页面截图技巧

    谷歌浏览器如何截图 谷歌浏览器页面截图技巧谷歌浏览器如何截图 谷歌浏览器页面截图技巧谷歌浏览器如何截图 谷歌浏览器页面截图技巧谷歌浏览器如何截图 谷歌浏览器页面截图技巧

    使用谷歌浏览器的开发者工具截图步骤:1. 按ctrl+shift+i(windows/linux)或cmd+option+i(mac)打开开发者工具。2. 点击右上角三个点,选择”更多工具”,再选择”截图”。3. 选择截取整个页面。推荐的谷歌浏览器扩展…

    2026年5月10日 用户投稿
    100
  • PHP多维数组到复杂XML结构的SOAP序列化实践

    本文旨在解决php多维数组向复杂soap xml结构序列化时遇到的“无法序列化结果”问题。通过深入理解soap xml的结构要求,包括命名空间和类型属性,文章将指导您如何构建符合特定xml schema的php关联数组。我们将利用`spatie/array-to-xml`库,详细演示其安装与使用方法…

    2026年5月10日
    100
  • JavaScript计算器开发:解决数值显示与初始化问题

    本教程深入探讨了使用JavaScript构建计算器时常见的数值显示异常问题,特别是由于类属性未初始化导致的`Cannot read properties of undefined`错误。我们将详细分析问题根源,并通过在构造函数中调用初始化方法来解决该问题,同时优化显示逻辑,确保计算器功能稳定且界面显…

    2026年5月10日
    000
  • NextAuth getToken 在服务端返回 null 的问题排查与解决

    问题描述 在使用 Next.js 和 NextAuth 构建应用程序时,有时需要在服务端获取用户的身份验证信息。getToken 函数是 NextAuth 提供的一个便捷方法,用于从请求中提取 JWT (JSON Web Token)。然而,在某些情况下,尤其是在使用 getServerSidePr…

    2026年5月10日
    000
  • HTML文档如何工作?如何编辑HTML格式文件?

    HTML文档如何工作?如何编辑HTML格式文件?HTML文档如何工作?如何编辑HTML格式文件?HTML文档如何工作?如何编辑HTML格式文件?HTML文档如何工作?如何编辑HTML格式文件?

    浏览器解析和渲染html的过程包括:1. 解析html构建dom树;2. 结合css构建渲染树;3. 布局计算元素位置;4. 绘制像素到屏幕。编辑html可使用记事本、vs code、sublime text等文本或代码编辑器,其中vs code因语法高亮、自动补全和插件生态成为主流选择。标准htm…

    2026年5月10日 用户投稿
    100
  • GolangWeb项目异常捕获与日志记录

    答案:通过中间件使用defer和recover捕获panic,结合zap等结构化日志库记录请求链路信息,为每个请求生成trace ID,实现异常捕获与可追踪日志,提升系统稳定性与可观测性。 在Go语言Web项目中,异常捕获与日志记录是保障系统稳定性和可维护性的关键环节。Go本身没有像其他语言那样的t…

    2026年5月10日
    100
  • Python官网用户调查的参与方式_Python官网反馈提交详细教程

    答案是通过访问Python官网新闻页面、邮件邀请链接或GitHub仓库提交反馈。具体为:访问官网查找用户调查公告,或点击邮件中的专属链接参与,在GitHub的cpython仓库提交技术建议,并注意如实填写问卷与保护隐私。 如果您希望参与Python官网的用户调查并提交反馈,可以通过官方指定的渠道完成…

    2026年5月10日
    300
  • Go语言连接外部MySQL数据库:DSN配置与常见错误解析

    本文详细阐述了go语言使用`go-sql-driver/mysql`驱动连接外部mysql数据库的正确方法。重点介绍了数据源名称(dsn)的规范格式,特别是主机地址部分的配置,以避免常见的“getaddrinfow: the specified class was not found.”等网络解析错…

    2026年5月10日
    000
  • Tensorflow 音乐预测

    在本文中,我展示了如何使用张量流来预测音乐风格。在我的示例中,我比较了电子音乐和古典音乐。 你可以在我的github上找到代码:https://github.com/victordalet/sound_to_partition i – 数据集 第一步,您需要创建一个数据集文件夹,并在里面…

    2026年5月10日
    000
  • 深入理解 Laravel Session::put:避免常见陷阱与实现表单限流

    本文旨在深入探讨 laravel 框架中 `session::put` 方法的正确用法及其常见误区。针对用户在实现表单提交限流时遇到的问题,详细阐述了 `session::put` 必须提供键值对的原理,并提供了如何在控制器中利用会话机制有效防止重复提交的实战代码示例。通过本文,读者将掌握 lara…

    2026年5月10日
    000
  • Voyager 中关联关系的翻译问题解决方案

    本文档旨在解决在使用 TCGVoyager 管理后台时,关联模型无法正确翻译的问题。主要针对 Laravel 项目中,使用 Voyager 1.4 版本以及 Laravel 8.0 版本,并且已经配置多语言支持的情况下,如何确保关联关系中的可翻译字段能够根据当前应用语言环境进行正确翻译。通过修改 B…

    2026年5月10日
    000
  • 学习了Python的Flask后,Go语言的Web框架该选Gin还是Beego?

    学习编程时,选择合适的框架至关重要。许多开发者在掌握Python Flask后,转向Go语言Web开发时,常常在Gin和Beego之间难以抉择。本文将深入分析,助您做出明智选择。 虽然网上搜索结果多建议使用Go原生标准库http,但实际上所有框架都是对http的封装。虽然使用http开发灵活,但工作…

    2026年5月10日
    000
  • JavaScript动态下拉菜单:实现日期选项与价格计算关联

    在现代web应用中,动态生成表单元素并使其具备交互逻辑是常见的需求。特别是在需要根据用户选择调整价格或服务参数的场景下,下拉菜单()常被用来展示一系列选项。本教程将指导您如何利用javascript动态生成一个包含日期选项的下拉菜单,并为每个选项关联一个具体的数值(如剩余天数),进而实现一个基于用户…

    2026年5月10日
    000
  • 如何在不暴露密钥的情况下,在客户端创建 Stripe Payment Link

    本文介绍了在纯静态网站环境下,如何利用 Stripe Payment Link 实现商品售卖,并着重讨论了在不暴露 Stripe 密钥的前提下,客户端创建 Payment Link 的可行性。分析了直接在客户端使用密钥的风险,并提出了预先生成 Payment Link 或使用后端服务动态生成 Pay…

    2026年5月10日
    000
  • php怎么截取网页_php抓取网页内容的几种方法

    file_get_contents适用于静态页抓取,但受限于allow_url_fopen且无法执行JS;2. cURL支持自定义请求头、Cookie等,适合处理复杂HTTP请求;3. Guzzle作为现代PHP项目推荐方案,具备良好扩展性与异步支持;4. 动态渲染内容需借助Puppeteer或Se…

    2026年5月10日
    000
  • 解决Go语言中GOPATH未设置错误及工作区配置指南

    本文旨在解决go语言开发中常见的“gopath not set”错误,并提供详细的go工作区配置指南。内容涵盖`gopath`环境变量的设置、go项目目录结构、`path`变量的扩展,以及一些高级配置技巧,旨在帮助开发者建立一个高效、规范的go开发环境,确保包的下载、编译和运行顺利进行。 Go语言在…

    2026年5月10日
    000
  • 掌握 JavaScript 中的高阶函数

    现代 javascript 开发严重依赖函数式编程,掌握其基本思想将极大提高你的编码能力。 高阶函数是这个范式最有力的武器之一。为了帮助您掌握它们,本文将介绍它们的定义、应用程序和独特的实现。 1. 函数式编程 函数式编程是一种编程范式,强调: 纯函数:没有副作用的函数,对于相同的输入返回相同的输出…

    2026年5月10日
    000
  • Golang使用assert库简化测试断言

    使用testify/assert库可提升Go测试代码的可读性和效率,通过go get github.com/stretchr/testify/assert安装后导入包,用assert.Equal等函数替代冗长的手动判断,支持丰富断言方法如Equal、True、Nil、Contains等,并可添加自定…

    2026年5月10日
    100

发表回复

登录后才能评论
关注微信