企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## **创建一个新的Laravel项目** 正如[官方文档](https://laravelacademy.org/post/9528.html)所言,有两种方式可以创建一个新的 Laravel 项目(请确保系统已经安装过 PHP 和 Composer),这两种创建方式都是从命令行执行的:第一种是通过全局的 Laravel 安装器,另一种是通过 Composer 的`create-project`命令。 ### **使用 Laravel 安装器安装** 安装 Laravel 安装器很简单,在命令行执行以下命令即可(如果已经安装过,会自动进行更新): ~~~ composer global require laravel/installer ~~~ 安装完成后,后续就可以通过`laravel new [项目名称]`来创建新的 Laravel 项目了。 ### **使用 Composer create-project 命令安装** 除此之外,还可以通过 Composer 自带的`create-project`命令来安装新应用: ~~~ composer create-project laravel/laravel blog --prefer-dist ~~~ 效果和上面使用安装器安装的一样,使用这个方式安装的一个好处是可以安装指定版本的 Laravel 项目,比如安装 5.6 版本的项目`blog56`可以这么做: ~~~ composer create-project laravel/laravel blog56 5.6.* --prefer-dist ~~~ ## **Laravel应用的目录结构** 安装完成后,我们来看一下新安装 Laravel 项目`blog`的目录结构: ![](https://img.kancloud.cn/e7/d7/e7d799fdf83b98c52f29f6e5b1d03dfd_1738x1252.png) > 注:更多关于目录结构的信息,可参考[官方文档](https://laravelacademy.org/post/9529.html)。 ### **配置** Laravel 应用的一些核心配置,比如数据库、队列、邮件等,都位于`config`目录下,通过配置文件名称就可以很直观地甄别出不同的服务配置。这些配置文件都会返回一个数组,数组中的每个值都可以通过配置键获取(配置键以配置文件名为前缀,以「.」号分隔数组层级),例如,如果你在`config/services.php`中定义了如下配置: ~~~ // config/services.php return [ 'sparkpost' => [ 'secret' =>env('SPARKPOST_SECRET'), ], ]; ~~~ 然后,你就可以通过`config('services.sparkpost.secret')`来访问配置值。 如上例所示,所有的因环境而异的变量配置值(尤其是敏感信息)都应该存放到根目录下的`.env`环境变量文件中: ~~~ SPARKPOST_SECRET = xyj_laravelacademy.org ~~~ 然后在配置文件中通过`env()`辅助函数传入键名`SPARKPOST_SECRET`来获取,这样做有两个好处:一是将敏感信息存放到版本控制系统(如 Git、Svn)之外,提高了系统的安全性;此外还可以方便我们在不同环境中(每个环境有自己独立的`.env`文件)使用不同的配置值,提高了代码的复用性和灵活性。 > 注:更多配置信息请参考[官方文档](https://laravelacademy.org/post/9528.html#toc_2)。 ## **运行** 安装好 Laravel 项目,了解了目录结构及其作用,以及如何对项目进行配置后,我们就可以运行这个应用了。我们以 Valet 为例,通过配置项目域名为`blog.test`,在浏览器中访问`http://blog.test`,即可看到应用首页。 ![](https://img.kancloud.cn/c0/25/c025511ad970e02cf72136c48f137671_1518x604.jpeg) 此外,Laravel开箱提供了基于PHPUnit进行单元测试和功能测试的功能,并且为我们做好了基础配置(`phpunit.xml`)和示例代码(位于`tests`目录下),由于本节并没有编写任何代码,所以可以通过以下命令运行示例测试: ~~~ ./vendor/bin/phpunit ~~~