我是学习了c#(不算精通),又转战php的,看了下php的框架laravel,感觉这个作者也太牛了

今天是我学习和使用laravel的第三天,因为我使用的是windows系统,感觉上手应该很容易啊,没想到装个环境就快把人给整疯了,看了官方文档说安装这个(laragon-portable)上手比较快,我就装了,后来发现这个里面装的各种扩展我都装了端口冲突,连服务都跑不起来(mysql和nginx),最后迫于无赖我把它删除掉了

然后继续找寻在windows下laravel怎么安装的解决方案,最后找到了,是不断的通过看别人写的博客和文章才知道,没有必要搞全家桶这个(laragon-portable)工具

解决方案如下:小白可以参考下

  • 1.直接从php官网下载最新的php安装包

  • 2.下载composer包管理器并安装,安装时注意关联第一步中的php

  • 3.然后使用composer安装laravel管理器,当然你也可以不用安装laravel管理器,直接使用composer来创建laravel项目也是可以的

  • 4.关于(启动项目)使用php artisan serve 这个命令的时候务必在已经新建好的laravel项目目录中去执行,程序启动之后默认8000端口,你自己可以在启动的时候指定也是可以的,例如:

    php artisan serve --host 127.0.0.1 --port 9001
  • 5.程序加载文件执行过程说明和问题

    • a.我用process explorer看了下我启动服务的进程是有php承载的我安装的php版本是8.1,但是例如像c#发布服务都是寄宿于iis或者kestrel服务器,但是我确实没有搞懂这个php的内置服务器是由什么服务来提供服务的
    • b.服务启动时会首先加载项目的根目录下的server.php,然后server.php中的代码会执行根目录文件夹public中的index.php,对于初学者来说先止步于这里,如果你想了解运行原理就必须去学习php的相关知识了(依赖注入 中间件 设计模式等等)都需要有一个大致的了解了才能去理解源码,理解作者的思路和架构

c#可以通过断点调试看源代码,貌似像php这种解释性语言没法打断点调试,只能是看官方文档了:joy: :joy:
那咋们就从index.php中的autoload.php看起吧,

Composer 提供了一个方便的、自动生成的类加载器(注册自动加载)

require __DIR__.'/../vendor/autoload.php';

有些小伙伴可能要问了 这个自动加载器到底是用来干啥的,我之前也不知道看了 www.cnblogs.com/chihuobao/p/989520...

才知道,其实就是之前我们经常使用到的 require 和include的功能,相当于把他两给封装了看起来代码整洁优雅了,把需要注册的类交由这个加载器来完成注册,有点像c#中的依赖注入,其实它就是专门来造(实例化)对象的

不知道这样解释对不对

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 29

如果你学GO,你才知道,大家为什么放弃PHP,转投GO了!哈哈

2年前 评论
wwzorz (楼主) 2年前
Complicated

你这个也是麻烦了,一般不用 php artisan serve ,下个phpstudy,新建一个网站,把根目录指向 laravel public就可以了,1 2分钟就把框架跑起来了

2年前 评论
李轻水 2年前
wwzorz (楼主) 2年前
yangweijie 2年前
Diudiuuuu 2年前

搜索下小皮面板,wamp环境,分分钟搞定,再转个composer,15分钟就能启动一个laravel项目

2年前 评论
wwzorz (楼主) 2年前

用 docker 吧

2年前 评论
wwzorz (楼主) 2年前

刚开始直接用集成环境吧, 推荐 Laragon, 我现在用 WLS2+Ubuntu20.04 apt装的环境

2年前 评论
wwzorz (楼主) 2年前
kindiaing 2年前

php artisan serve 最快。

2年前 评论
wwzorz (楼主) 2年前

windows 继承环境直接用 Laragon

2年前 评论

wamp, phpstudy集成环境很多,docker也是可以的。

依赖注入 中间件 设计模式这些不是PHP特有的,也不是laravel特有的

打断点调试要装xdebug扩展

composer也是一个包管理器

p.s. 这发帖的格式也是挺清奇的

2年前 评论
wwzorz (楼主) 2年前

php 不单单 在laravel 中可以实现端口监听,在任意的php文件都可以的,执行 php -S localost:8000 默认执行index.php 文件

2年前 评论
wwzorz (楼主) 2年前

用宝塔是最快的,相信我,,,

最近写了几个月的 java spring boot,环境,断点这块,java 确实更方便,,

打开 IDEA,选择一个 JDK,之后就等完成。

启动项目,断点随便打,随便请求就能断了,,

2年前 评论
yangweijie

win下 phpenv 是最简单的,php nginx apache 多版本随便切 自动修改host

2年前 评论
wwzorz (楼主) 2年前

巧了,无聊正在学习C#

2年前 评论
wwzorz (楼主) 2年前

你可能不知道,laravel的作者之前就是搞C#的

2年前 评论
wwzorz (楼主) 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!