我是学习了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这种解释性语言没法打断点调试,只能是看官方文档了
那咋们就从index.php中的autoload.php看起吧,
Composer 提供了一个方便的、自动生成的类加载器(注册自动加载)
require __DIR__.'/../vendor/autoload.php';
有些小伙伴可能要问了 这个自动加载器到底是用来干啥的,我之前也不知道看了 www.cnblogs.com/chihuobao/p/989520...
才知道,其实就是之前我们经常使用到的 require 和include的功能,相当于把他两给封装了看起来代码整洁优雅了,把需要注册的类交由这个加载器来完成注册,有点像c#中的依赖注入,其实它就是专门来造(实例化)对象的
不知道这样解释对不对
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: