介绍phpLargon部署Laravel非常简单,只要了解PHP的一些组件即可。Largon的bin组件介绍Apache:老牌web服务器Cmder:命令行工具(Windows下的终端仿真器)Composer:PHP包管理器Git:分布式版本控制软件HeidiSQL:免费数据库管理工具(支持MySQL、MSSQL、Postgres)Laragon:一个平台用于管理开发环境提供的工具/服务Memcached:一个老牌的缓存系统MySQL:最流行的开源数据库系统Nginx:一个高性能的网络服务器Ngrok:一个安全的内网渗透工具(外网访问内网站点)。js:一个开源、跨平台的JavaScript运行环境,可以在服务器上运行JavaScriptNotepad++:一个支持各种编程语言的文本编辑器PHP:PHPPuTTY:一个免费且紧凑的SSH客户端Redis:持久化优化的键值对存储系统(可用于实现缓存、NoSQL、队列等)Sendmail:邮件发送代理软件TelnetWinSCP:免费SFTP&FTP客户端Yarn:NPM包managerlargon部署LaravelBeautifyURL的一些优点:使用app.test替换localhost/app可移植性:Laragon目录可以任意移动(不同磁盘,不同电脑,或云服务)与系统隔离:Laragon提供了一个与运行隔离的环境系统,从而保持系统干净易用:Laragon会自动为你完成复杂的底层配置,你可以轻松切换不同版本的PHP、Python、Java、MySQL、Nginx、MongoDB等。Modern&Powerful:Based在现代软件架构设计上,适合构建现代Web应用,很多日常琐事一键搞定。认识LargonLargon之前在一篇英文博客中有介绍,这里不再单独介绍。[[如何使用Laravel在本地开发Laravel应用程序]](https://segmentfault.com/a/11...)安装LaravelLargon的最大缺点是它只能供Windows用户使用。我们只需要到官网下载exe安装包,一路下一步就可以了。官网地址:https://laragon.org/download/访问数据库默认数据库为Laragon,用户名为root,密码为空字符串。点击“打开”按钮访问默认数据库:进入数据库连接界面:配置完成。Laravel项目可以在安装Largon后立即初始化。快速构建Laravel项目Windows系统右键点击界面右下角的图标,然后按照下面的提示自动构建项目。构建项目后,您可以使用:http://laravel.test。当然,如果你不喜欢Largon的自动配置,可以使用默认的方式,比如http://localhost/laravel/public/,直接查看相关资源链接。简单了解一下Laravel框架的入门流程。就个人而言,我对PHP一无所知。在这里,我阅读了一份社区文件。本文介绍了publicaccess下index.php的加载过程,即框架是如何初始化和引导的。Lararel框架执行过程详解(1)入口文件的导入大体流程如下:表面入口为public/index.php,内部代码导入bootstrap目录下的app.php。通过核心内核引导初始化。$app->make(Kernel::class)是核心启动方法。内核Kernel的主要工作:启动、处理请求、生命周期活动、获取实例。Laravel完成初始化工作。首先是进入app.php文件:$app=require_once__DIR__.'/../bootstrap/app.php';$kernel=$app->make(Kernel::class);require_once表示如果对应文件如果不存在,则会报错。require_once语句与**require**语句完全相同。唯一不同的是,PHP会检查文件是否被包含,如果是,则不会再次包含。然后我们可以看到Laravel的Kernel核心类,我们看它的类定义:interfaceKernel{/***BootstraptheapplicationforHTTPrequests.*提供HTTP请求的应用程序。*@returnvoid*/publicfunctionbootstrap();/***处理传入的HTTP请求。*处理一个http请求*@param\Symfony\Component\HttpFoundation\Request$request*@Compreturn\ponfationResponse*/publicfunctionhandle($request);/***执行请求生命周期的任何最终操作。*执行请求生命周期的任何最终操作。*@param\Symfony\Component\HttpFoundation\Request$request*@param\Symfony\Component\HttpFoundation\Response$response*@returnvoid*/publicfunctionterminate($request,$response/*Lara应用实例。*获取实例*@return\Illuminate\Contracts\Foundation\Application*/publicfunctiongetApplication();}“内核”类做了四件事:引导、处理请求、生命周期活动和获取实例关键行为。内核类位于Illuminate\Contracts\Http\Kernel包中。我们可以通过var_dump或者下面的方法打印出对象实例化后的内部属性。当然,你也可以在不使用IDE或插件的情况下,阅读文末的一些优雅的DEBUG方法(请看文末“Extensions:PHP'sDebugTipssection”)。提示:我搭建的laravel项目名字叫laravel,所以Largon配置为laravel.test。但是因为刚开始接触Laravel,不知道自己的把戏在哪里。在打印的结果中,我们可以列出一些比较重要的属性:middlewaremiddlewareGroupsrouteMiddlewareapprouterbootstrappersmiddlewarePriority重点关注app属性,它其实是一个Illuminate\Foundation\Application实例,这个实例包含了很多属性值,选择主要内容:loadedProvidersbindingsinstancesaliases来完成属性和初始化工作,框架初始化代码会继续调用内核类的handle方法,并传入一个request请求,request请求继承SymfonyRequest,并调用一个capture方法,然后将返回值返回给响应变量。因为内部逻辑复杂,所以整个过程基本到这里就结束了。这个过程更像是Tomcat的请求处理过程,或者说大部分的web进程一般都是做这几件事情。当然,这些框架不是三言两语能说清楚的。内核类做了一系列的验证。分发、处理,包括表单验证、中间件、日志记录、调用控制器、查询数据等。好了,到这里就结束了,如果想深入了解,可以从这里开始vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php作为入口继续扩展。常见问题quick.app无法快速创建项目,比较简单但容易被忽视。Largon实际上使用composer来快速构建项目。如果本地composer--version找不到对应的配置,就会报错。构建完成后,如果您看到以下内容,则表示您已正确下载并部署了项目:*****注意:现在,您可以为您的awesome项目使用漂亮的url:)*****--------------------------------------------------(拉贡)项目路径:E:/adongstack/company/php/laragon/www/laravel(Laragon)漂亮的url:http://laravel.test这里Largon应该提供更好的URL访问效果:http://laravel.test。这些是它附带的规则。Couldnotfindpackagelaravel-laravelwithstabilitystable个人单独使用Composer部署时遇到如下错误:Creatinga"laravel/laravel"projectat"./test"InCreateProjectCommand.phpline424:Couldnotfindpackagelaravel/laravel具有稳定性stable.create-project[-s|--stabilitySTABILITY][--prefer-source][--prefer-dist][--prefer-installPREFER-INSTALL][--repositoryREPOSITORY][--repository-urlREPOSITORY-URL][--add-repository]??[--dev][--no-dev][--no-custom-installers][--no-scripts][--no-progress][--no-secure-http][--keep-vcs][--remove-vcs][--no-install][--no-audit][--audit-formatAUDIT-FORMAT][---ignore-platform-reqIGNORE-PLATFORM-REQ][--ignore-platform-reqs][--ask][--]['.var_export($data,true).'
';第二种方法可以高亮一些内容:highlight_string("");当然,其他人给出了更简洁的写法。效果类似:var_dump(highlight_string("\n".var_export($data,true)));第三种方法适合使用原始var_dump的开发者,可以使用Print_r()方法优化:echo'';var_dump($data);echo'
';请注意,echo、var_export和highlight_string都是php函数,需要位于块内。注意等代码块必须卸载才能生效。顺便放个老外的吐槽:靠!15年来我一直在使用PHP而我现在才看到这个???如果读者对此感兴趣,可以直接复制粘贴到public\index.php中进行调试,查看Kernel中熟悉的方法://第一种方法适合喜欢复制/粘贴代码的人//echo''。var_export($kernel,true)。'
';//第二种方法:高亮内容//highlight_string("");//第三种方法://echo'';//var_dump($kernel);//echo'
';总结Largon非常好用,Laravel项目更容易在Largon中部署。
